Высоко приоритетные кампании, мгновенно запускаемые с помощью 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/

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

ПараметрТипПримерОбязательныйОписание
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
Если нет свойства "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": "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") из запроса.


  • No labels