status y spoofing; esta página sirve para entender qué pasó, poblar sus logs y abrir tickets con contexto.
Campos de la respuesta
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.
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—.
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ó
Cuandoinfo 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:Errores
Códigos de error, cómo distinguir los suyos de los del servicio y cuáles se reintentan.