Skip to main content

El flujo en cuatro pasos

1

Verifique la conectividad

GET /version con su Api-Key (no la exige, pero así prueba la cabecera completa). Debe responder 200. Evalúe el código de estado, no el cuerpo: su formato no forma parte del contrato. Si falla, el problema es de URL, red o proxy — todavía no hay nada que depurar del lado de la API.
2

Prepare las imágenes

JPEG o PNG, en base64 sin el prefijo data: y sin saltos de línea. Un rostro por imagen, de frente, bien iluminado.
3

Declare las operaciones

operations es una lista de listas alineada con images: operations[i] aplica a images[i]. Si la omite, cada imagen corre biometric por defecto.
4

Decida con la regla en positivo

status === 200 && biometric["0"]["1"] >= 70 confirma; cualquier otra cosa no confirma. Los detalles del umbral están en la introducción.

Requisitos de imagen

Para convertir una imagen a base64:

El cuerpo de la solicitud

operations desalineado no es un 400 prolijo. Una lista operations más corta que images produce un 500 con cuerpo en texto plano (Internal Server Error), y omitir images también. Valide la alineación antes de llamar; esos errores son de su solicitud y reintentarlos devuelve exactamente lo mismo.

Los tres modos de comparar

Si guarda vectores para comparar después, guarde también con qué metodología se generaron y compare siempre con la misma. Un vector vu_v4 comparado con euclidean_l2 da puntajes de otra escala y su umbral deja de valer.

Un lote no tolera fallas parciales

Si envía 4 imágenes y la tercera no tiene rostro, no recibe 3 resultados y un error: recibe un solo 400 con imageNumber: 2 (base 0) y ningún resultado. No hay resultados parciales. Si su flujo tolera fallas por imagen, envíe una solicitud por imagen.

Timeouts y reintentos

Antes de salir a producción

  1. GET /version responde 200 en el ambiente de producción con su conectividad.
  2. Su condición de verificación exige 200 y puntaje ≥ 70 sobre biometric["0"]["1"], y una respuesta inesperada no aprueba por descarte.
  3. Si cambió distanceMethodology, calibró su propio umbral y no reutilizó el 70.
  4. Su deserializador indexa los resultados por cadena ("0", "1") y tolera que inferenceConfidence venga con o sin code/confidence.
  5. Su cliente HTTP tolera cuerpos de error que no son JSON (los 500 en texto plano).
  6. operations tiene exactamente una entrada por imagen.
  7. Las imágenes miden al menos 360 × 360 y el JPEG va en calidad ≥ 90.
  8. Nunca reintenta un no-match ni un spoofing: true con la misma imagen.
  9. La api-key vive en su backend, nunca en la app móvil ni en el front-end.
  10. Envía un info propio por operación y registra el id de cada respuesta.
  11. events queda deshabilitado en producción: la traza es para diagnóstico.

Siguiente: Respuestas

La matriz biométrica campo por campo, el veredicto de calidad que cambia de forma y el antispoofing anidado.
Última modificación el 9 de septiembre de 2026