Запуск триггерной кампании (API call)
Высокоприоритетные кампании, мгновенно запускаемые с помощью API запроса.
API call trigger отправляет сообщения профилям из своей базы данных каждый раз, когда приходит соответствующий API запрос.
Чтобы отправлять триггер одновременно с импортом профиля клиента, используйте этот запрос.
Версия 1.1
Описание
Имеет несколько преимуществ перед версией 1.0:
- Использование API контента позволяет менять содержание триггерного сообщения при каждой отправке.
- Больше вариантов выбора подписчиков: добавлен поиск по id профиля, дополнительному полю, а также запросом к базе данных.
- Использует API токен, который передаётся в JSON POST запросе, что более безопасно, чем в ссылке.
- Использует статическую ссылку активации
/api/v1.1/campaigns/triggers/start/
вместо динамической, зависящей от базы данных. - Добавлена возможность отправки нескольким подписчикам за один API запрос (только через запрос к базе данных).
URL-адрес
Метод: POST
https://example.com/api/v1.1/campaigns/triggers/start/
Параметры запроса
Параметр | Тип | Пример | Обязательный | Описание |
---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Да | API токен |
id | int | 5511 | Да | Идентификатор триггера |
content | JSON object | { "field": "value" } | Нет | Контент для переменных apicontent в сообщениях. |
attach | JSON array | [] | Нет | File object |
custom_data | JSON object | { "x": "y"} | Нет | Добавить некоторые данные, которые будут использоваться в "захвате событий". |
Поиск профилей подписчиков | ||||
matching | string | "email" "email_profile" "phone" "profile_id" "custom" | Нет, если поиск по email из профиля или подписок | Режим поиска подписчика. По умолчанию - email. |
string | "john@example.com" | "matching":"email" - по профилю и подпискам "matching":"email_profile" - только по профилю | Email-адрес | |
phone | string | "+79000000000" | "matching":"phone" | Номер телефона |
profile_id | string | "abcdefghijklmnqrstuvwxyz" | "matching":"profile_id" | Идентификатор профиля |
field_name | string | "CRM_ID" | "matching":"custom" | Название кастомного поля профиля для поиска. |
field_value | int/string | "12345" | "matching":"custom" | Значение кастомного поля для поиска. подсказка Доступен поиск по сочетанию значений поля с типом "теги". Теги передаются в строке черз запятую: "тег_1, тег_2". |
resource_id | int | 24 | Да | Идентификатор ресурса для поиска по email и phone |
md5 | string | "d4c74594d841139328695756648b6bd6" | Если нет свойства "matching" | MD5-хеш подписчика |
xxh | string | "d4c74594d841139328695756648b6bd6" | Если нет свойства "matching" | xxh-хеш подписчика |
custom_request | JSON object |
| Если нет свойства "matching" | MongoDB-запрос по полям профиля |
subscription_filter | JSON object | Пример для push:
Пример для email:
Пример для sms:
| Нет | Выбирает конкретную подписку профиля для отправки. Не используется, если задан параметр
|
Пример запроса
Отправить сообщение подписчику:
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"id": 84,
"matching": "profile_id",
"profile_id": "abcdefghijklmnqrstuvwxyz"
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<id>84</id>
<matching>profile_id</matching>
<profile_id>abcdefghijklmnqrstuvwxyz</profile_id>
</xml>
Отправить сообщения подписчикам, поле Custom_ID
которых входит в список ["IpHicQquekzYkufl", "xzFKLXeaJkCYHuMb", "SRNOwHVZiWFItJhr"]
.
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"id": 84,
"custom_request":{"Custom_ID": {"$in": ["IpHicQquekzYkufl", "xzFKLXeaJkCYHuMb", "SRNOwHVZiWFItJhr"]}}
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<id>84</id>
<custom_request>{"Custom_ID": {"$in": ["IpHicQquekzYkufl", "xzFKLXeaJkCYHuMb", "SRNOwHVZiWFItJhr"]}}</custom_request>
</xml>
Вставить текст "New videos on your favorite channels"
на место переменной {apicontent.email_title}
, если она используется в сообщении.
Приложить к сообщению файлы "日本.txt" и "US.txt"
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"id": 96,
"matching": "profile_id",
"profile_id": "6606e08f10bcdd88297057a7",
"attach": [
{
"data": "data:text/csv;base64,5LuK5pel44GvCg==",
"name": "日本.txt"
},
{
"data": "data:text/csv;base64,SEVMTE8K",
"name": "US.txt"
}
],
"content": {
"data_lines": [
"Channel A",
"Channel B"
],
"email_title": "New videos on your favorite channels"
}
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<id>96</id>
<matching>profile_id</matching>
<profile_id>6606e08f10bcdd88297057a7</profile_id>
<attach>
<data>data:text/csv;base64,5LuK5pel44GvCg==</data>
<name>日本.txt</name>
</attach>
<attach>
<data>data:text/csv;base64,SEVMTE8K</data>
<name>US.txt</name>
</attach>
<content>
<data_lines>Channel A</data_lines>
<data_lines>Channel B</data_lines>
<email_title>New videos on your favorite channels</email_title>
</content>
</xml>
Пример ответа
- JSON
- XML
{
"data": null,
"error": 0,
"error_text": "Successful operation"
}
<xml>
<data/>
<error>0</error>
<error_text>Successful operation</error_text>
</xml>
Версия 1.0
Описание
Методы: GET, POST
В этой версии каждый API триггер имеет уникальную ссылку, которая отображается после его создания.
http://<your.tracking.domain>/trg/<base16_value_d1d93d9cca76a7c1742a2f23fbacd>/<email|md5|xxh>
Она изменится, если поменять базу данных триггера.
Использование ссылки 1.0 позволяет отправлять триггер лишь одному профилю за запрос.
"email" является устаревшим параметром.
GET запрос
Просто отправляет сообщение.
Пример HTTP GET запроса по ссылке с XXH профиля.
http://trk.example.org/trg/465ea6fedf0a75fa9ee0b5fb8f9d5fe89af34054909af8bb/dd78094ad0e36ca3
POST JSON запрос
Использует ся та же самая ссылка, что и в GET.
http://trk.example.org/trg/465ea6fedf0a75fa9ee0b5fb8f9d5fe89af34054909af8bb/dd78094ad0e36ca3
Однако, в POST запрос можно добавить JSON данные, которые используются для того, чтобы сделать сообщение более персонифицированным и/или обновить данные профиля подписчика.
Например, если сообщение должно содержать Имя и Номер заказа подписчика, то в Request Payload нужно записать:
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"id": 96,
"matching": "profile_id",
"profile_id": "6606e08f10bcdd88297057a7",
"fields": [
{
"name": "FirstName",
"value": "Jason",
"option": 0
},
{
"name": "Order",
"value": "123abc456-78",
"option": 1
}
]
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<id>96</id>
<matching>profile_id</matching>
<profile_id>6606e08f10bcdd88297057a4</profile_id>
<fields>
<name>FirstName</name>
<value>Jason</value>
<option>0</option>
</fields>
<fields>
<name>Order</name>
<value>123abc456-78</value>
<option>1</option>
</fields>
</xml>
"name"
— название поля с данными профиля. Если такого поля в базе данных профиля нет, то в сообщение оно не попадёт."value"
— значение, которое нужно использовать в сообщении для этого поля. Формат value должен соответствовать формату поля в базе данных профиля."option"
— ( 0 | 1 | 2 ) определяет, как использовать данные из запроса."option": 0
— если в профиле заполнено поле ("name"
), то в письмо попадёт значение из профиля, а значение из запроса ("value") не используется."option": 1
— в письмо попадёт значение из запроса ("value"
)."option": 2
— в письмо попадёт значение из запроса ("value"
). Обратите внимание, данные профиля в поле ("name"
) будут заменены на значение ("value"
) из запроса.