Skip to main content

Resumen

Las APIs ID Verification, Face Match y Liveness devuelven un campo warnings cuando el servicio de verificación señala incidencias no bloqueantes o banderas de riesgo. El KYC por sesión (POST /api/kyc/validations, GET /api/kyc/validations/:id) persiste un array warnings en la validación uniendo códigos del documento, liveness, face match y AML, y puede añadir códigos internos de Gu1 (p. ej. listas o sandbox). Los clientes pueden usarlos para:
  • Visualización: Mapear cada código a un mensaje (i18n propio o las descripciones siguientes; en el dashboard de gu1 las etiquetas siguen el orden de claves bajo warningRisks y rejectionReasonCodes en los archivos de idioma del producto).
  • Lógica: Actuar por código o enviar códigos permitidos en omitWarnings al crear una validación.
En APIs puntuales los códigos son por servicio; en validación por sesión se usa la unión de servicios más códigos internos. Abajo figuran los valores documentados.
Si el servicio devuelve un código no listado aquí, igual puede aparecer en warnings. Tratá los códigos desconocidos como advertencias genéricas y mostrá el código o un mensaje de respaldo.

KYC por sesión

En GET /api/kyc/validations/:id (y listados), el array warnings de la validación contiene cadenas de código de riesgo obtenidas de:
  • Paso de verificación de documento
  • Paso de liveness
  • Paso de face match
  • Objetos de AML en la decisión de sesión
  • Análisis de dispositivo e IP en la decisión de sesión (ip_analyses[] / ip_analysis)
Pueden añadirse códigos por reglas de Gu1 (p. ej. listas de bloqueo de la organización). El campo opcional omitWarnings en POST /api/kyc/validations usa las mismas cadenas que documentan las tablas siguientes.

ID Verification

Se devuelve en POST /api/kyc/id-verification y GET /api/kyc/id-verification/verifications/:id en el array warnings. Los mismos códigos pueden aparecer en validaciones por sesión en el paso de documento.
CódigoDescripción
ID_DOCUMENT_IN_BLOCKLISTEl documento coincide con una entrada de su lista de documentos bloqueados (fraudulentos, robados o problemáticos).
BARCODE_NOT_DETECTEDNo se pudo encontrar o leer el código de barras del documento (calidad de imagen o tipo no soportado).
BARCODE_VALIDATION_FAILEDEl código de barras no pudo validarse con el resto de los datos del documento.
QR_NOT_DETECTEDNo se pudo encontrar o leer el código QR del documento.
QR_VALIDATION_FAILEDEl código QR no pudo validarse con el resto de los datos del documento.
MRZ_NOT_DETECTEDNo se encontró o leyó la zona de lectura mecánica (MRZ) del documento.
MINIMUM_AGE_NOT_METLa edad del usuario está por debajo del mínimo requerido.
DATA_INCONSISTENTLos datos OCR y del chip NFC no coinciden; posible alteración o inconsistencia.
COULD_NOT_RECOGNIZE_DOCUMENTNo se pudo confirmar la autenticidad o validez del documento.
PORTRAIT_IMAGE_NOT_DETECTEDNo se pudo identificar o procesar la foto del documento.
IMAGE_TOO_BLURRYLa imagen del documento está demasiado borrosa; volvé a capturarla con mejor enfoque.
IMAGE_TOO_DARKLa imagen del documento está demasiado oscura; mejorá la iluminación al capturar.
IMAGE_TOO_BRIGHTLa imagen del documento está demasiado brillante o sobreexpuesta; evitá luz directa al capturar.
DOCUMENT_NUMBER_NOT_DETECTEDNo se pudo localizar o leer el número de documento.
DATE_OF_BIRTH_NOT_DETECTEDNo se pudo identificar la fecha de nacimiento en el documento.
EXPIRATION_DATE_NOT_DETECTEDNo se pudo identificar la fecha de vencimiento en el documento.
NAME_NOT_DETECTEDNo se pudo identificar el nombre y/o apellido en el documento.
MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAMEHay diferencias entre el MRZ y los datos extraídos por OCR; posible alteración del documento.
MRZ_VALIDATION_FAILEDEl MRZ no cumple el formato esperado o contiene datos inválidos.
INVALID_DATEUna o más fechas del documento no son válidas o no coinciden con el formato esperado.
DOCUMENT_EXPIREDLa fecha de vencimiento del documento ya pasó.
DOCUMENT_NOT_SUPPORTED_FOR_APPLICATIONEl tipo de documento no está aceptado en este proceso de verificación.
DOCUMENT_SIDES_MISMATCHLas caras del documento no coinciden con el formato esperado.
COULD_NOT_DETECT_DOCUMENT_TYPENo se pudo determinar el tipo de documento enviado.
DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTSEl nombre en este documento no coincide con el de otros documentos ya verificados para este usuario.
POSSIBLE_DUPLICATED_USEREl sistema identificó un posible usuario duplicado con documentos aprobados en otra sesión; se requiere investigación.
LOW_FRONT_CAMERA_FACE_MATCH_SIMILARITYEl rostro capturado no coincide suficientemente con la foto del documento.
FULL_NAME_MISMATCH_WITH_PROVIDEDEl nombre completo proporcionado no coincide con el extraído del documento.
DOB_MISMATCH_WITH_PROVIDEDLa fecha de nacimiento proporcionada no coincide con la del documento.
GENDER_MISMATCH_WITH_PROVIDEDEl género proporcionado no coincide con el del documento.
COUNTRY_MISMATCH_WITH_PROVIDEDEl país proporcionado no coincide con el del documento.
NATIONALITY_MISMATCH_WITH_PROVIDEDLa nacionalidad proporcionada no coincide con la del documento.
IDENTIFICATION_NUMBER_MISMATCH_WITH_PROVIDEDEl número de identificación proporcionado no coincide con el del documento.
SCREEN_CAPTURE_DETECTEDEl documento parece ser una captura de pantalla o foto de un documento en pantalla, no el físico.
PRINTED_COPY_DETECTEDEl documento parece ser una copia impresa, no el original oficial.
PORTRAIT_MANIPULATION_DETECTEDSe detectó posible manipulación del área de la foto del documento.
UNPARSED_ADDRESSLa dirección del documento no pudo interpretarse o geolocalizarse.
DOCUMENT_NUMBER_FORMAT_MISMATCHEl número de documento no coincide con el formato esperado para este tipo.
PERSONAL_NUMBER_FORMAT_MISMATCHEl número personal no coincide con el formato esperado para este tipo de documento.
ID_VERIFICATION_DATA_MISMATCH_BETWEEN_DOCUMENTSLos datos extraídos de varios documentos de esta sesión no coinciden (nombre o fecha de nacimiento).
GUENO_KYC_ORG_BLOCKLIST_HITCamino de rechazo automático: un valor de esta validación coincidió con una lista de bloqueo KYC de la organización (señal agregada).
GUENO_KYC_ORG_BLOCKLIST_IPLista de bloqueo KYC de la organización: la IP de la sesión coincidió con una lista de enforcement.
GUENO_KYC_ORG_BLOCKLIST_DOCUMENTLista de bloqueo KYC de la organización: el número de documento coincidió con una lista de enforcement.
GUENO_KYC_ORG_BLOCKLIST_PERSONALLista de bloqueo KYC de la organización: el número personal / trámite coincidió con una lista de enforcement.
GUENO_KYC_ORG_MINIMUM_AGE_NOT_METPolítica de edad mínima de la organización (ajustes KYC): la fecha de nacimiento extraída implica menos años cumplidos que el umbral configurado; la validación pasa a rechazada aunque el OCR haya validado la identidad. Si no hay fecha de nacimiento interpretable, no se aplica.

