Create Segmentation
Este endpoint crea un nuevo segmento que representa a un grupo de dispositivos que cumplan con la query almacenada en el campo "index_query", el segmento creado puede ser utilizado para crear campañas para que esta pueda cargar de forma dinámica los dispositivos objetivos de esta campaña.
Endpoint
Headers
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Authorization | Bearer LVwuk3_oug0D60ZTwm-ag... | access_token obtained in Atenea |
Url
Method: POST
URL: https://api.trust.lat/message-persistance/api/v1/segment
Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea
Body
{
"name": "segment_test",
"company_id": "1",
"index_query": {
"apps.app_id": ["1", "3", "4"],
"apps.tags.departamento": "backend",
"apps.tags.afp": "modelo"
}
}
Name
Campo requerido para nombrar un segmento, el nombre se puede repetir en los segmentos.
Company_id
Campo que representa a quien pertenece el segmento, se debe obtener segun la compañia que implementa el endpoint.
Index_query
Campo por el cual se genera los segmentos, se pueden agregar aplicaciones segun app_id, u agregar diferenciadores por tags como "departamento", "modelo", etc.
Todos los campos deben contener apps, seguido del "grupo" para diferenciar, por ejemplo app_id, tags, luego se puede agregar mas grupos seguidos de un punto, el valor de este conjunto, puede ser un arreglo o string.
Code Examples
- Curl
- JavaScript
- Python
curl --location --request POST 'https://api.trust.lat/message-persistance/api/v1/segment' \
--header 'Authorization: Bearer BN_ElJjP_OLhIw...' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "segment_test",
"company_id": "1",
"index_query": {
"apps.app_id": ["1","3","4"],
"apps.tags.departamento": "backend",
"apps.tags.afp": "modelo"
}
}'
import requests
import json
url = "https://api.trust.lat/message-persistance/api/v1/segment"
payload = json.dumps({
"name": "segment_test",
"company_id": "1",
"index_query": {
"apps.app_id": [
"1",
"3",
"4"
],
"apps.tags.departamento": "backend",
"apps.tags.afp": "modelo"
}
})
headers = {
'Authorization': 'Bearer BN_ElJjP_OLhIwvmMJbLVcwzGdWIqq-UoKkS70LOt5M',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var axios = require('axios');
var data = JSON.stringify({
"name": "segment_test",
"company_id": "1",
"index_query": {
"apps.app_id": [
"1",
"3",
"4"
],
"apps.tags.departamento": "backend",
"apps.tags.afp": "modelo"
}
});
var config = {
method: 'post',
url: 'https://api.trust.lat/message-persistance/api/v1/segment',
headers: {
'Authorization': 'Bearer BN_ElJjP_OLhIwvmMJbLVcwzGdWIqq-UoKkS70LOt5M',
'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: 201 Created
{
"code": 201,
"resource": "Segment",
"data": {
"id": 1,
"index_query": {
"apps.app_id": [
"1",
"3",
"4"
],
"apps.tags.departamento": "backend",
"apps.tags.afp": "modelo"
},
"created_at": "2021-07-13T16:15:00.196Z",
"updated_at": "2021-07-13T16:15:00.196Z",
"uuid": "4952d531-80f3-43b1-868d-2a95b4082711",
"company_id": "1",
"name": "segment_test"
},
"message": "Created"
}
HTTP Code: 422 Unprocessable Entity
{
"code": 422,
"resource": "Segment",
"message": "Fail",
"errors": {
"name": [
"can't be blank"
],
"company_id": [
"can't be blank"
]
}
}