Descripción General
Al usar la API de Face Compare con una URL de callback, el sistema procesa la solicitud de forma asíncrona y envía los resultados a su endpoint de callback especificado. Este enfoque es ideal para el procesamiento por lotes o cuando necesita manejar múltiples solicitudes sin bloquear su aplicación.Estructura de la Respuesta
La respuesta de callback contiene los siguientes componentes clave:- statusCode: Código de estado HTTP que indica el resultado
- apiType: Identificador del tipo de API (“compare_face”)
- transactionId: Identificador único para el seguimiento de la solicitud
- result: Objeto que contiene resultados detallados de comparación
Respuesta de Ejemplo
Campos de Respuesta
Información de Estado
- statusCode: Código de estado HTTP (200 para éxito)
- apiType: Siempre “compare_face” para esta API
- transactionId: Identificador único de transacción
Resultados de Reconocimiento Facial
- isAvailable: Booleano que indica si se detectó un rostro
- boundingBox: Coordenadas del rostro detectado
- Width: Ancho del cuadro delimitador (escala 0-1)
- Height: Altura del cuadro delimitador (escala 0-1)
- Left: Coordenada izquierda del cuadro delimitador (escala 0-1)
- Top: Coordenada superior del cuadro delimitador (escala 0-1)
- confidence: Puntuación de confianza de la detección facial (escala 0-1)
Análisis de Similitud
- score: Puntuación de similitud entre los dos rostros (escala 0-1)
- threshold: Umbral utilizado para la coincidencia (típicamente 0.8)
- isMatch: Booleano que indica si los rostros coinciden según el umbral
Respuestas de Error
Directrices de Integración
- Configure su endpoint de callback para recibir solicitudes POST
- Valide el transactionId para asegurarse de que está procesando la respuesta correcta
- Verifique el statusCode para determinar si la solicitud fue exitosa
- Analice el objeto result para extraer puntuaciones de similitud y datos de detección facial
- Maneje errores con elegancia verificando los objetos de error en la respuesta
Mejores Prácticas
- Implemente idempotencia usando el transactionId para evitar procesamiento duplicado
- Establezca tiempos de espera apropiados para su endpoint de callback
- Registre todas las respuestas para depuración y monitoreo
- Valide la estructura de la respuesta antes de procesar los datos
- Maneje errores de red e implemente lógica de reintentos si es necesario