API de verificación facial online

Compare dos imágenes faciales desde su backend y reciba las señales documentadas dist, sim y same_person. Su aplicación decide cómo utilizar el resultado. Para un flujo de navegador con captura en vivo, consulte verificación facial online.

Conéctese a FACEIO Console para crear aplicaciones, administrar APIs y configurar webhooks para eventos de registro, autenticación y Facial ID.

Cómo encaja la verificación en su flujo

Elija la ruta de integración que corresponda a su arquitectura y a su modelo de interacción con el usuario.

FACEIO ofrece dos rutas para la verificación facial según dónde deba realizarse la comprobación en su sistema. El flujo del navegador utiliza fio.js para la interacción con la cámara y la captura en vivo. La API REST está destinada a servicios backend que ya tienen dos imágenes faciales para comparar. Para un widget emergente del navegador que combina la captura de un documento de identidad con una selfie en vivo, consulte FACEIO ID Match. Para contexto conceptual, compare con flujos de verificación facial online.

SDK basado en el navegador

Adecuado cuando la verificación se realiza en un punto de interacción donde el usuario está físicamente presente.

  • fio.js gestiona la interfaz de cámara y la captura en vivo
  • Ideal para incorporación KYC y recuperación de cuentas
  • El backend verifica el payload y toma la decisión

API REST directa

Adecuado para flujos exclusivamente backend en los que las imágenes ya están disponibles en su servidor.

  • Llamadas directas al endpoint /faceverify
  • Útil para comparar imágenes en el backend y verificar documentos de identidad
  • No requiere una sesión activa del navegador

Entradas de la API y señales de verificación

El endpoint faceverify acepta una solicitud POST con su clave de API y dos imágenes, ya sean data URI en Base64 o URLs de acceso público. Cada imagen debe contener un solo rostro. Si la entrada contiene varios rostros, extraiga el rostro objetivo antes de enviar la solicitud.

Entradas de la solicitud

Parámetro Descripción
key La clave de API REST de su aplicación. Envíe este valor únicamente desde su backend; no la exponga en el código del cliente.
src La imagen de origen como data URI en Base64 o URL de acceso público. Normalmente, una fotografía de un documento de identidad o un selfie verificado previamente.
target La imagen objetivo que se comparará con la de origen, como data URI en Base64 o URL de acceso público.

Salidas de la respuesta

Campo Tipo Descripción
status Integer Código de estado HTTP; 200 indica que la solicitud se procesó correctamente.
same_person Boolean true si las dos imágenes coinciden, false si no coinciden.
dist Float Métrica de distancia entre 0 y 1. Un valor más alto indica una coincidencia más fuerte.
sim Float Puntuación de similitud coseno entre los dos vectores de características faciales.

Consejo de implementación: Para flujos sensibles, use los valores dist y sim juntos para calibrar el umbral de coincidencia en su lógica de decisión, en lugar de depender únicamente del valor booleano same_person. Alinee los umbrales con su política documentada y revise las buenas prácticas de seguridad.

Patrones de implementación

1. Incorporación web con captura en el navegador (KYC)

En un flujo de tipo KYC, el usuario realiza una captura facial en vivo en el navegador durante el registro. Su backend proporciona esa captura y una imagen de referencia procedente de un escaneo de documento anterior, y después llama a faceverify para compararlas. La respuesta es una entrada técnica para la política de incorporación, reintento o revisión manual controlada por el cliente; no autentica el documento ni completa verificaciones KYC o AML.

backend_verify.py
# Python: llamada de verificación desde el backend
import requests, base64

def encode_image(path):
    with open(path, 'rb') as f:
        return 'data:image/jpeg;base64,' + base64.b64encode(f.read()).decode()

payload = {
    'key': 'YOUR_API_KEY',
    'src': encode_image('id_document.jpg'),   # reference
    'target': encode_image('live_selfie.jpg') # live capture
}

result = requests.post('https://api.faceio.net/faceverify', json=payload).json()

# Respuesta de ejemplo
# {
#     "status": 200,
#     "same_person": true,
#     "dist": 0.97,
#     "sim": 0.94
# }

2. Toma de decisiones en el backend con umbrales de confianza

Su backend puede leer los campos documentados de la respuesta y enrutar la solicitud según los umbrales y las reglas de revisión definidos para su caso de uso. Pruebe esas reglas con sus propios datos y requisitos en lugar de considerar universal un umbral de ejemplo. Este patrón puede contribuir a los controles de fintech y eKYC.

Confianza alta

Aplique la política de continuación definida y probada por su organización.

Confianza límite

Envíe los resultados de baja confianza a una cola de revisión manual en lugar de rechazarlos automáticamente.

Confianza baja

Solicite otro intento, otro factor o una revisión según su política.

3. Recuperación de cuentas sin credenciales

El usuario solicita acceso a una cuenta y envía un selfie nuevo desde una página de recuperación. Su backend lo compara con la imagen de referencia conservada para esa cuenta.

Trate el resultado de comparación facial como una señal de recuperación. Su backend también debe aplicar los controles de cuenta, dispositivo, sesión, reintentos y soporte necesarios antes de restaurar el acceso.

Buenas prácticas de seguridad y privacidad

La API de verificación facial procesa transitoriamente imágenes faciales sensibles para cada comparación. Su aplicación sigue siendo responsable de los avisos, el consentimiento, la validación de entradas, su propia política de retención y las decisiones finales sobre las cuentas. Utilice las siguientes prácticas en cada integración:

  • Mantenga privada su clave de API.

    El endpoint faceverify debe llamarse únicamente desde su backend. Su clave de API autentica la solicitud y no debe aparecer en código del navegador, paquetes móviles, repositorios públicos, herramientas de analítica ni registros.

  • Enrute siempre mediante su backend.

    Las solicitudes de verificación realizadas directamente desde el navegador omiten su capa de validación del servidor y no pueden considerarse confiables.

  • Minimice la retención de imágenes.

    FACEIO procesa ambas imágenes en memoria y las descarta después de generar el resultado. Su aplicación solo debe conservar imágenes faciales cuando lo exijan su flujo, política y base legal.

  • Registre los resultados de verificación para su registro de auditoría.

    Si necesita un registro de auditoría, su backend debe guardar el resultado, la marca de tiempo, el contexto de la solicitud y los identificadores internos relevantes al recibir la respuesta. Evite registrar imágenes sin procesar o claves de API.

  • Proporcione avisos y obtenga el consentimiento cuando sea necesario.

    Su flujo de incorporación o recuperación debe explicar por qué se utiliza la verificación facial, qué datos se procesan y cómo los usuarios pueden solicitar la eliminación o un acceso alternativo. Revise las buenas prácticas de privacidad y el Centro de confianza.

Conclusión

La API de Verificación Facial de FACEIO ofrece a su backend una forma directa de comparar dos imágenes faciales. Usted proporciona las imágenes y el umbral de decisión; la API devuelve las señales de verificación y la lógica de su aplicación controla la decisión final. Para un flujo de captura en vivo en el navegador con comprobaciones de vivacidad, use verificación facial online. Para escanear documentos y comparar selfies en un solo widget, use ID Match. Próximos pasos: revise Guías para desarrolladores, el endpoint FACEVERIFY, y Buenas prácticas de seguridad.

Conecte la API de Verificación Facial

Cree una aplicación FACEIO, mantenga la clave de API REST en su backend y utilice la referencia oficial del endpoint para comparar imágenes de origen y objetivo en su flujo de identidad.

Clave de API solo para backend
Procesamiento transitorio
Integración guiada por políticas