Saltar al contenido principal
Version: 2.0.0

Liveness

POST

  https://api.apptenticate.com/api/v2/biometrics/liveness/


Autenticación

Usa tu JWT obtenido del proceso de autenticación para hacer peticiones a este endpoint.

La respuesta sera 401 unauthorized si el JWT se encuentra vencido. En dicho caso deberás obtener un nuevo JWT.


Este endpoint es el punto de entrada para todas las peticiones dirigidas al servicio Liveness, el cual permite procesar selfies y clasificarlas como spoofing o reales.

Spoofing: Ataque a un sistema biométrico facial que utiliza una imagen para engañar al proceso de autenticación.

Datos de la petición

Para realizar una petición a este endpoint se pueden enviar los siguientes parámetros en el body de la misma:

NameTipoDescripciónRequerido
selfiefileImagen del selfie de la persona. El endpoint admite cualquier formato de imagen valido (PNG, JPG, JPEG, etc.)true
return_idbooleanBooleano que indica si se desea obtener el ID de la transacción.false
devicestringDispositivo desde el cual se está realizando la prueba de vida. DESKTOP, IOS o ANDROID.false
detailsbooleanBooleano que indica si se desea obtener detalles de la prueba de vida.false

Parámetros de respuesta

Si se elige visualizar los details junto al response, se obtendrán los siguientes datos:

Formato de respuesta: JSON
data: {
"api_response": {
"score": 2.656599,
"quality": 0.8511556,
"liveness": 0.9344166
},
}

score: Cuanto mayor sea la puntuación, mayor será la liveness de la imagen. El valor no está limitado y puede ser usado con fines de calibración.

quality: Define que tan "apropiada" es la imagen para la comprobación de liveness. El valor puede estar en el rango [0,1]. Las imágenes con valores de calidad inferiores a 0,5 serán rechazadas automáticamente por el servicio.

liveness: Define que tan "real" es la imagen o si se trata de spoofing. El valor puede estar en el rango [0,1]. Las imágenes con valores de liveness inferiores a 0,5 serán rechazadas automáticamente por el servicio.

Ejemplo de petición

Request
curl --location 'https://api.apptenticate.com/api/v2/biometrics/liveness/' \
--form 'selfie="<selfie>"' \
--form 'return_id="<return_id>"' \
--form 'device="<device>"' \
--form 'details="<details>"'

Ejemplos de respuestas

Este sera el formato de la respuesta obtenida al enviar todos los parámetros:

Formato de respuesta: JSON
data: {
"valid": true,
"api_response": {
"score": 2.656599,
"quality": 0.8511556,
"liveness": 0.9344166
},
"id": 1111
}

Al dejar de enviar el parámetro return_id en la petición, el formato de la respuesta sera el siguiente:

Formato de respuesta: JSON
data: {
"valid": true,
"api_response": {
"score": 2.656599,
"quality": 0.8511556,
"liveness": 0.9344166
}
}

Si adicionalmente se omite el parámetro details en la petición, el formato de la respuesta sera el siguiente:

Formato de respuesta: JSON
data: {
"valid": true
}

Si el servicio detecta cualquier inconveniente en la imagen enviada, el formato de la respuesta sera el siguiente:

Formato de respuesta: JSON
data: {
"valid": false,
"message": "Rostro muy reducido en pixeles",
"error_code": 706
}

Códigos de rechazo

En caso de que la petición no sea exitosa, se enviará un código de rechazo en la respuesta. Los códigos de rechazo posibles son:

CódigoMensaje
700Rostro demasiado cerca.
701Rostro demasiado cerca de los bordes.
702Rostro incompleto.
703Rostro obstruido.
704Rostro no detectado
705Demasiados rostros.
706Rostro muy reducido en pixeles
707Angulo de rostro incorrecto.
708Error al leer imagen.
709Error al procesar imagen.
710Error al predecir bordes de rostro.
711Error interno de motor de prueba de vida
712Error desconocido.
713Calidad de imagen para prueba de vida no aceptable.
714Condiciones mínimas de imagen para prueba de vida no alcanzadas.
715Puntaje mínimo para prueba de vida no alcanzado.