Skip to main content
Todo lo que sigue es diagnóstico. La decisión ya la tomó con status y spoofing; esta página sirve para entender qué pasó, poblar sus logs y abrir tickets con contexto.

Campos de la respuesta

No construya lógica de negocio sobre errorCode, values, confidence ni info. No forman parte del contrato y su forma cambia entre versiones del servicio.

info: tres formas, un solo lector

info es polimórfico. Puede llegar como objeto, como string o como null, y null aparece en dos lugares distintos: el info de nivel superior y el info.info anidado.
Que info llegue como objeto no significa que la persona fue bloqueada. En nuestro banco de pruebas, las 47 aprobaciones tenían info como objeto, con deepfake-filter y detected: false —es decir, el filtro corrió y no encontró nada—. Lo único que distingue aprobar de no aprobar es spoofing.

imageQuality es opcional, y sus claves también

imageQuality es un mapa de claves opcionales: puede faltar entero y, cuando está, puede traer unas claves y no otras. Sobre 116 respuestas de prueba, 102 traían face, 10 traían brightSpots y las 4 respuestas 422 No Face Detected no traían imageQuality en absoluto —coherente: sin rostro no hay nada que medir—.
Lea cada nivel a la defensiva. body.imageQuality?.face?.is_too_small es correcto; body.imageQuality.face.is_too_small lanza excepción el día que llega un 422.

Qué componente respondió

Cuando info es un objeto, sus claves revelan qué detectó el servicio. Esta tabla es para leer un caso, no para decidir sobre él:
Nunca escriba lógica sobre el valor de info.service. Los nombres internos de servicio cambian. Si necesita saber si hubo diagnóstico, pregunte por su presencia, no por su contenido.

Los valores de confianza no son comparables

Este es el error de interpretación más frecuente. En la respuesta conviven varios números llamados «confianza» con escalas distintas, y dos de ellos apuntan en direcciones opuestas:
Nunca compare, promedie ni aplique un umbral común a estos valores. Un confidence: 0 puede significar «certeza absoluta de fraude» (proveedor A) y un confidence: 0.99 también (proveedor B). Cualquier regla del tipo «si la confianza es mayor a X» produce decisiones invertidas según qué componente haya respondido.

Errores

Códigos de error, cómo distinguir los suyos de los del servicio y cuáles se reintentan.
Última modificación el 9 de septiembre de 2026