Face Match

Se devuelve en POST /api/kyc/face-match y GET /api/kyc/face-match/verifications/:id en el array warnings.
CódigoDescripción
LOW_FACE_MATCH_SIMILARITYLos rasgos faciales de la imagen no coinciden lo suficiente con la imagen de referencia.
NO_REFERENCE_IMAGEFalta una imagen de referencia para la comparación facial.

Liveness (KYC por sesión)

Se devuelve en las respuestas de validación KYC por sesión (p. ej. validación actual, listado) cuando se realizan chequeos de vivacidad. El array warnings del payload puede contener estos códigos.
CódigoDescripción
FACE_IN_BLOCKLISTEl rostro coincide con una entrada de su lista de rostros bloqueados.
POSSIBLE_FACE_IN_BLOCKLISTEl sistema identificó un posible rostro en la lista de bloqueados.
LOW_LIVENESS_SCOREEl chequeo de vivacidad obtuvo una puntuación baja.
NO_FACE_DETECTEDNo se identificó un rostro durante el chequeo de vivacidad.
LIVENESS_FACE_ATTACKSe detectó un posible intento de evadir el chequeo de vivacidad.
DUPLICATED_FACESe identificó un rostro duplicado de otra sesión aprobada.
POSSIBLE_DUPLICATED_FACEEste rostro podría coincidir con otro usuario ya aprobado en el sistema.
MULTIPLE_FACES_DETECTEDSe detectaron varios rostros en la imagen. Se usa el más grande para la verificación. (Solo Liveness pasivo)
LOW_FACE_QUALITYLa calidad de la imagen facial está por debajo del umbral aceptable. (Solo Liveness pasivo)
LOW_FACE_LUMINANCELa imagen facial es demasiado oscura. (Solo Liveness pasivo)
HIGH_FACE_LUMINANCELa imagen facial está demasiado brillante o sobreexpuesta. (Solo Liveness pasivo)

