API DrView

Integre todos os módulos do DrView em suas aplicações com nossa API RESTful completa

30ms
Latência Média
99.99%
Disponibilidade
150+
Endpoints
5M+
Requisições/dia

Introdução

A API DrView permite integração completa com todos os módulos do sistema, incluindo gestão de pacientes, agendamentos, prontuário eletrônico, faturamento e muito mais.

URLs Base por Módulo

ENDPOINTS
https://api.drview.com.br/v1          # API Principal
https://login.drview.com.br/api       # Autenticação
https://pay.drview.com.br/api         # Gateway de Pagamento
https://diags.drview.com.br/webhook   # Webhooks de Laboratórios
https://farma.drview.com.br/api       # Integração Farmácias

Exemplo de Requisição

CURL
curl -X GET https://api.drview.com.br/v1/pacientes \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Clinic-ID: CLINIC_UUID" \
  -H "Content-Type: application/json"

Autenticação

O DrView usa autenticação OAuth 2.0 com certificado digital ICP-Brasil para operações sensíveis.

HEADERS
Authorization: Bearer YOUR_ACCESS_TOKEN
X-Clinic-ID: YOUR_CLINIC_UUID
X-Certificate: BASE64_CERTIFICATE (para operações sensíveis)

Obter Token de Acesso

POST /auth/token

Autentica usando CPF/CNPJ e senha ou certificado digital.

JSON
{
  "cpf_cnpj": "12345678900",
  "password": "senha_segura",
  "clinic_id": "uuid-da-clinica",
  "grant_type": "password"
}

Pacientes

GET /pacientes

Lista todos os pacientes da clínica com paginação.

Parâmetros
Nome Tipo Obrigatório Descrição
page integer Não Página (padrão: 1)
per_page integer Não Itens por página (max: 100)
search string Não Busca por nome ou CPF
Resposta
JSON
{
  "data": [
    {
      "id": "pac_uuid_123",
      "nome": "João Silva",
      "cpf": "123.456.789-00",
      "data_nascimento": "1985-03-15",
      "telefone": "(11) 98765-4321",
      "email": "joao@email.com",
      "convenio": {
        "nome": "Unimed",
        "numero_carteira": "123456789"
      },
      "alergias": ["Dipirona", "Penicilina"],
      "ultimo_atendimento": "2024-01-15T14:30:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 10,
    "total_items": 245,
    "per_page": 25
  }
}
POST /pacientes

Cadastra um novo paciente no sistema.

JSON
{
  "nome": "Maria Santos",
  "cpf": "987.654.321-00",
  "data_nascimento": "1990-07-20",
  "sexo": "F",
  "telefone": "(11) 91234-5678",
  "email": "maria@email.com",
  "endereco": {
    "cep": "01310-100",
    "logradouro": "Av. Paulista",
    "numero": "1000",
    "bairro": "Bela Vista",
    "cidade": "São Paulo",
    "uf": "SP"
  }
}

Agendamentos

POST /agendamentos

Cria um novo agendamento de consulta.

JSON
{
  "paciente_id": "pac_uuid_123",
  "profissional_id": "dr_uuid_456",
  "data_hora": "2024-02-01T14:00:00Z",
  "tipo_atendimento": "presencial",
  "duracao_minutos": 30,
  "convenio": true,
  "observacoes": "Primeira consulta",
  "enviar_lembrete": true
}
GET /agendamentos/disponibilidade

Verifica horários disponíveis para agendamento.

Prescrições

POST /prescricoes

Cria uma prescrição digital assinada com certificado ICP-Brasil.

JSON
{
  "paciente_id": "pac_uuid_123",
  "atendimento_id": "atd_uuid_789",
  "medicamentos": [
    {
      "nome": "Amoxicilina 500mg",
      "posologia": "1 comprimido de 8/8h por 7 dias",
      "quantidade": "21 comprimidos"
    }
  ],
  "enviar_farmacia": true,
  "farmacia_id": "farm_uuid_321",
  "assinatura_digital": "base64_signature"
}

Webhooks

Configure webhooks para receber notificações em tempo real sobre eventos do sistema.

Eventos Disponíveis:
  • patient.created - Novo paciente cadastrado
  • appointment.scheduled - Consulta agendada
  • appointment.confirmed - Consulta confirmada via WhatsApp
  • exam.result - Resultado de exame disponível
  • payment.received - Pagamento processado
  • prescription.sent - Receita enviada para farmácia
JSON
{
  "event": "exam.result",
  "timestamp": "2024-01-20T10:30:00Z",
  "data": {
    "patient_id": "pac_uuid_123",
    "exam_id": "exam_uuid_456",
    "lab_id": "lab_uuid_789",
    "status": "ready",
    "download_url": "https://diags.drview.com.br/results/exam_uuid_456"
  },
  "signature": "hmac_sha256_signature"
}

Rate Limits

Limites de requisições por plano para garantir a qualidade do serviço.

Limites por Plano:
  • Consultório: 1.000 requisições/hora
  • Clínica: 5.000 requisições/hora
  • Hospital: Sem limite (fair use)

Headers de resposta com informações de limite:

HEADERS
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4998
X-RateLimit-Reset: 1640995200

SDKs e Bibliotecas

Acelere sua integração com nossos SDKs oficiais.

PHP
v3.2.0
JavaScript
v3.1.0
Python
v3.0.5