# 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 initialDate e endDate forem fornecidos, o intervalo entre eles não pode exceder 31 dias.
  • Se apenas initialDate for fornecida, a consulta retornará os logs dos 31 dias seguintes a partir dela.
  • Se apenas endDate for 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": ""
}