Create Campaign by Segmentation
Este endpoint crea una campaña que enviará N cantidad de notificaciones, el envío de notificaciones inicia pasado unos segundos después de ser creado.
Campos:
- name: Nombre para la campaña, opcional.
- message_id: UUID del contenido del mensaje a enviar, este mensaje debe existir en el servicio Message-persistance, obligatorio.
- segment_id: Un segmento se refiere a una agrupación de dispositivos que recibirán un mensaje. Mediante su id el servicio solicita a Message-persistance que retorne dichos dispositivos.
- application_name: Bundle Id de la app objetivo, obligatorio.
- company_id: Campo para forzar a que compañía pertenece esta campana, opcional.
- notifications: Arreglo de notificaciones a enviar, obligatorio.
- trust_id: trust_id del dispositivo objetivo, obligatorio.
- variables: objeto que permite enviar notificaciones custom a cada receptor, obligatorio pero se puede dejar vacío "".
- finish_date: El objetivo de este campo es mantener activa una campaña asociada a un segmento, asignando una fecha de término. Mientras se mantenga activa se podrán añadir nuevas notificaciones obtenidas a partir del segmento para ser enviada a los dispositivos. El formato utilizado es YYYY-MM-DD h-m-s en zona horaria UTC + 0 (Por ejemplo 2021-01-31 20:30:10).
info
Para detalles de cómo crear un segmento revisar el endpoint Create Segmentation.
Endpoint
Headers
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Authorization | Bearer {{access_token}} | access_token obtained in Atenea |
Url
Method: POST
URL: https://api.trust.lat/campaigns/api/v1/campaign
caution
Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea
Body
{
"name": "test_1d",
"message_id": "zlb82593-fcce-43ky-b3c6-50cb5d47040b",
"application_name": "com.bundle_id.application",
"company_id": "2",
"segment_id": "z3p194f4-064q-092b-bf92-4379eposf8z7c",
"finish_date": "2021-01-31"
}
Code Examples
- Curl
- JavaScript
- Python
curl --location --request POST 'https://api.trust.lat/campaigns/campaigns/api/v1/campaign' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer `{{access_token}}`' \
--data-raw '{
"name": "test_1d",
"message_id": "z9basd93-fcce-4cW-2yc6-50cb5d4asd40b",
"application_name": "com.bundle_id.application",
"company_id": "2",
"segment_id": "z89sd4f4-064f-442b-bf92-437e7yf857c",
"finish_date": "2021-01-31"
}'
import requests
url = "https://api.trust.lat/campaigns/api/v1/campaign"
payload="{\n \"name\": \"test_1d\",\n \"message_id\": \"f9tt293-fqpe-43e-b3c6-0cb5d47cb40b\",\n \"application_name\": \"com.bundle_id.application\",\n \"company_id\": \"2\",\n \"segment_id\": \"z894f4-06f3-p12b-bf92-4379e77f857c\",\n \"finish_date\": \"2021-01-31\"\n}"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{accessToken}}'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var axios = require('axios');
var data = JSON.stringify({"name":"test_1d","message_id":"z2a82593-fzwe-3ce-b3c6-0cok5d4750b","application_name":"com.bundle_id.application","company_id":"2","segment_id":"z38rtaf4-064f-a42b-bf12-le79e33f8p3c","finish_date":"2021-01-31"});
var config = {
method: 'post',
url: 'https://api.trust.lat/campaigns/api/v1/campaign',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{accessToken}}'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Responses
HTTP Code: 404 Not Found
{
"code": 404,
"resource": "Message",
"message": "Not exists",
"errors": "Message not found on message_persistance service"
}
HTTP Code: 201 Created
{
"code": 201,
"resource": "Campaign",
"data": {
"_id": {
"$oid": "60e123496522db00088a2c3e"
},
"app_id": "1",
"application_name": "com.bundle_id.application",
"company_id": "1",
"created_at": "2021-07-05T23:39:53.207Z",
"finish_date": "2021-01-31",
"flavor_id": "com.bundle_id.application",
"message_id": "z1u3ebf-70a6-448c-825f-487de6b52096",
"name": "test",
"segment_id": "",
"terminated": false,
"updated_at": "2021-07-05T23:39:53.207Z",
"uuid": "z08f9c3c-6a6p-4122-ab35-aa4bdd9d05"
},
"message": "Created"
}