Descripción general
El informe de coincidencia facial recoge una comparación biométrica 1:1 entre la selfie en vivo capturada durante la prueba de vida y una imagen de referencia, que suele ser el retrato extraído del documento de identidad. Devuelve una única puntuación de similitud de 0 a 100, URL firmadas de las dos imágenes comparadas, la sesión de origen de la imagen de referencia y las advertencias que haya generado la comparación. El informe se genera cuando el usuario completa tanto el paso de prueba de vida como el paso de documento en un flujo de verificación (workflow) (o, en flujos basados en retrato como la autenticación biométrica, solo tras la prueba de vida). También se genera directamente con la API de coincidencia facial independiente cuando tú mismo proporcionas dos imágenes de rostro cualesquiera. Cada informe tiene su propiostatus, independiente del estado general de la sesión, que refleja solo cómo se resolvió el paso de coincidencia facial:
- Approved:
scoresupera el umbral de revisión y no se activó ninguna advertencia de rechazo automático. - In Review:
scoreestá entre los umbrales de rechazo y de revisión, o no se pudo calcular ninguna puntuación yface_match_not_computed_actionesREVIEW. - Declined:
scorees igual o inferior al umbral de rechazo, se activóNO_REFERENCE_IMAGE, o no se pudo calcular ninguna puntuación yface_match_not_computed_actionesDECLINE. - Resub Requested: un revisor solicitó desde la consola que el usuario vuelva a enviar este paso.
- Not Finished: el paso de coincidencia facial aún no ha producido un resultado (también mientras el usuario reintenta una captura fallida).
Dónde aparece en las respuestas de la API
El informe de coincidencia facial se incluye en el arrayface_matches[], que siempre es un array JSON y nunca un objeto face_match singular. Es null hasta que al menos un paso de coincidencia facial haya producido datos, y aparecen varias entradas cuando un flujo ejecuta la coincidencia facial más de una vez. Un flujo de verificación de edad adaptativa también lo rellena cuando se ejecuta el mecanismo alternativo de verificación de identidad: esa entrada indica el ID del nodo de estimación de edad en su node_id, ya que el flujo no tiene un nodo propio de coincidencia facial.
- API de decisión de sesión:
GET /v3/session/{sessionId}/decision/devuelveface_matches[]en el nivel superior. Consulta Obtener la decisión de la sesión. - Webhooks: los payloads de
session.status.updatedincluyen el mismo arrayface_matches[]en cuanto el paso ha producido datos. Consulta Webhooks. - API de coincidencia facial independiente: para comparaciones 1:1 directas, consulta la API independiente de coincidencia facial.
Lee
response.face_matches[0] y recorre el array: la estructura singular face_match que mencionaban algunos tutoriales antiguos no existe en el endpoint de decisión v3.Esquema
El esquema canónico campo por campo se encuentra en la página de referencia Modelos de datos. Los campos siguientes reflejan ese esquema canónico.Valores de estado
Los fallos por baja similitud se reintentan antes de que el estado quede fijado: el usuario dispone de hasta
face_match_max_attempts intentos de captura (3 por defecto) y solo se aplica la puntuación del último intento. Las reglas de estado personalizadas configuradas en el nodo del flujo pueden ajustar además el estado resultante, combinándose con el estado derivado de la puntuación según la precedencia Declined > In Review > Approved.
Ejemplos
Aprobado: coincidencia limpia
En revisión: similitud dudosa
Rechazado: no hay imagen de referencia con la que comparar
Nota de seguridad
Las URL firmadas desource_image y target_image son datos biométricos y caducan tras un breve periodo de validez. Trátalas como datos de corta duración: no las almacenes en caché ni las expongas públicamente. Normalmente tu aplicación solo necesita status y score: guarda lo mínimo posible para reducir los datos biométricos en tus servidores.
Relacionado
- Advertencias de coincidencia facial — enum completo de advertencias, causas y cómo resolverlas.
- Informe de prueba de vida — el paso previo que captura la imagen objetivo.
- Webhooks — escucha
session.status.updatedpara recibir el informe. - Modelos de datos — Coincidencia facial — esquema canónico con todos los campos.