Saltar al contenido principal

Manejo de errores en Disclosure

Manejo de errores en Disclosure

Esta guía te ayuda a entender y manejar los diferentes tipos de errores que pueden ocurrir durante el proceso de disclosure y validación de identidad.

Eventos de error en webhooks

Durante el proceso de disclosure, si ocurre un error, se enviarán varios eventos mediante webhooks que representan errores en el estado del proceso y sus objetos asociados.

Configuración de webhooks

Para recibir estos eventos de error, necesitas configurar un webhook en tu cuenta. Revisa nuestra guía completa de webhooks para aprender a configurar y verificar los webhooks correctamente.

Errores de disclosure

Los eventos de error principales que puedes escuchar son:

  • disclosure_request.timed_out: El usuario no completa el disclosure en el tiempo permitido
  • disclosure_request.failed: El disclosure falla por alguna razón de la que no se puede recuperar
{
id: "evt_...",
name: "disclosure_request.timed_out",
payload: {
user_reference: "<user-reference>",
disclosure_request_id: "dreq_...",
},
created_at: "<created_at>"
}

Errores de validación y autenticación

Durante el proceso de verificación de identidad, se pueden producir errores que se comunican mediante webhooks. Estos eventos incluyen información detallada sobre fallos en la verificación, como problemas de autenticación o validación de datos de identidad.

  • validation_attempt.failed: La validación de identidad falló, pero puede recuperarse
Validación fallida
{
id: "evt_...",
name: "validation_attempt.failed",
payload: {
user_reference: "<user-reference>",
validation_attempt_id: "va_...",
error_reason: "facial_validation_error",
errors_array: [
{
code: "auth-001",
type: "facial",
message: "facial_validation_error",
detail: "No pudimos asegurar la prueba de vida del usuario"
},
...
]
},
created_at: "<created_at>"
}

Códigos de error de validación

Para las validaciones fallidas, los errores que puedes recibir se encuentran en dos campos:

  • error_reason: Contiene el primer error detectado durante el proceso
  • errors_array: Contiene todos los errores detallados detectados durante el proceso, con información específica sobre cada uno

Cada objeto en el errors_array incluye:

  • code: Código asociado al error (ej. auth-001)
  • type: Tipo de validación que falló (facial, document u other)
  • message: Categoría funcional del error
  • detail: Descripción específica del motivo del fallo
Interpreta el error completo

Los códigos auth-XXX no tienen un significado global. Distintos motores de validación pueden reutilizar el mismo code con otros valores de type y message. Maneja cada error con la combinación de code, type, message y detail, no solo con code.

Tabla de códigos seleccionados

Esta tabla muestra los mapeos actuales de los códigos incluidos para la validación de identidad disponible y la validación con bases de datos gubernamentales. No es el catálogo completo de códigos auth-XXX. Un mismo errors_array puede combinar ambos orígenes, por lo que algunos códigos aparecen con más de un significado.

origencodetypemessagedetail
Identidadauth-000otherunknown_facetec_errorHubo un error inesperado.
Identidadauth-001facialfacial_validation_errorNo pudimos asegurar la prueba de vida del usuario.
Identidadauth-003documentdocument_has_expiredEl documento ya no es válido, ya que la fecha de expiración ha sido superada.
Identidadauth-008documentdocument_not_recognizedEl documento no fue reconocido como una versión válida para el país.
Identidadauth-015documentdocument_validation_errorLa información en el campo MRZ no coincide con la información en los otros campos del documento.
Identidadauth-036documentphoto_of_photoNo se pudo confirmar la identidad del usuario. El usuario debe reintentar.
Identidadauth-036documentdocument_validation_errorNo pudimos detectar el documento completo.
Identidadauth-047documentfacial_validation_errorHubo un error validando el documento de video facial.
Identidadauth-047documentfacial_validation_errorHubo un error validando el rostro en el documento.
Identidadauth-048documentimage_validation_not_passedEl análisis de la foto del documento no pasó la validación.
Identidadauth-048documentimage_validation_not_passedLa validación de la foto del documento no fue superada.
Identidadauth-048documentimage_validation_not_passedNo pudimos detectar claramente el rostro en el documento.
Identidadauth-053documentdocument_validation_errorRut inválido o extraído incorrectamente.
Identidadauth-053documentdocument_validation_errorNo pudimos leer correctamente la nacionalidad del documento.
Identidadauth-065documentpossible_fraudNo se pudo confirmar que el documento sea real. El usuario debe reintentar.
Identidadauth-070facialfacial_validation_errorLa verificación del registro de auditoría falló.
Identidadauth-071facialfacial_validation_errorLa verificación de la regrabación de la prueba de vida falló.
Identidadauth-072documentdocument_validation_errorNo pudimos verificar el sello de agua ni el holograma del documento.
Identidadauth-073documentdocument_sides_mismatchNo pudimos confirmar que la parte frontal y trasera pertenecen al mismo documento.
Identidadauth-074documentnfc_validation_failedLa lectura del chip NFC del documento no fue exitosa.
Identidadauth-075documentnfc_not_supported_by_deviceEl dispositivo no soporta lectura NFC.
Identidadauth-077documentnfc_identity_mismatchNo pudimos confirmar que la identidad del chip NFC coincida con la biometría.
Base de datos gubernamentalauth-003otherexpiration_errorLa validación expiró antes de que terminara la verificación gubernamental.
Base de datos gubernamentalauth-074documentinvalid_document_numberNúmero de documento inválido.
Base de datos gubernamentalauth-075documentgovernment_api_errorNo se pudo verificar la base de datos gubernamental porque no estaba disponible en el momento de la consulta.
Base de datos gubernamentalauth-076documentdocument_not_validEl documento no se encuentra vigente.

