Create Or Update Tag Of Person By Company
Este endpoint sirve para crear y asignar tags a una persona perteneciente a una compañia específica, elegida por la variable de ruta company_id. En caso de que la persona ya tenga un tag con el mismo nombre asociado, este se actualizara con el nuevo valor, sobrescribiendo el antiguo. Se permite asignar mas de un tag a la vez en este endpoint. Para identificar a la persona, es necesario incorporar por lo menos uno de los siguientes campos en la request [email|dni].
Endpoint
Headers
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Authorization | Bearer {{access_token}} | access_token obtained in Atenea |
Method: POST
URL: https://api.trust.lat/index/v1/company/:company_id/persons/tags
Path Variables:
Key | Value Example | Description |
---|---|---|
company_id | 99 | Identificador de compañia provisto por empresa Trust. Obligatorio. |
caution
Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea
Body
Fields
- email: Correo de la persona. Parcialmente Obligatorio.
- dni: Identificador nacional de una persona. Parcialmente Obligatorio.
- tags: Diccionario conteniendo los tags a modificar. La síntaxis para este diccionario es: "<tag_name>" : "<tag_value>". Obligatorio (Por lo menos un valor).
Example
{
"email": "abeta@example.test",
"dni": "12345678-9",
"tags": {
"systemic_sub_company": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
}
Conceptual Example
Asignar el valor "mobile" al tag "department" a la persona "Juan"
Antes del cambio
systemic_sub_company | deparment | |
---|---|---|
pepe | bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb | backend |
juan | dddddddd-dddd-dddd-dddd-dddddddddddd |
Despues del cambio
systemic_sub_company | deparment | |
---|---|---|
pepe | bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb | backend |
juan | dddddddd-dddd-dddd-dddd-dddddddddddd | mobile |
Cambiar el valor del tag "department" de "mobile" a "design" a la persona "Juan"
Antes del cambio
systemic_sub_company | deparment | |
---|---|---|
pepe | bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb | backend |
juan | dddddddd-dddd-dddd-dddd-dddddddddddd | mobile |
Despues del cambio
systemic_sub_company | deparment | |
---|---|---|
pepe | bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb | backend |
juan | dddddddd-dddd-dddd-dddd-dddddddddddd | design |
Code Examples
- Curl
- JavaScript
- Python
curl --location --request POST 'https://api.trust.lat/index/v1/company/99/persons/tags' \
--header 'Authorization: Bearer ************' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "abeta@example.test",
"dni": "12345678-9",
"tags": {
"systemic_sub_company": "ffffffff-ffff-ffff-ffff-ffffffffffff"
}
}'
import requests
url = "https://api.trust.lat/index/v1/company/99/persons/tags"
payload="{\n \"email\": \"abeta@example.test\",\n \"dni\": \"12345678-9\",\n \"tags\": {\n \"systemic_sub_company\": \"ffffffff-ffff-ffff-ffff-ffffffffffff\"\n }\n}"
headers = {
'Authorization': 'Bearer ************',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var axios = require('axios');
var data = JSON.stringify({"email":"abeta@example.test","dni":"12345678-9","tags":{"systemic_sub_company":"ffffffff-ffff-ffff-ffff-ffffffffffff"}});
var config = {
method: 'post',
url: 'https://api.trust.lat/index/v1/company/99/persons/tags',
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
Tag for person from company created
{
"code": 200,
"resource": "PersonsTags",
"data": {
"company_uid": "99",
"created_at": "2021-07-09T20:14:51.127Z",
"dni": "12345678-9",
"email": "abeta@example.test",
"modified_devices": 9,
"tags": {
"systemic_sub_company": "ffffffff-ffff-ffff-ffff-ffffffffffff"
},
"updated_at": "2021-07-09T20:14:51.127Z"
},
"message": "Updated"
}
Tag for person from company updated
{
"code": 200,
"resource": "PersonsTags",
"data": {
"company_uid": "99",
"created_at": "2021-07-09T20:14:51.127Z",
"dni": "12345678-9",
"email": "abeta@example.test",
"modified_devices": 9,
"tags": {
"systemic_sub_company": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
},
"updated_at": "2021-07-09T20:15:20.395Z"
},
"message": "Updated"
}
HTTP Code: 404 Not Found
Missing person fields
{
"code": 404,
"resource": "PersonsTags",
"message": "Not found"
}
HTTP Code: 422 Unprocessable Entity
Company not present in Trust Services
{
"code": 422,
"resource": "PersonsTags",
"message": "Fail",
"errors": {
"company_uid": [
"The Company with uid 999 is not present in Company Service"
]
}
}
Tag not present in company
{
"code": 422,
"resource": "PersonsTags",
"message": "Fail",
"errors": {
"tag_name": [
"The Tag 'leasing' has not been registered in the TagGroup"
]
}
}