Saltar al contenido principal
La sección de Ejemplos de Respuesta de Callback muestra respuestas de ejemplo que los usuarios pueden anticipar de las interacciones con la API, proporcionando claridad sobre la estructura y formato de la respuesta. Al utilizar estos ejemplos, los usuarios pueden desarrollar y probar sus integraciones de manera efectiva, garantizando una comunicación fluida entre su aplicación y la API. Esta sección sirve como un recurso valioso para mejorar el proceso de integración y optimizar los esfuerzos de desarrollo.

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

{
  "statusCode": 200,
  "apiType": "compare_face",
  "transactionId": "txn_123456789",
  "result": {
    "face": {
      "isAvailable": true,
      "boundingBox": {
        "Width": 0.42534321546554565,
        "Height": 0.567890123456789,
        "Left": 0.12345678901234567,
        "Top": 0.23456789012345678
      },
      "confidence": 0.9876543210987654
    },
    "targetFace": {
      "isAvailable": true,
      "boundingBox": {
        "Width": 0.4567890123456789,
        "Height": 0.543210987654321,
        "Left": 0.13456789012345678,
        "Top": 0.24567890123456789
      },
      "confidence": 0.9765432109876543
    },
    "similarity": {
      "score": 0.8543210987654321,
      "threshold": 0.8,
      "isMatch": true
    }
  }
}

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

{
  "statusCode": 400,
  "apiType": "compare_face",
  "transactionId": "txn_123456789",
  "error": {
    "code": "INVALID_IMAGE",
    "message": "One or both images are invalid or corrupted"
  }
}

Directrices de Integración

  1. Configure su endpoint de callback para recibir solicitudes POST
  2. Valide el transactionId para asegurarse de que está procesando la respuesta correcta
  3. Verifique el statusCode para determinar si la solicitud fue exitosa
  4. Analice el objeto result para extraer puntuaciones de similitud y datos de detección facial
  5. 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