Estructura de las respuestas JSON
Campos y formas de payload que recibe su aplicación en el cliente al finalizar o interrumpir un proceso biométrico: función callback del SDK Web, o respuesta JSON del SDK Android e SDK iOS.
Campos del JSON
La respuesta puede variar según la configuración del proceso y el punto del flujo en el que se genere. Como mínimo, debes validar la presencia de los campos antes de utilizarlos.
| Campo | Tipo | Descripción |
|---|---|---|
result |
Boolean |
Indica si el proceso biométrico fue exitoso (true) o no (false). |
msg |
String |
Mensaje asociado al resultado. Cuando result es false, indica la causa del error o del rechazo. |
id |
String |
ID único del proceso de validación. Puede no estar presente en algunos errores. |
confidence |
Number |
Nivel de confianza del proceso biométrico. Puede no estar presente en algunos errores. |
description |
String |
Descripción adicional del proceso, cuando exista. |
minimal_response |
Boolean |
Indica si el backend generó una respuesta completa o mínima. |
process_data |
Object o null |
Datos biométricos capturados. Puede ser null u omitirse según la configuración del proceso o el tamaño de las imágenes. |
require |
Any |
Requisitos adicionales solicitados por el proceso, cuando aplique. |
urlRedirect |
String o null |
URL de redirección configurada para el proceso, cuando aplique. |
code |
Number |
Código numérico asociado (no siempre coincide con HTTP). No está presente en todas las respuestas. |
En respuestas completas pueden venir process_data, urlRedirect, etc. En muchos errores de captura solo llegan result, msg, id y confidence.
Nota sobre code
Un proceso puede finalizar con result: false y code: 200 cuando el rechazo corresponde a un challenge no superado. El campo code describe el estado del resultado, no necesariamente el código HTTP de una petición.
Respuesta final completa
Cuando el proceso se resuelve y la respuesta no está configurada como mínima, puede recibir una estructura como la siguiente:
{
"id": "aaaa.bbbb.ccc",
"user_id": "11111111",
"result": true,
"msg": "success",
"description": "",
"confidence": 0.8984457,
"minimal_response": false,
"process_data": {
"ocr": {},
"personal_info": {
"doc_type": "",
"family_name": "",
"given_name": "",
"id": "11111111",
"nat": "PER"
},
"selfie": "base64encodedstring",
"doc": {
"front": "base64encodedstring",
"back": "base64encodedstring"
}
},
"require": null,
"urlRedirect": null
}
Respuesta mínima
Si el proceso está configurado para entregar una respuesta mínima, el objeto se reduce a los campos principales:
Los campos id y confidence pueden no estar presentes si el error se generó antes de que esa información estuviera disponible.
Campos de process_data
| Campo | Tipo | Descripción |
|---|---|---|
ocr |
Object |
Datos de OCR extraídos del documento. |
personal_info |
Object |
Información personal del usuario. |
personal_info.doc_type |
String |
Tipo de documento de identidad. |
personal_info.family_name |
String |
Apellido(s) del usuario. |
personal_info.given_name |
String |
Nombre(s) del usuario. |
personal_info.id |
String |
Número de documento de identidad. |
personal_info.nat |
String |
Nacionalidad (código de país). |
selfie |
String |
Imagen de selfie codificada en BASE64. |
doc.front |
String |
Imagen del anverso del documento codificada en BASE64. |
doc.back |
String |
Imagen del reverso del documento codificada en BASE64. |