Skip to main content

Process Credential

Este endpoint permite recuperar la información de una imagen de tarjeta de identificación. Este endpoint admite la utilización de archivos a través de los campos front_image y back_image, o la utilización de strings con el contenido de la imagen en base64 a través de los campos front_credential y back_credential. Para que la petición sea considerada válida, es obligatorio entregar una imagen con la parte frontal de la tarjeta, mediante el campo [front_image|front_credential], y la parte trasera de la tarjeta en el campo [back_image|back_credential].

Como resultado, se entrega un objeto JSON que respeta la estructura estándar de los servicios de Trust, y en específico, dentro del campo data se almacena todos los campos extraídos de la credencial, tales como el nombre, apellido o nacionalidad, por ejemplo. Además, genera los campos de información front_image, back_image y face_images, los cuales contienen enlaces de descarga para las imágenes obtenidas en el servicio.

Finalmente, el campo data también contiene los campos de estado validated, el cual indica si la autenticidad de la credencial ya ha sido demostrada a través de un endpoint de validación y el campo expired, el cual toma un valor booleano cuando el texto extraído en el campo date_due puede ser parseado a un formato de fecha estándar (explícitamente, el campo toma un valor false cuando la fecha de vencimiento de la credencial aún no ha ocurrido y true cuando la fecha ya pasó) y null cuando no se encuentra el campo o no es posible parsearlo.

Cabe señalar, que para que una credencial sea considerada válida, se deben poder extraer como mínimo los campos nombre (name), apellido (lastname), número de identificación (nin) y la foto de la parte frontal de la identificación (front_image).

Endpoint#

Headers

KeyValueDescription
Content-Typeapplication/json
AuthorizationBearer {{access_token}}access_token obtained in Atenea
Method: POST
URL: https://api.trust.lat/sapien/api/v1/credential
caution

Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea.

Como obtener un access token

Body#

Fields#

  • front_image: Archivo que contiene la imagen del lado frontal de la tarjeta de identificación. Exclusivo con front_credential | Obligatorio.
  • front_credential: String en base64 con el contenido la imagen del lado frontal de la tarjeta de identificación. Exclusivo con front_image | Obligatorio.
  • back_image: Archivo que contiene la imagen del lado trasero de la tarjeta de identificación. Exclusivo con back_credential | Obligatorio.
  • back_credential: String en base64 con el contenido la imagen del lado trasero de la tarjeta de identificación. Exclusivo con back_image | Obligatorio.
  • company_id: Identificador único de la compañia dentro del entorno Trust. Obligatorio.

Example#

Credencial como archivo de imagen#

KEYVALUE
front_imagefront_image.jpg [File]
back_imageback_image.jpg [File]
company_id1

Credencial como string en base64#

KEYVALUE
front_credential'data:image/jpeg;base64,/1234567890'
back_credential'data:image/jpeg;base64,/0987654321'
company_id1

Code Examples#

Credencial como archivo de imagen#

curl --location --request POST 'https://api.trust.lat/sapien/api/v1/credential' \
--header 'Authorization: Bearer {{access_token}}' \
--form 'front_image=@"/front_image.jpg"' \
--form 'back_image=@"/back_image.jpg"' \
--form 'company_id="1"'

Credencial como string en base64#

curl --location --request POST 'https://api.trust.lat/sapien/api/v1/credential' \
--header 'Authorization: Bearer {{access_token}}' \
--form 'front_credential="data:image/jpeg;base64,/1234567890"' \
--form 'back_credential="data:image/jpeg;base64,/1234567890"' \
--form 'company_id="1"'

Responses#

HTTP Code: 201 Created#

Credential processed successfully#

{
"code": 201,
"resource": "Credential",
"data": {
"uuid": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"lastname": "LAT",
"name": "TRUST TECHNOLOGIES",
"gender": "M",
"nationality": "CHILENA",
"date_birth": "01/01/2000",
"document_number": "123.456.789",
"date_issue": "01/01/2020",
"date_due": "01/01/2030",
"nin": "12.345.678-9",
"doc_type": "2",
"front_image": "https://api-tst.trust.lat/chronos/v1/files/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"face_images": [
"https://api-tst.trust.lat/chronos/v1/files/cccccccccccccccccccccccccccccccc"
],
"validated": false,
"back_image": "https://api-tst.trust.lat/chronos/v1/files/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"expired": false
},
"message": "Created"
}

HTTP Code: 400 Bad Request#

Missing Front Side#

{
"code": 400,
"resource": "Document",
"message": "Bad request",
"errors": "Pass only a file or a base64 string with the front side credential to process"
}

Missing Back Side#

{
"code": 400,
"resource": "Document",
"message": "Bad request",
"errors": "Pass only a file or a base64 string with the back side credential to process"
}

HTTP Code: 403 Forbidden#

{
"code": 403,
"message": "Forbidden"
}

HTTP Code: 422 Unprocessable Entity#

Cannot extract the minimum required fields#

{
"code": 422,
"resource": "Document",
"message": "Fail",
"errors": "Cannot extract the minimum field expected. Use another picture"
}

HTTP Code: 503 Service Unavailable#

{
"code": 503,
"resource": "Document",
"message": "Bad Gateway",
"errors": "Unable to resolve the solicitude. Try later"
}
Last updated on by Jesus Marquez