# Introdução
Esta API foi desenvolvida para permitir que clientes integrem seus sistemas diretamente aos nossos relatórios de logs. Utilizando um token de autenticação, é possível consultar, filtrar e paginar os registros de eventos da plataforma de forma segura e eficiente.
A seguir, estão os detalhes técnicos necessários para a correta utilização deste recurso.
# Ambientes de Integração
# Sandbox
Ambiente de testes e desenvolvimento:
URL
https://api.sandbox.biodoc.com.br/api
# Produção
Ambiente de produção:
URL
https://api.biodoc.com.br/api
# Estrutura da Integração
# Endpoint
- URL:
/logs/report - Método:
GET - Descrição: Responsável por consultar e retornar os logs de eventos com base nos filtros aplicados.
# Autenticação
A autenticação é realizada através de um Bearer Token, que deve ser enviado no cabeçalho (header) de cada requisição.
- Cabeçalho:
Authorization - Formato:
Bearer <SEU_TOKEN_DE_ACESSO>
A ausência ou formato incorreto do token resultará em uma resposta de erro 401 Não autorizado.
# Parâmetros da Requisição
Os parâmetros devem ser enviados no formato form-data e são utilizados para filtrar e paginar os resultados.
| Parâmetro | Descrição | Formato | Obrigatório |
|---|---|---|---|
initialDate | Data de início do período da consulta. | YYYY-MM-DD | Não |
endDate | Data de fim do período da consulta. | YYYY-MM-DD | Não |
page | Número da página desejada para a consulta. O padrão é 1. | integer | Não |
Regras de Utilização dos Parâmetros:
- Se
initialDateeendDateforem fornecidos, o intervalo entre eles não pode exceder 31 dias. - Se apenas
initialDatefor fornecida, a consulta retornará os logs dos 31 dias seguintes a partir dela. - Se apenas
endDatefor fornecida, a consulta retornará os logs dos 31 dias anteriores a ela. - Se nenhum dos parâmetros de data for fornecido, a consulta retornará os logs dos últimos 31 dias por padrão.
# Formato da Resposta
# Resposta de Sucesso (200 OK)
Uma requisição bem-sucedida retornará um objeto JSON contendo os metadados da paginação e a lista de logs.
{
"data": {
"pages": "1 of 1",
"total": 242,
"logs": [
{
"id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"id_Card": "12345678901234567",
"name": "Ana Pereira",
"company": "BIODOC Teste (DEV)",
"companyMasterCode": "9999",
"companyMaster": "BIODOC Teste",
"status": "Irregular",
"date": "2025-08-27T10:00:00Z",
"description": "Justificativa: Não é uma face viva, nível de confiança obtido: 0.00%, nível de confiança esperado: 37%. | Auditoria concluída sem observações do auditor.",
"auditor": "AGENTE AUTOMATICO",
"details": "{\"cdGuia\":\"12345\",\"cdLocal\":\"54321\",\"consulta\":\"11111\",\"nmLocal\":\"CLÍNICA XPTO\",\"nrGuia\":\"22222\",\"operador\":\"33333\",\"plano\":\"44444\",\"prestCodigo\":\"55555\",\"prestNome\":\"DR. XPTO\"}",
"detailsJson": {
"Identificador": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"Data": "07-07-2025",
"Hora": "12:51:00 UTC",
"Código Prestador": "55555",
"Nome Prestador": "DR. XPTO",
"Operador": "33333",
"Guia": "22222",
"Código Local": "54321",
"Nome Local": "CLÍNICA XPTO",
"Auditor": "MARIA OLIVEIRA",
"Local Token": "Biodoc Teste"
}
},
{
"id": "a1b2c3d4-e5f6-7890-1234-567890abcde1",
"id_Card": "98765432109876543",
"name": "José Saramago",
"company": "BIODOC Teste (QA)",
"companyMasterCode": "9999",
"companyMaster": "BIODOC Teste",
"status": "Face Similar",
"date": "2025-08-26T11:30:00Z",
"description": "Justificativa: Não foi detectado uma face viva na imagem. | Comentário do auditor: VERIFICAÇÃO OK - APROVADA.",
"auditor": "USUARIO_TESTE",
"details": "{\"cdGuia\":\"12345\",\"cdLocal\":\"54321\",\"consulta\":\"11111\",\"nmLocal\":\"CLÍNICA DE OFTALMOLOGIA XPTO\",\"nrGuia\":\"22222\",\"operador\":\"33333\",\"plano\":\"44444\",\"prestCodigo\":\"55555\",\"prestNome\":\"DR. XPTO\"}",
"detailsJson": {
"Identificador": "a1b2c3d4-e5f6-7890-1234-567890abcde1",
"Data": "07-07-2025",
"Hora": "12:52:00 UTC",
"Código Prestador": "55555",
"Nome Prestador": "DR. XPTO",
"Operador": "33333",
"Guia": "22222",
"Código Local": "54321",
"Nome Local": "CLÍNICA DE OFTALMOLOGIA XPTO",
"Auditor": "JOÃO DA SILVA",
"Local Token": "Biodoc Teste"
}
}
.
.
.
]
}
}
# Respostas de Erro
As respostas de erro incluem um código (code) e uma mensagem (error) para facilitar a identificação do problema.
| Código do Erro | Mensagem de Erro | Causa Provável |
|---|---|---|
ERR_LOG_INVALID_REQUEST | Requisição inválida. Verifique os dados e demais parâmetros e tente novamente. | Formato de data incorreto (ex: YYYY-MM em vez de YYYY-MM-DD). |
ERR_MDW_INVALID_BEARER | Não autorizado. Bearer token com formato incorreto. | O token está malformado, incompleto ou ausente. |
| (vazio) | o período selecionado não pode ser maior que 31 dias | O intervalo entre initialDate e endDate excede o limite de 31 dias. |
# Exemplos de Requisição (cURL)
# 1. Consulta com Período e Paginação
Consulta os logs entre 7 de junho e 6 de julho de 2025, na primeira página.
curl --location --request GET 'https://api.biodoc.com.br/api/logs/report' \
--header 'Authorization: Bearer <SEU_TOKEN_DE_ACESSO>' \
--header 'Content-Type: application/json' \
--form 'initialDate="2025-06-07"' \
--form 'endDate="2025-07-06"' \
--form 'page="1"'
# 2. Consulta Apenas com Data Final
Consulta os logs dos 31 dias anteriores a 6 de julho de 2025.
curl --location --request GET 'https://api.biodoc.com.br/api/logs/report' \
--header 'Authorization: Bearer <SEU_TOKEN_DE_ACESSO>' \
--header 'Content-Type: application/json' \
--form 'endDate="2025-07-06"' \
--form 'page="1"'
# 3. Exemplo de Erro: Token Inválido
Requisição com um token de autenticação malformado.
curl --location --request GET 'https://api.biodoc.com.br/api/logs/report' \
--header 'Authorization: Bearer enpzVUNpN2NGU3d4SUpsU1Jra09OZWJzeXZGOWZqVkppbjdSUEZzR1JuMWR4VFNsMVlrU05JVHkyMkNM=' \
--header 'Content-Type: application/json' \
--form 'initialDate="2025-06-07"' \
--form 'endDate="2025-07-06"'
Resposta Esperada:
{
"code": "ERR_MDW_INVALID_BEARER",
"error": "Não autorizado. Bearer token com formato incorreto."
}
# 4. Exemplo de Erro: Período Excedido
Requisição onde o período entre as datas é maior que 31 dias (neste caso, endDate não foi fornecida, e o sistema assume um período de 31 dias a partir de initialDate, mas a regra de validação é acionada).
curl --location --request GET 'https://api.biodoc.com.br/api/logs/report' \
--header 'Authorization: Bearer <SEU_TOKEN_DE_ACESSO>' \
--header 'Content-Type: application/json' \
--form 'initialDate="2025-06-07"' \
--form 'page="1"'
Resposta Esperada:
{
"error": "o período selecionado não pode ser maior que 31 dias",
"code": ""
}