Validate Credential
Este endpoint permite validar la información recuperada de una tarjeta de identificación mediante la comparación de una imagen de un rostro de la persona y del rostro extraído de la identificación. Para que la petición sea considerada válida se debe indicar la credential a utilizar a través de la variable de ruta uuid y también es obligatorio entregar el campo operation con el valor validate.
Además, este endpoint admite la opción reject_expired, la cuál sólo admite el valor booleano true. Al activar dicha opción, el sistema sólo permitirá la validación de identificaciones que no se encuentren expiradas, el intento de validación sobre identificaciones ya caducadas o aquellas que no se pudo extraer su fecha de vencimiento no será completado.
Endpoint
Headers
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Authorization | Bearer {{access_token}} | access_token obtained in Atenea |
Method: PATCH
URL: https://api.trust.lat/sapien/api/v1/credential/:uuid
Path Variables:
Key | Value Example | Description |
---|---|---|
uuid | ffffffff-ffff-ffff-ffff-ffffffffffff | Identificador único de la credencial. Obligatorio. |
Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea.
Body
Fields
- selfie: Archivo que contiene la imagen del rostro a utilizar en la validación. Obligatorio.
- operation: Parámetro utilizado para específicar la operación a ejecutar. Debe tener por valor validate para este endpoint. Obligatorio.
- reject_expired: Parámetro utilizado para activar la opción que permite rechazar credenciales expiradas. Opcional, si se usa su valor debe ser true.
- company_id: Identificador único de la compañia dentro del entorno Trust. Obligatorio.
Example
KEY | VALUE |
---|---|
selfie | selfie.jpg [File] |
operation | 'validate' |
company_id | 1 |
Code Examples
- Curl
- JavaScript
- Python
curl --location --request PATCH 'https://api.trust.lat/sapien/api/v1/credential/:uuid' \
--header 'Authorization: Bearer `{{access_token}}`' \
--form 'selfie=@"/selfie.jpg"' \
--form 'operation="validate"' \
--form 'company_id="1"'
import requests
url = "https://api.trust.lat/sapien/api/v1/credential/:uuid"
payload={'operation': 'validate',
'company_id': '1'}
files=[
('selfie',('selfie.jpg',open('/selfie.jpg','rb'),'image/jpeg'))
]
headers = {
'Authorization': 'Bearer `{{access_token}}`'
}
response = requests.request("PATCH", url, headers=headers, data=payload, files=files)
print(response.text)
var axios = require('axios');
var FormData = require('form-data');
var fs = require('fs');
var data = new FormData();
data.append('selfie', fs.createReadStream('/selfie.jpg'));
data.append('operation', 'validate');
data.append('company_id', '1');
var config = {
method: 'patch',
url: 'https://api.trust.lat/sapien/api/v1/credential/:uuid',
headers: {
'Authorization': 'Bearer `{{access_token}}`',
...data.getHeaders()
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Responses
HTTP Code: 200 OK
Successful Validation
{
"code": 200,
"resource": "Validation",
"data": {
"comparation_result": true,
"score": 99,
"min_score": 90,
"credential": {
"validated": true,
"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"
],
"back_image": "https://api-tst.trust.lat/chronos/v1/files/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
},
"selfie_image": "https://api-tst.trust.lat/chronos/v1/files/dddddddddddddddddddddddddddddddd"
},
"message": "Updated"
}
Failed Validation
{
"code": 200,
"resource": "Validation",
"data": {
"comparation_result": false,
"score": 0,
"min_score": 90,
"selfie_image": "https://api-tst.trust.lat/chronos/v1/files/skiRZWDCvzhmpqT7awGrWmaKA6xjSeDq"
},
"message": "Updated"
}
HTTP Code: 403 Forbidden
{
"code": 403,
"message": "Forbidden"
}
HTTP Code: 409 Conflict
Credential Expired (When Reject_Expired Option is Active)
{
"code": 409,
"resource": "Credential",
"message": "Conflict",
"errors": "Cannot validate an expired credential"
}
Date Due not Present in Credential (When Reject_Expired Option is Active)
{
"code": 409,
"resource": "Credential",
"message": "Conflict",
"errors": "Cannot validate a credential without a date due"
}
HTTP Code: 503 Service Unavailable
{
"code": 503,
"resource": "Document",
"message": "Bad Gateway",
"errors": "Unable to resolve the solicitude. Try later"
}