Saltar para o conteúdo principal
A funcionalidade de Validação de base de dados da Didit cruza os dados de identidade de cada utilizador com a fonte oficial desse país — RENAPER (Argentina), Receita Federal (Brasil), Tribunal Electoral (Panamá, com correspondência facial biométrica), Junta Central Electoral (República Dominicana), e mais — faturada por consulta bem-sucedida, sem mínimos mensais. Cada entrada em database_validations[] é um relatório completo de Validação de base de dados — uma execução de um nó de Validação de base de dados contra um estado emissor. Os resultados por serviço de registo residem dentro do sub-array validations[] dessa entrada. Esta página documenta o formato JSON para que possa processar resultados de correspondência, dados da fonte do registo e pontuações biométricas devolvidas por cada serviço.
Relatório de validação de base de dados da Didit que mostra tipos de correspondência e campos da resposta do registo

Visão geral

É gerado um relatório de Validação de base de dados sempre que um nó de fluxo executa a funcionalidade de Validação de base de dados. Cada entrada no array database_validations[] representa uma execução do nó contra um estado emissor; se o nó executar vários serviços para esse país (por exemplo, CPF + CNH no Brasil), cada serviço aparece como um item separado dentro do sub-array validations[] da entrada. Cada relatório contém:
  • O status geral da funcionalidade — um valor de FeatureStatusChoices (Not Finished, Approved, Declined, In Review).
  • Um match_type consolidado (full_match, partial_match, no_match ou null quando nenhum serviço devolveu um resultado utilizável) agregado entre serviços através do método de correspondência.
  • O issuing_state (ISO 3166-1 alfa-3) e o validation_type derivado (one_by_one, two_by_two ou not_enabled — nunca null).
  • O bloco screened_data — os dados fornecidos pelo utilizador que foram enviados para o registo.
  • Um array validations[] — uma entrada por serviço que produziu um resultado, com o service_id/service_name do catálogo, o outcome_code neutro em relação ao fornecedor, um outcome_detail opcional, o mapeamento validation por campo e os source_data tratados e extraídos da resposta do registo.
  • Um array errors[] — erros por serviço quando uma consulta falhou ou foi ignorada; a chave é completamente omitida quando não existem erros.
  • Um array warnings[] — eventos de risco emitidos durante a validação (consulte avisos da Validação de base de dados).
  • Um node_id que identifica qual nó do grafo de fluxo produziu o relatório (apenas em sessões V3).

Onde aparece nas respostas da API

O relatório aparece como database_validations[] em GET /v3/session/{sessionId}/decision/ — sempre um array JSON, nunca um objeto individual. O array contém uma entrada por nó de Validação de base de dados no grafo de fluxo; por sua vez, o sub-array validations[] de cada entrada contém um item por serviço de registo que produziu um resultado.
Um valor null significa que nenhum passo de Validação de base de dados foi ainda executado.

Esquema

O esquema campo a campo canónico encontra-se na página Modelos de dados. É produzido por DatabaseValidationV3Serializer.

Valores de status

O campo status utiliza o enum padrão ao nível da funcionalidade (consulte Enums de status) — consulte a Referência de enums de status. O enum também define Resub Requested, que não é produzido pela Validação de base de dados na prática. As regras de status personalizadas por nó são aplicadas sobre este status base. Consulte Avisos da Validação de base de dados para obter as ações configuráveis e os respetivos padrões.

Códigos de resultado

Cada entrada em validations[] contém um outcome_code neutro em relação ao fornecedor — um de MATCH, PARTIAL_MATCH, NO_MATCH, DOCUMENT_NOT_FOUND, INVALID_DOCUMENT_FORMAT, INVALID_INPUT, MINOR_BLOCKED, DECEASED, BIOMETRIC_NO_MATCH, BIOMETRIC_IMAGE_UNUSABLE, INCONCLUSIVE, DOCUMENT_SUPERSEDED, REGISTRY_UNAVAILABLE, REGISTRY_ERROR. Note as distinções: NO_MATCH significa que o registo não confirmou definitivamente os dados, INCONCLUSIVE significa que o registo não conseguiu determinar num sentido ou noutro (encaminhar para análise, não recusar), e BIOMETRIC_IMAGE_UNUSABLE é um problema técnico com a selfie (repetir captura) — ao contrário do definitivo BIOMETRIC_NO_MATCH. Consulte a taxonomia completa e o tratamento recomendado na página Códigos de resultado.

Uma entrada por serviço

O array validations[] contém um item para cada serviço que produziu um payload de resultado (um mapa validation, source_data, outcome_code ou outcome_detail). Se o seu fluxo executar múltiplos serviços para o mesmo país (por exemplo, CPF do Brasil + CNH do Brasil), cada um surge separadamente com o seu próprio service_id, outcome_code e source_data. O valor consolidado de match_type agrega todos os serviços (qualquer correspondência total → full_match; caso contrário, qualquer parcial → partial_match; caso contrário, no_match), e validation_type é derivado do número de serviços distintos com correspondência total — consulte Métodos de correspondência.

URLs de imagem pré-assinados

Os campos de imagem em source_data (photo, signature) e screened_data (selfie, cnh_qr_code_image, document_image) são devolvidos como URLs pré-assinados que expiram — renove voltando a chamar o endpoint de decisão. O payload bruto de origem não é intencionalmente exposto através da API.

Exemplos

Approved — verificação de status do CPF do Brasil (Receita Federal)

Approved — DNI biométrico da Argentina (RENAPER)

Para a Argentina, a validação utiliza a RENAPER com uma correspondência facial biométrica. A resposta inclui um face_match_score e campos de identidade adicionais devolvidos pelo registo.

In Review — o registo não pôde ser executado

Quando nenhum serviço devolve um resultado utilizável — campos obrigatórios em falta ou mal formatados, ou quando o registo não está acessível — match_type permanece null, validation_type fica not_enabled, é emitido um aviso COULD_NOT_PERFORM_DATABASE_VALIDATION e a funcionalidade passa para In Review até que os dados sejam corrigidos. Não é aplicada qualquer cobrança aos serviços ignorados.
Preencha o campo em falta na página de detalhes da sessão na Consola — ao guardá-lo, a verificação é acionada novamente automaticamente e limpa o aviso em caso de sucesso.

Relacionado

Última modificação em 7 de novembro de 2026