Update Identity
Este endpoint permite actualizar la información asociada a una identidad (Persona-Compañia) alojada dentro del servicio, utilizando su uuid para reconocerla. Para que la petición sea considerada válida, es obligatorio entregar el valor del campo company_uid y por lo menos uno de los siguientes campos: [dni|email]
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/index/v1/identity/:uuid
Path Variables:
Key | Value Example | Description |
---|---|---|
uuid | ffffffff-ffff-ffff-ffff-ffffffffffff | Identificador único de la identidad. Obligatorio. |
caution
Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea
Body
Fields
- company_uid: Número identificador de la compañia asociada a la identidad. Obligatorio.
- dni: Número verificador de identidad de la persona. Parcialmente Obligatorio.
- email: Correo de la persona. Parcialmente Obligatorio.
- phone_number: Número de teléfono asociado a la identidad Persona-Compañia. Opcional.
- name: Nombre de la persona. Opcional.
- last_name: Apellido de la persona. Opcional.
- status: Estado actual del usuario en el servicio oauth. Opcional
- img: Dirección http donde se encuentra la imagen del perfil de la identidad. Opcional.
- nationality: Sigla que representa el país de origen del usuario. Opcional.
- apps: Arreglo de apps que contiene información sobre las apps relacionadas con la identidad. Opcional.
Si se desea incorporar información sobre alguna app asociada, se deben considerar los siguientes campos embebidos:
- app
- app_id: Identificador de la aplicación a asociar. Obligatorio en ausencia del par identificador [bundle_id|flavor_id]. Si se incorpora el par identificador, este campo podria ser sobreescrito.
- bundle_id: Identificador de una aplicación generica base de Trust. Obligatorio en ausencia de app_id.
- flavor_id: Identificador de una aplicación de Trust. Opcional.
- version: Rótulo que señala cual versión de la aplicación se asocia a la identidad, opcional.
Example
App defined with app_id
{
"company_uid": "99",
"dni": "12345678-9",
"email": "abeta@example.test",
"phone_number": "+56912345678",
"trust_id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"img": "https://robohash.org/123456789",
"last_name": "Beta",
"name": "Alfa",
"nationality": "CHL",
"apps": [
{
"app_id": "99",
"version": "2.0.0"
}
],
"status": true
}
App defined with bundle_id
{
"company_uid": "99",
"dni": "12345678-9",
"email": "abeta@example.test",
"phone_number": "+56912345678",
"trust_id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"img": "https://robohash.org/123456789",
"last_name": "Beta",
"name": "Alfa",
"nationality": "CHL",
"apps": [
{
"bundle_id": "com.example.testing",
"flavor_id": "com.example.testing",
"version": "2.0.0"
}
],
"status": true
}
Code Examples
- Curl
- JavaScript
- Python
curl --location --request PATCH 'https://api.trust.lat/index/v1/identity/ffffffff-ffff-ffff-ffff-ffffffffffff' \
--header 'Authorization: Bearer ************' \
--header 'Content-Type: application/json' \
--data-raw '{
"company_uid": "99",
"dni": "12345678-9",
"email": "abeta@example.test",
"phone_number": "+56912345678",
"trust_id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"img": "https://robohash.org/123456789",
"last_name": "Beta",
"name": "Alfa",
"nationality": "CHL",
"apps": [
{
"app_id": "99",
"version": "2.0.0"
}
],
"status": true
}'
import requests
url = "https://api.trust.lat/index/v1/identity/ffffffff-ffff-ffff-ffff-ffffffffffff"
payload="{\n \"company_uid\": \"99\",\n \"dni\": \"12345678-9\",\n \"email\": \"abeta@example.test\",\n \"phone_number\": \"+56912345678\",\n \"trust_id\": \"ffffffff-ffff-ffff-ffff-ffffffffffff\",\n \"img\": \"https://robohash.org/123456789\",\n \"last_name\": \"Beta\",\n \"name\": \"Alfa\",\n \"nationality\": \"CHL\",\n \"apps\": [\n {\n \"app_id\": \"99\",\n \"version\": \"2.0.0\"\n }\n ],\n \"status\": true\n}"
headers = {
'Authorization': 'Bearer ************',
'Content-Type': 'application/json'
}
response = requests.request("PATCH", url, headers=headers, data=payload)
print(response.text)
var axios = require('axios');
var data = JSON.stringify({"company_uid":"99","dni":"12345678-9","email":"abeta@example.test","phone_number":"+56912345678","trust_id":"ffffffff-ffff-ffff-ffff-ffffffffffff","img":"https://robohash.org/123456789","last_name":"Beta","name":"Alfa","nationality":"CHL","apps":[{"app_id":"99","version":"2.0.0"}],"status":true});
var config = {
method: 'patch',
url: 'https://api.trust.lat/index/v1/identity/ffffffff-ffff-ffff-ffff-ffffffffffff',
headers: {
'Authorization': 'Bearer ************',
'Content-Type': 'application/json'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Responses
HTTP Code: 200 OK
{
"code": 200,
"resource": "Identity",
"data": {
"apps": [
{
"app_id": "99",
"created_at": null,
"person": {
"dni": "123456789",
"email": "abeta@example.test"
},
"tags": {
"systemic_client_type": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
},
"updated_at": null,
"version": "3"
}
],
"company_uid": "99",
"created_at": "2021-07-07T21:05:43.657Z",
"dni": "12.345.678-9",
"email": "abeta@example.test",
"former_documents": null,
"img": "https://robohash.org/123456789",
"last_name": "beta",
"load_uuid": null,
"name": "alfa",
"nationality": "CHL",
"phone_number": "+56912345678",
"status": true,
"trust_id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"updated_at": "2021-07-07T21:05:43.657Z",
"uuid": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"
},
"message": "Updated"
}
HTTP Code: 404 Not Found
Identity not present in Index
{
"code": 404,
"resource": "Identity",
"message": "Not found in database neither in former documents"
}
Identity's uuid points to a former document
{
"code": 404,
"resource": "Identity",
"message": "Not found. Posible merge in document with uuid: ffffffff-ffff-ffff-ffff-ffffffffffff"
}