AML (KYC por sesión)

Cuando el AML corre dentro de la sesión, los códigos de riesgo de las warnings del screening se fusionan en el array warnings de la validación.
CódigoDescripción
POSSIBLE_MATCH_FOUNDEl screening AML encontró posibles coincidencias con listas o bases de alto riesgo; puede requerir revisión.
COULD_NOT_PERFORM_AML_SCREENINGNo se pudo completar el screening AML con los datos disponibles (p. ej. faltan campos requeridos).

Análisis de dispositivo e IP (KYC por sesión)

Cuando el análisis de dispositivo e IP corre dentro de la sesión, los códigos de riesgo de ip_analyses[].warnings[] (o legacy ip_analysis.warnings) se fusionan en el array warnings de la validación.
CódigoDescripción
PRIVATE_NETWORK_DETECTEDLa sesión se abrió mediante VPN, proxy o red Tor.
COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IPEl país del documento de identidad no coincide con el país derivado de la dirección IP.
EXPECTED_IP_ADDRESS_MISMATCHLa IP en vivo difiere de la IP esperada indicada al crear la sesión.
IP_ADDRESS_IN_BLOCKLISTLa dirección IP de la sesión coincide con una entrada en la blocklist de IP del proveedor (fuerza rechazo en el proveedor).
DEVICE_FINGERPRINT_IN_BLOCKLISTLa huella del dispositivo coincide con una entrada en la blocklist de dispositivos del proveedor (fuerza rechazo en el proveedor).
DUPLICATED_IP_ADDRESSLa misma dirección IP se usó en otra sesión con un identificador de usuario distinto (vendor_data).
DUPLICATED_DEVICE_FINGERPRINTLa misma huella persistente del dispositivo se reutilizó en sesiones con identificadores de usuario distintos.
DEVICE_RECOVERED_HIGH_CONFIDENCERecuperación de dispositivo con alta confianza: la sesión coincide con un dispositivo visto antes tras cambiar el ID persistente (p. ej. incógnito, borrado de almacenamiento o reinstalación).

Internos (Gu1)

Códigos que Gu1 puede añadir (entidad vs OCR, política de nombre, sandbox, etc.) y aparecer en warnings de la validación por sesión cuando corresponda.
CódigoDescripción
GUENO_DOCUMENT_NUMBER_MISMATCHEl número de documento de la verificación no coincide con el de la entidad al momento del chequeo.
GUENO_PERSONAL_NUMBER_MISMATCHLos chequeos de documento/personal contra la entidad no alinean como se exige.
GUENO_KYC_NAME_SIMILARITY_BELOW_MINLa similitud del nombre de la entidad con el derivado del documento está por debajo del mínimo de la organización.
SANDBOX_KYC_REJECTED_DEFAULTResultado de prueba en sandbox: validación rechazada cuando el tax ID coincidió con la lista de prueba.

Cruce con registro (Argentina / RENAPER)

Con doble chequeo RENAPER activado, si un problema de registro se expone como código en warnings, pueden usarse las mismas cadenas. En los idiomas del producto suelen mapearse bajo rejectionReasonCodes (y resoluciones de respaldo donde aplique).
CódigoDescripción
RENAPER_DNI_MISSINGNo se pudo ejecutar el cruce: no hay número de documento (DNI) desde la verificación.
RENAPER_GENDER_MISSINGNo se pudo ejecutar el cruce: hace falta género (M/F) para el registro.
RENAPER_VERIFICATION_UNAVAILABLENo se pudo completar el registro; reintentar más tarde.
RENAPER_DNI_NOT_MATCHEl número de documento no coincide con el registro oficial.
RENAPER_TRAMITE_DATA_MISSINGNo se pudo comparar el número de trámite: faltan datos requeridos.
RENAPER_TRAMITE_ID_NOT_MATCHEl número de trámite no coincide con el registro (p. ej. ejemplar de DNI desactualizado).
RENAPER_CREDENTIALS_REQUIREDFaltan credenciales RENAPER configuradas para la organización.
RENAPER_NOT_VALID_CREDENTIALSLas credenciales RENAPER no son válidas.

Ejemplo de respuesta (ID Verification)

{
  "status": "approved",
  "verificationId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "requestId": "req_abc",
  "extractedData": { "fullName": "Jane Doe", "documentNumber": "12345678" },
  "warnings": ["POSSIBLE_DUPLICATED_USER"]
}

Ejemplo de respuesta (Face Match)

{
  "match": true,
  "score": 85,
  "status": "approved",
  "verificationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "warnings": []
}

ID Verification

Verificar frente/reverso del documento y extraer datos

Face Match

Comparar retrato del documento y selfie