En los errores de identidad, auth-074 y auth-075 corresponden a fallas técnicas de la validación NFC y aparecen cuando mobile_nfc_strictness es flexible_on_unsupported o strict. auth-077 identifica una discrepancia entre la identidad del chip y la biometría; bloquea el intento y no debe ofrecer reintento.

auth-065 agrupa decisiones de posible fraude. Puede originarse por una señal de spoof, una incompatibilidad de edad, medios inesperados o actividad repetida. La primera incompatibilidad de edad o señal de medios inesperados permite reintentar. Una señal repetida o una decisión de velocidad termina el disclosure.

Cuántos reintentos permite auth-065 depende del nivel de control de riesgo de la plantilla: con strict la primera señal termina el disclosure sin reintento, y con monitor no se emite auth-065 en absoluto porque las señales solo se registran.

Los message que pueden aparecer en otros motores de validación son:

Errores de validación de identidad

  • unknown: Error desconocido

Errores de documento

  • document_validation_error: Error en la validación del documento
  • document_has_expired: El documento expiró
  • document_not_recognized: El documento no fue reconocido
  • document_sides_mismatch: Los datos de la parte frontal y del reverso del documento no coinciden
  • document_unregistered: El documento no está registrado
  • damaged_document: El documento está dañado
  • document_is_a_photo_of_photo: Error en la imagen
  • document_is_a_photocopy: El documento es una copia
  • incomplete_document: El documento es incompleto
  • invalid_issue_date: La fecha de emisión es inválida
  • missing_date_of_birth: Falta la fecha de nacimiento
  • missing_document_number: Falta el número del documento
  • missing_expiration_date: Falta la fecha de expiración
  • missing_gender: Falta el género
  • missing_mrz: Falta el MRZ
  • missing_names: Falta los nombres
  • missing_text: Falta el texto
  • missing_issue_date: Falta la fecha de emisión
  • missing_nationality: Falta la nacionalidad

Errores de imagen

  • blurry_image: La imagen es borrosa
  • front_document_not_found: No se encontró la imagen frontal del documento
  • invalid_or_corrupted_image_file: La imagen es inválida o está corrupta
  • photo_of_photo: La imagen es de una foto de una foto
  • reverse_document_not_found: No se encontró la imagen inversa
  • image_validation_not_passed: No pasó la validación de la imagen

Errores de validación facial

  • facial_validation_error: Error en la validación facial
  • fraudster_face_match_in_client_collection: La coincidencia de rostro es de un fraude
  • liveness_verification_not_passed: La verificación de vivacidad no fue exitosa
  • no_face_detected: No se detectó rostro
  • passive_liveness_verification_not_passed: La verificación de vivacidad pasiva no fue exitosa
  • similarity_threshold_not_passed: No pasó el umbral de similitud
  • face_not_clear: El rostro no es claro
  • face_not_detected: No se detectó rostro

Errores de validación con base de datos gubernamental

  • data_not_match_with_government_database: Los datos no coinciden con la base de datos del gobierno
  • government_database_unavailable: La base de datos del gobierno no está disponible
  • identity_belongs_to_dead_person: La identidad del usuario pertenece a una persona fallecida

Errores de edad

  • age_above_threshold: El usuario es mayor a la edad máxima permitida
  • underage: El usuario es menor de edad

Errores técnicos

  • ocr_no_text_detected: No se detectó texto
  • expiration_error: La validación expiró
  • enrollment: El usuario falló al inscribirse
  • camera_permission_error: No se tiene permiso para usar la cámara
  • invalid_format: El formato es inválido
  • possible_fraud: Es posible que sea fraude
  • validations_failed: Error en las validaciones

Próximos pasos