Pular para conteúdo
Postman

SDK API

API para obtenção de tokens de autenticação do SDK MediQuo.

Importante: Cadastro de Pacientes

O cadastro de pacientes NÃO é feito através desta API. Os pacientes devem ser cadastrados via API ID MediQuo.

Consulte: Pacientes - ID MediQuo

URL Base: https://sdk.mediquo.com/v1


Visão Geral

A SDK API tem uma única responsabilidade: gerar tokens de autenticação para pacientes já cadastrados no ID MediQuo.

Função Descrição
Gerar Token Cria um token JWT para inicializar o SDK no frontend

Separação de Responsabilidades

  • ID MediQuo: Gestão de clientes, licenças e pacientes (backend)
  • SDK API: Geração de tokens para o frontend
  • SDK: Interface de telemedicina (frontend)

Autenticação

Todas as requisições devem incluir os headers de autenticação:

Header Descrição
X-API-Key Sua chave de API do SDK
X-Secret-Key Sua chave secreta do SDK

Credenciais Diferentes

As credenciais do SDK podem ser diferentes das credenciais do ID MediQuo. Consulte sua equipe de suporte para obter as credenciais corretas.


POST /patients/{licenceId}/token

Gera um token de autenticação para o paciente acessar o SDK.

Pré-requisitos

Antes de gerar o token, o paciente deve estar cadastrado via ID MediQuo:

  1. Criar cliente via Clientes
  2. Criar licença via Licenças
  3. Criar paciente via Pacientes - você receberá o licenceId

Parâmetros do Path

Nome Tipo Obrigatório Descrição
licenceId string sim ID da licença do paciente (obtido no cadastro via ID MediQuo)

Cabeçalhos

Header Valor
X-API-Key Sua chave de API do SDK
X-Secret-Key Sua chave secreta do SDK

Exemplo de Requisição

Bash
curl -X POST https://sdk.mediquo.com/v1/patients/lic_abc123xyz/token \
  -H "X-API-Key: sua_api_key_sdk" \
  -H "X-Secret-Key: sua_secret_key_sdk"

Resposta de Sucesso

Status Code: 200 OK

JSON
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expires_at": "2025-01-28T10:00:00.000Z"
}
Campo Tipo Descrição
token string Token JWT para inicializar o SDK
expires_at string Data de expiração do token (ISO 8601)

Próximo Passo

Use este token para inicializar o SDK no frontend da sua aplicação.

Respostas de Erro

Código Descrição
401 Credenciais inválidas
404 Paciente/Licença não encontrado

Exemplo de Erro:

JSON
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Paciente não encontrado"
  }
}

Fluxo Completo de Integração

O diagrama abaixo mostra o fluxo completo desde o cadastro do paciente até o uso do SDK:

sequenceDiagram
    participant Backend as Seu Backend
    participant ID as API ID MediQuo
    participant SDK_API as SDK API MediQuo
    participant App as Frontend (App/Web)
    participant SDK as SDK MediQuo

    Note over Backend,ID: Etapa 1: Cadastro (uma única vez)
    Backend->>ID: POST /patients (cadastra paciente)
    ID-->>Backend: Retorna paciente com licenceId
    Backend->>Backend: Armazena licenceId

    Note over Backend,SDK_API: Etapa 2: Obter Token (a cada sessão)
    Backend->>SDK_API: POST /patients/{licenceId}/token
    SDK_API-->>Backend: Retorna token JWT

    Note over App,SDK: Etapa 3: Usar SDK (frontend)
    App->>Backend: Solicita acesso telemedicina
    Backend-->>App: Envia token JWT
    App->>SDK: Inicializa SDK com token
    SDK-->>App: SDK pronto para uso

Boas Práticas

Cache de Tokens

O token tem uma validade. Recomendamos:

  • Gerar um novo token apenas quando necessário
  • Verificar a data de expiração antes de usar
  • Solicitar novo token quando expirado

Segurança

Proteja suas Credenciais

  • NUNCA exponha X-API-Key e X-Secret-Key no frontend
  • A geração de tokens deve ser feita exclusivamente no backend
  • O token JWT pode ser enviado ao frontend de forma segura

Fluxo Recomendado no Backend

JavaScript
// Exemplo em Node.js
async function getSDKToken(patientLicenceId) {
    const response = await fetch(
        `https://sdk.mediquo.com/v1/patients/${patientLicenceId}/token`,
        {
            method: 'POST',
            headers: {
                'X-API-Key': process.env.MEDIQUO_SDK_API_KEY,
                'X-Secret-Key': process.env.MEDIQUO_SDK_SECRET_KEY
            }
        }
    );

    if (!response.ok) {
        throw new Error('Erro ao obter token do SDK');
    }

    return response.json();
}

// Endpoint do seu backend
app.get('/api/mediquo/token', async (req, res) => {
    // 1. Autenticar usuário logado
    const user = req.user;

    // 2. Buscar licenceId do paciente (armazenado no seu banco)
    const patient = await getPatientByUserId(user.id);

    // 3. Gerar token do SDK
    const { token, expires_at } = await getSDKToken(patient.licenceId);

    // 4. Retornar token para o frontend
    res.json({ token, expires_at });
});

Limites de Requisição

Endpoint Limite
POST /patients/{licenceId}/token 600 requisições/minuto por IP

Próximos Passos

Após obter o token, inicialize o SDK no frontend:

  1. Android SDK - Integração para Android
  2. iOS SDK - Integração para iOS
  3. Widget Web - Integração para Web

Referências