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"
        ]
    }
}