Saltar al contenido principal
La función de Validación de base de datos de Didit coteja los datos de identidad de cada usuario con la fuente oficial de cada país: RENAPER (Argentina), Receita Federal (Brasil), Tribunal Electoral (Panamá, con coincidencia facial biométrica), Junta Central Electoral (República Dominicana) y otras. Se factura por cada consulta exitosa, sin mínimos mensuales. Cada entrada de database_validations[] es un informe completo de Validación de base de datos: una ejecución de un nodo de Validación de base de datos para un país emisor. Los resultados de cada servicio de registro están dentro del array anidado validations[] de esa entrada. Esta página documenta la estructura JSON para que puedas interpretar los resultados de coincidencia, los datos de origen del registro y las puntuaciones biométricas que devuelve cada servicio.
Informe de Validación de base de datos de Didit con los tipos de coincidencia y los campos de respuesta del registro

Visión general

Se genera un informe de Validación de base de datos cada vez que un nodo de un flujo de verificación (workflow) ejecuta la función de Validación de base de datos. Cada entrada del array database_validations[] representa una ejecución de nodo para un país emisor. Si el nodo ejecuta varios servicios para ese país (por ejemplo, CPF + CNH en Brasil), cada servicio aparece como un elemento independiente dentro del subarray validations[] de la entrada. Cada informe contiene:
  • El status general de la función: un valor de FeatureStatusChoices (Not Finished, Approved, Declined, In Review).
  • Un match_type consolidado (full_match, partial_match, no_match, o null cuando ningún servicio devolvió un resultado utilizable), agregado entre servicios mediante el método de coincidencia.
  • El issuing_state (ISO 3166-1 alfa-3) y el validation_type derivado (one_by_one, two_by_two o not_enabled; nunca null).
  • El bloque screened_data: los datos proporcionados por el usuario que se enviaron al registro.
  • Un array validations[]: una entrada por cada servicio que produjo un resultado, con el service_id/service_name del catálogo, el outcome_code independiente del proveedor, un outcome_detail opcional, el mapa validation por campo y los source_data depurados extraídos de la respuesta del registro.
  • Un array errors[]: errores por servicio cuando una consulta falló o se omitió. La clave se omite por completo cuando no hay errores.
  • Un array warnings[]: eventos de riesgo emitidos durante la validación (consulta las advertencias de Validación de base de datos).
  • Un node_id que identifica qué nodo del grafo del flujo generó el informe (solo en sesiones V3).

Dónde aparece en las respuestas de la API

El informe aparece como database_validations[] en GET /v3/session/{sessionId}/decision/, siempre como un array JSON, nunca como un objeto único. El array contiene una entrada por cada nodo de Validación de base de datos del grafo del flujo y, a su vez, el subarray validations[] de cada entrada contiene un elemento por cada servicio de registro que produjo un resultado.
Un valor null significa que todavía no se ha ejecutado ningún paso de Validación de base de datos.

Esquema

El esquema canónico campo por campo está en la página Modelos de datos. Lo genera DatabaseValidationV3Serializer.

Valores de estado

status usa el enum estándar a nivel de función (consulta Enums de estado); consulta la referencia del enum de estado. El enum también define Resub Requested, que en la práctica la Validación de base de datos no produce. Las reglas de estado personalizadas por nodo se aplican sobre este estado base. Consulta Advertencias de Validación de base de datos para ver las acciones configurables y sus valores predeterminados.

Códigos de resultado

Cada entrada de validations[] incluye un outcome_code independiente del proveedor, que es uno 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. Ten en cuenta las diferencias: NO_MATCH significa que el registro definitivamente no confirmó los datos, INCONCLUSIVE significa que el registro no pudo determinar ni una cosa ni la otra (envíalo a revisión, no lo rechaces) y BIOMETRIC_IMAGE_UNUSABLE es un problema técnico de la selfie (hay que repetirla), a diferencia del resultado definitivo BIOMETRIC_NO_MATCH. Consulta la taxonomía completa y el tratamiento recomendado en la página Códigos de resultado.

Una entrada por servicio

El array validations[] contiene un elemento por cada servicio que produjo un payload de resultado (un mapa validation, source_data, outcome_code u outcome_detail). Si tu flujo ejecuta varios servicios para el mismo país (por ejemplo, Brasil CPF + Brasil CNH), cada uno aparece por separado con su propio service_id, outcome_code y source_data. El match_type agregado combina todos los servicios (cualquier coincidencia total → full_match; si no, cualquier coincidencia parcial → partial_match; si no, no_match), y validation_type se deriva de cuántos servicios distintos obtuvieron una coincidencia total; consulta Métodos de coincidencia.

URL de imágenes prefirmadas

Los campos de imagen de source_data (photo, signature) y screened_data (selfie, cnh_qr_code_image, document_image) se devuelven como URL prefirmadas que caducan; para renovarlas, vuelve a llamar al endpoint de decisión. El payload original del proveedor no se expone a través de la API de forma intencionada.

Ejemplos

Aprobado: comprobación del estado del CPF de Brasil (Receita Federal)

Aprobado: DNI biométrico de Argentina (RENAPER)

En Argentina, la validación usa RENAPER con una coincidencia facial biométrica. La respuesta incluye un face_match_score y campos de identidad adicionales que devuelve el registro.

En revisión: no se pudo consultar el registro

Cuando ningún servicio devuelve un resultado utilizable (faltan campos obligatorios o tienen un formato incorrecto, o no se puede acceder al registro), match_type se mantiene en null, validation_type es not_enabled, se emite una advertencia COULD_NOT_PERFORM_DATABASE_VALIDATION y la función pasa a In Review hasta que se corrijan los datos. No se cobra por los servicios omitidos.
Completa el campo que falta desde la página de detalle de la sesión en la Console: al guardarlo, la comprobación se vuelve a ejecutar automáticamente y, si tiene éxito, la advertencia desaparece.

Relacionado

Última modificación el 1 de noviembre de 2026