Saltar al contenido principal

Descripción general

Face Search emite un pequeño conjunto de advertencias para que tu equipo pueda saber por qué una búsqueda devolvió Approved o Declined. Las advertencias se devuelven en el array face_search.warnings[] de la respuesta de POST /v3/face-search/ (consulta el informe de Face Search). Aquí las advertencias usan una estructura reducida en comparación con las advertencias del flujo de verificación (workflow): no hay node_id. El contrato de respuesta documentado declara cinco campos (risk, additional_data, log_type, short_description, long_description), y el payload en tiempo de ejecución incluye además feature, que siempre es "LIVENESS" en este endpoint.

Advertencias generadas

Generador: FaceSearchAPIView.add_warnings (apis/views/face_search.py:250-330); derivación del estado: get_face_search_status (apis/views/face_search.py:242-248), que rechaza solo en los dos riesgos de lista de bloqueo. Reglas de emisión que conviene conocer:
  • La lista de bloqueo tiene prioridad sobre los duplicados. Una coincidencia confirmada en la lista de bloqueo suprime DUPLICATED_FACE, y una posible coincidencia en la lista de bloqueo suprime POSSIBLE_DUPLICATED_FACE: nunca recibes ambos miembros de un par para la misma banda de confianza.
  • additional_data hace referencia solo al primer rostro coincidente, aunque matches[] contenga varios. Las advertencias de lista de bloqueo incluyen {blocklisted_session_id, blocklisted_session_number, api_service}; las advertencias de duplicados incluyen {duplicated_session_id, duplicated_session_number, api_service}; MULTIPLE_FACES_DETECTED incluye null. El valor de api_service está en mayúsculas (p. ej., PASSIVE_LIVENESS) o es null en las sesiones del flujo de trabajo.
  • Los rostros de la lista de permitidos suprimen las advertencias de duplicados: una coincidencia de alta confianza con la lista de permitidos elimina DUPLICATED_FACE/POSSIBLE_DUPLICATED_FACE (nunca elimina las advertencias de lista de bloqueo).

Textos exactos de las advertencias

Validación previa de la imagen de búsqueda

Cuando no se detecta ningún rostro en user_image, la API rechaza la solicitud con HTTP 400 y {"error": "No face detected in the image"} antes de construir un objeto face_search, por lo que una advertencia NO_FACE_DETECTED nunca aparece en una respuesta exitosa de Búsqueda facial. Esto se devuelve como una cadena error de nivel superior, no en warnings[].

Configuración disponible

Las bandas de similitud que separan las coincidencias confirmadas (FACE_IN_BLOCKLIST, DUPLICATED_FACE) de las posibles (POSSIBLE_FACE_IN_BLOCKLIST, POSSIBLE_DUPLICATED_FACE) son fijas internamente: el ajuste de umbrales por aplicación se aplica a la comprobación de prueba de vida del flujo, no a este endpoint. Los parámetros que controlas en cada solicitud son:
  • search_type (most_similar, valor predeterminado | blocklisted_or_approved): most_similar ordena todos los rostros registrados por similitud; blocklisted_or_approved limita los candidatos a los rostros de la lista de bloqueo, los rostros de la lista de permitidos, los rostros de sesiones aprobadas y los rostros de perfiles de usuario importados, y sitúa primero las entradas de la lista de bloqueo.
  • save_api_request (valor predeterminado true): guarda la llamada como una sesión de tipo API y registra el rostro buscado en tu índice de búsqueda facial. Los rostros registrados mediante llamadas de Face Search se excluyen de los resultados futuros de Face Search. Establécelo en false para consultar sin almacenar ni registrar.
  • rotate_image (valor predeterminado false): prueba rotaciones de 90 grados y conserva la orientación con la mejor detección facial; resulta útil cuando falta la orientación EXIF.

Ejemplos

Coincidencia en la lista de bloqueo (fuerza Declined)

Señal de duplicado (el estado se mantiene en Approved)

Relacionado

Tipos de advertencia

Última modificación el 1 de noviembre de 2026