Перейти к основному содержимому

Запуск триггерной кампании (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/

Параметры запроса

ПараметрТипПримерОбязательныйОписание
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI токен
idint5511ДаИдентификатор триггера
contentJSON object{ "field": "value" }Нет

Контент для переменных apicontent в сообщениях.

attachJSON array[]НетFile object
custom_dataJSON object{ "x": "y"}НетДобавить некоторые данные, которые будут использоваться в "захвате событий".
Поиск профилей подписчиков
matchingstring

"email"


"email_profile"


"phone"


"profile_id"


"custom"

Нет, если поиск по email из профиля или подписок

Режим поиска подписчика.

По умолчанию - email.

emailstring"john@example.com"

"matching":"email" - по профилю и подпискам

"matching":"email_profile" - только по профилю

Email-адрес
phonestring"+79000000000""matching":"phone"Номер телефона
profile_idstring"abcdefghijklmnqrstuvwxyz""matching":"profile_id"Идентификатор профиля
field_namestring"CRM_ID""matching":"custom"Название кастомного поля профиля для поиска.
field_valueint/string"12345""matching":"custom"

Значение кастомного поля для поиска.

подсказка

Доступен поиск по сочетанию значений поля с типом "теги". Теги передаются в строке черз запятую: "тег_1, тег_2".

resource_idint24ДаИдентификатор ресурса для поиска по email и phone
md5string"d4c74594d841139328695756648b6bd6"Если нет свойства "matching"MD5-хеш подписчика
xxhstring"d4c74594d841139328695756648b6bd6"Если нет свойства "matching"xxh-хеш подписчика
custom_requestJSON object
{
"email": {
"$in": [
"asd@dsfsd.com",
"zxcv@sdfsd.com"
]
}
}
Если нет свойства "matching"MongoDB-запрос по полям профиля
subscription_filterJSON 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": "abcdefghijklmnqrstuvwxyz",
"id": 84,
"matching": "profile_id",
"profile_id": "abcdefghijklmnqrstuvwxyz"
}

Отправить сообщения подписчикам, поле Custom_ID которых входит в список ["IpHicQquekzYkufl", "xzFKLXeaJkCYHuMb", "SRNOwHVZiWFItJhr"].

{
"token": "abcdefghijklmnqrstuvwxyz",
"id": 84,
"custom_request":{"Custom_ID": {"$in": ["IpHicQquekzYkufl", "xzFKLXeaJkCYHuMb", "SRNOwHVZiWFItJhr"]}}
}

Вставить текст "New videos on your favorite channels" на место переменной {apicontent.email_title}, если она используется в сообщении.

Приложить к сообщению файлы "日本.txt" и "US.txt"

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

Пример ответа

{
"data": null,
"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 нужно записать:

{
"token": "abcdefghijklmnqrstuvwxyz",
"id": 96,
"matching": "profile_id",
"profile_id": "6606e08f10bcdd88297057a7",
"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") из запроса.