A lista de usuários do sistema poderá ser filtrada por meio de params/query:
Campo/Propriedade | Tipagem | Padrão/Formato | Descrição | Obrigatório |
---|---|---|---|---|
offset | Integer | offset/início de referência para a busca | ❌ | |
limit | Integer | limite de resultados, não é possível ser maior que 100 | ❌ | |
sorting | String | “asc” ou “desc” | Ordenar resultados por crescente ou decrescente, pela propriedade “name” | ❌ |
name | String | Nome, comparação >= de upper cases e low cases | ❌ | |
cpf | String | “11122233344” | CPF | ❌ |
birthdate | String | “YYYY-MM-DD” ou “AAAA-MM-DD” | Data de nascimento | ❌ |
isHealthProfessional | Boolean | Boolean que indica se o usuário ´é profissional da saúde | ❌ |
Exemplo:
GET /api/users?birthdate=1997-09-21 HTTP/2
Host: telemedicina.example.com
Accept: application/json
accesskey: sua-chave-de-acesso
As seguintes operações estão disponíveis via params/query:
Campo/Propriedade | Tipagem | Padrão/Formato | Descrição |
---|---|---|---|
upsert | Boolean | “true” ou “false” | Indica que a operação será upsert o que desabilita as validações de primeira criação. |
redirectTo | String | Indica a URL que você deseja obter o link para que o usuário seja redirecionada. Exemplo: “schedule” para o usuário cair na tela de agendamento. |
POST /api/users HTTP/2
Host: telemedicina.example.com
Content-Type: application/json
accesskey: sua-chave-de-acesso
Campo/Propriedade | Tipagem | Padrão/Formato | Descrição | Obrigatório | Campo único |
---|---|---|---|---|---|
externalId | String | Id externo/referência | 🟡 | ❌ | |
name | String | Nome | ✅ | ❌ | |
cpf | String | CPF | 🟡 | ✅ | |
String | 🟡 | ✅ | |||
ddi | String | “55” | DDI do celular | ❌ | ❌ |
cellphone | String | “11911223344” | Celular com DD | 🟡 | ✅ |
phone | String | Telefone residencial com DD | ❌ | ❌ | |
birthdate | String | “YYYY-MM-DD”/”AAAA-MM-DD” | Data de nascimento | ❌ | ❌ |
rg | String | Número do RG | ❌ | ❌ | |
issuingBody | String | Expedição do RG | ❌ | ❌ | |
gender | String | “Masculino”, “Feminino” ou “Ignorado” | Gênero de nascimento | ❌ | ❌ |
isHealthProfessional | Boolean | Boolean que indica se o usuário é um profissional da saúde | ✅ | ❌ | |
noPermissions | Boolean | Boolean que desabilita/inativa o usuário | ❌ | ❌ | |
defaultClassDocument | Integer | Posição do array de classDocuments do documento principal | 🟡 | ❌ | |
classDocuments | Array of objects | Lista de documentos de saúde | 🟡 | ❌ | |
classDocuments[0].document | String | Número do documento | 🟡 | ❌ | |
classDocuments[0].type | String | Conselho do documento, ex: CRM e COREN | 🟡 | ❌ | |
classDocuments[0].uf | String | “SP”, “MG”, “RJ” | Estado do conselho, ex: SP e MG | 🟡 | ❌ |
queues | Object | Dicionário de booleanos com ids da fila que o profissional pertence | ❌ | ❌ | |
queues.11223344 | Boolean | Exemplo: 11223344 é o id da fila de Cardiologia | ❌ | ❌ | |
address | Object | Objeto com informações do endereço | ❌ | ❌ | |
address.postalCode | String | “04609-090” | CEP | ❌ | ❌ |
address.street | String | Endereço | ❌ | ❌ | |
address.number | String | Número do endereço | ❌ | ❌ | |
address.district | String | Bairro do endereço | ❌ | ❌ | |
address.city | String | Cidade do endereço | ❌ | ❌ | |
address.state | String | “SP”, “MG”, “RJ” | Estado do endereço | ❌ | ❌ |
address.complement | String | Complemento do endereço | ❌ | ❌ | |
dependentOn | Object | Objeto do usuário titular no sistema | ❌ | ❌ | |
dependentOn.id | String | Id interno do titular | ❌ | ❌ | |
dependentOn.name | String | Nome do titular | ❌ | ❌ | |
holders | Array of objects | Lista de responsáveis do usuário | ❌ | ❌ | |
holders[0].name | String | Nome do responsável | ❌ | ❌ | |
holders[0].gender | String | “Masculino”, “Feminino” ou “Ignorado” | Gênero de nascimento do responsável | ❌ | ❌ |
holders[0].type | String | “Pai”, “mãe”, “avó”, “tia” e etc | Tipo do responsável | ❌ | ❌ |
cns | String | Cartão nacional de saúde | ❌ | ❌ | |
healthPlan | String | Nome do plano | ❌ | ❌ | |
healthPlanId | String | Id do plano de saúde, caso esteja usando o do nosso sistema | ❌ | ❌ | |
healthInsurance | String | Nome do convênio | ❌ | ❌ | |
healthInsuranceId | String | Id do convênio, caso esteja usando o do nosso sistema | ❌ | ❌ | |
cardNumber | String | Numero da carteirinha do convênio | ❌ | ❌ | |
genderIdentity | String | Gênero de identidade | ❌ | ❌ | |
socialName | String | Nome social | ❌ | ❌ | |
ethnicity | String | “Branca”, “Preta”, “Parda”, “Amarela”, “Indígena” ou “Sem informação” | Etnia | ❌ | ❌ |
nationality | String | Nacionalidade | ❌ | ❌ | |
birthCity | String | Cidade de nascimento | ❌ | ❌ | |
birthState | String | UF de nascimento | ❌ | ❌ | |
rne | String | Registro Nacional de Estrangeiros | ❌ | ❌ | |
passport | String | Número do passaporte | ❌ | ❌ | |
naturalizedDate | String | “YYYY-MM-DD” / “AAAA-MM-DD” | Data de naturalização no Brasil | ❌ | ❌ |
birthCountry | String | País de nascimento | ❌ | ❌ | |
passportCountry | String | País do passaporte, para pessoas com mais de uma nacionalidade | ❌ | ❌ | |
passportEmissionDate | String | “YYYY-MM-DD” / “AAAA-MM-DD” | Data de emissão do passaporte | ❌ | ❌ |
passportValidDate | String | “YYYY-MM-DD” / “AAAA-MM-DD” | Data de validade do passaporte | ❌ | ❌ |
Exemplo de criação de paciente/usuário não profissional da saúde:
Para atribuir acessos específicos ao usuário no /doctor
, acesse a plataforma web e configure os Grupos de Acesso:
Configurações->Grupos de Acesso->Usuários->Grupo de Acesso
POST /api/users?redirectTo="schedule" HTTP/2
Host: telemedicina.example.com
Content-Type: application/json
accesskey: sua-chave-de-acesso
Body:
{
"email": "criacao.paciente@drtis.com.br",
"name": "Gustavo Dr Tis",
"ddi": "55",
"cellphone": "11984321345",
"rg": "38.929.813-3",
"issuingBody": "SSP"
}
Resposta:
{
"status": "success",
"unshortenedRedirect": "https://dominio.com.br/schedule?accessToken=token-gerado",
"shortenedRedirect": "https://drt.is/a8sdsa878daj1",
"user": {
"email": "criacao.paciente@drtis.com.br",
"name": "Gustavo Dr Tis",
"ddi": "55",
"cellphone": "11984321345",
"rg": "38.929.813-3",
"issuingBody": "SSP"
}
}
Exemplo de criação de profissional de saúde:
Sempre verifique a tabela de propriedades acima para garantir que está enviando os campos obrigatórios e opcionais corretamente. Os exemplos disponibilizados na documentação são teóricos e podem variar de acordo com a configuração habilitada para cada ambiente.
POST /api/users?redirectTo="schedule" HTTP/2
Host: telemedicina.example.com
Content-Type: application/json
accesskey: sua-chave-de-acesso
Body:
{
"email": "criacao.medico@drtis.com.br",
"name": "Gustavo Dr Tis",
"ddi": "55",
"cellphone": "11984321345",
"rg": "38.929.813-3",
"issuingBody": "SSP",
"isHealthProfessional": true,
"defaultClassDocument": "0",
"classDocuments": [
{
"type": "CRM",
"document": "00001",
"uf": "SP"
}
]
} ## Atualizar usuário
Para atualizar é só seguir as mesmas especificações da criação, porém informando o id
na queryString no método PATCH
.
PATCH /api/users/:id HTTP/2
Host: telemedicina.example.com
Accept: application/json
Content-Type: application/json
accesskey: sua-chave-de-acesso
Para gerar um token de acesso para um usuário, faça uma chamada:
Campo/Propriedade | Tipagem | Padrão/Formato | Descrição | Obrigatório |
---|---|---|---|---|
uid | String | uid/id do usuário | 🟡 | |
String | HTML | email do usuário | 🟡 |
GET /api/users/authenticate?uid=a3YxpITsloDHJdRaCdATiAs350fGf HTTP/2
Host: telemedicina.example.com
accesskey: sua-chave-de-acesso
Na chamada para autenticar você deverá informar uid
OU email
. O retorno será um token de acesso válido por 1 hora.
Para que o usuário acesse o sistema, redirecione-o para https://seusitedetelemedicina.com.br/?accessToken=TOKEN
. Substitua TOKEN
pelo token recebido da API(access_token
)
Você pode também utilizar uma das URLs prontas para cada interface(OBS: a URL para interface médica só é incluída quando o usuário for profissional da saúde)
Exemplo de resposta:
{
"access_token": "token-codificado",
"patientUrl": "https://drt.is/link-para-interface-paciente",
"doctorUrl": "https://drt.is/link-para-interface-medico"
}