Высоко приоритетные кампании, мгновенно запускаемые с помощью API запроса
API call trigger отправляет сообщения профилям из своей базы данных каждый раз, когда приходит соответствующий API запрос.
Чтобы отправлять триггер одновременно с импортом профиля клиента, используйте этот запрос.
Версия 1.1
Описание
Имеет несколько преимуществ перед версией 1.0
Использование API контента - позволяет менять содержание триггерного сообщения при каждой отправке
Добавлена возможность отправки нескольким подписчикам за один API запрос.
Больше вариантов выбора подписчиков - добавлен поиск по id профиля, дополнительному полю, а также запросом к базе данных.
Использует API токен, который передаётся в JSON POST запросе, что более безопасно, чем в ссылке.
Использует статическую ссылку активации
/api/v1.1/campaigns/triggers/start/
вместо динамической, зависящей от базы данных (та что на скриншоте ниже).
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 из профиля или подписок | Режим поиска подписчика. |
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 | Нет | Идентификатор ресурса для |
md5 | string | "d4c74594d841139328695756648b6bd6" | Если нет свойства "matching" | MD5-хеш подписчика |
xxh | string | "d4c74594d841139328695756648b6bd6" | Если нет свойства "matching" | xxh-хеш подписчика |
custom_request | JSON object | Если нет свойства "matching" | MongoDB запрос по полям профиля | |
subscription_filter | JSON object | Пример для push: "subscription_filter": { "email": "example@example.com", "phone": "+79106135133", "subscription_id": "CAREFULWITHTHATAXE", "provider": "Chrome", "not_strict": true } Пример для email: "subscription_filter": { "email": "example@example.com", "not_strict": true } Пример для sms: "subscription_filter": { "phone": "+79106135133", "not_strict": false } | Нет | Выбирает конкретную подписку профиля для отправки. Не используется, если задан параметр custom_request not_strict определяет, что делать если подписка не найдена. В случае "true" будет использована любая подходящая подписка. |
Пример запроса
Отправить сообщение одному подписчику
{ "token": "e00c3da0a53e4e54a795da58701f4d70", "id": 5511, "matching": "profile_id", "profile_id": "5a74876369d42613b31947b8" }
Отправить сообщения подписчикам, поле Custom_ID
которых входит в список ["IpHicQquekzYkufl", "xzFKLXeaJkCYHuMb", "SRNOwHVZiWFItJhr"]
.
{ "token": "e00c3da0a53e4e54a795da58701f4d70", "id": 5511, "matching": "custom", "field_name": "Custom_ID", "field_value: ["IpHicQquekzYkufl", "xzFKLXeaJkCYHuMb", "SRNOwHVZiWFItJhr"] }
Вставить текст "New videos on your favorite channels"
на место переменной {apicontent.email_title}
, если она используется в сообщении.
Приложить к сообщению файлы "日本.txt" и "US.txt"
{ "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" }, "id": 5511, "token": "abcdefghijklmnqrstuvwxyz" }
Пример ответа
{ "error": 0, "error_text": "Successful operation" }
Версия 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 нужно записать:
{ "fields": [ { "name": "FirstName", "value": "Jason", "option": 0 }, { "name": "Order", "value": "123abc456-78", "option": 1 } ] }
name" - название поля с данными профиля. Если такого поля в базе данных профиля нет, то в сообщение оно не попадёт.
"value" - значение, которое нужно использовать в сообщении для этого поля. Формат value должен соответствовать формату поля в базе данных профиля.
"option" - ( 0 | 1 | 2 ) определяет, как использовать данные из запроса.
"option": 0 - если в профиле заполнено поле ("name"), то в письмо попадёт значение из профиля, а значение из запроса ("value") не используется.
"option": 1 - в письмо попадёт значение из запроса ("value").
"option": 2 - в письмо попадёт значение из запроса ("value"). ! И данные профиля в поле ("name") будут заменены на значение ("value") из запроса.