Validación Biométrica

Valida el rostro del usuario contra el template registrado — para login, pagos o firma de contratos.

Instalación del SDK

Antes de integrar, instala el SDK en Getting Started → Instalar el SDK →

POST /api/kyc/verify
Cuándo usar este flujo

Login seguro, autorización de transferencias, aprobación de pagos, firma de contratos — cualquier operación donde necesitas confirmar que la persona es realmente el usuario enrolado.

Flujo

1

Validación de entorno

Controles RASP previos a la captura.

2

Captura facial

Captura del rostro con prueba de vida.

3

Datos cifrados

El SDK devuelve template + payload cifrados al aplicativo bancario.

4

Solicitud de validación

Tu backend reenvía template + payload al endpoint /api/kyc/verify, que compara contra el template registrado.

Llamada del SDK

Kotlin
// Step-up auth — login, payment, contract signing, etc.
SmartId
    .getInstance()
    .captureBiometric(getApplicationContext())
    .onSuccess { template, payload ->
        // forward to your backend → POST /api/kyc/verify
    }
    .onFailure { message, errorCode ->
        // capture failed
    }
    .start()
Swift
SID.shared.startLocation()

SID.shared
    .captureBiometric()
    .onSuccess(success: { template, payload in
        // forward to your backend → POST /api/kyc/verify
    })
    .onFailure(failure: { message, errorCode in
        // capture failed
    })
    .start()

Llamada al backend

cURL
curl -X POST https://<api-url>/api/kyc/verify \\
  -H "Content-Type: application/json" \\
  -H "X-Api-Key: <your-api-key>" \\
  -d '{
    "User": "[email protected]",
    "Template": "<template from SDK>",
    "PayLoad": "<payload from SDK>"
  }'

Cuerpo de la solicitud

CampoTipoRequeridoDescripción
UserstringRequeridoIdentificador único del usuario (debe estar previamente enrolado)
TemplatestringRequeridoTemplate biométrico cifrado generado por el SDK
PayLoadstringRequeridoMetadata adicional generada por el SDK

Códigos de respuesta

CódigoSignificado
200Validación exitosa
406Usuario no encontrado (no enrolado previamente)
407Validación del template falló
409Comparación facial falló
413Similitud por debajo del umbral
414Canal del usuario deshabilitado
425/426Timestamp inválido / template expirado
500/701Error interno / al llamar al servicio