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

Структуры сообщений захвата событий

Для всех типов событий:

Общая структура hook-сообщения
ПараметрТипПримерОписание
event_typestring"click"Название события как в таблице типы событий.
event_datestring"2018-03-04T13:13:19.034315796Z"Дата возникновения события в формате RFC 3339.
_xxhstring"ad1850e0d1d9481e"Хеш от email подписчика, используемый для идентификации в ALTCRAFT.
_md5string"145bb30f7ddf1184cb560bc4b7705646"MD5 хеш от email подписчика.
list_idint111ID Базы данных (листа), в рамках которого возникло событие.
account_idint23ID Аккаунта, в рамках которого возникло событие.
is_testboolfalseБыло ли событие вызвано тестовой отправкой сообщения.
custom_dataJSON object
{"alice@example.org"}
Набор данных о подписчике, настраиваемый в интерфейсе редактирования Action Hook.
event_dataJSON object
{"browser": "Firefox"}
Набор данных, зависящий от типа события (есть два типа — событие в трекинге и возникающее в процессе доставки).

Структура event_data

Для событий следующих типов:

  • uopen, open, uclick, click, confirm, confirmsub, unsub, read, glanced, skimmed,
  • uclick_sms, click_sms, uclick_sms, unsub_sms,
  • uopen_push, open_push, click_push, uclick_push.
Структура event_data для событий, возникающих в системе трекинга
ПараметрТипПримерОписание
message_idint17ID сообщения в системе ALTCRAFT
campaign_idint973ID кампании в системе ALTCRAFT
segment_idint0ID сегмента, если доступно
resource_idint3ID ресурса
ipstring"10.9.0.14"IPv4 адрес подписчика
countrystring".us"
".ru"
Страна в TLD виде
citystring"New York"
"Moscow"
Город подписчика
postal_codestring"101000"Почтовый код подписчика
regionstring"Ohio"
"Moskovskaya oblast"
Регион подписчика
tzstring"Europe/Vaduz"Временная зона подписчика
latfloat55.244075Географическая широта
lonfloat55.244075Географическая долгота
user_agentstring"Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0"Строка в заголовке User-Agent
osstring"Linux x86_64"Операционная система
browserstring"Firefox"Браузер, версия
devicestring"web"Устройство
link_urlstring"http://www.example.com"HTTP ссылка, на которую был осуществлен редирект
launch_idstring"00000017000003cd5a9bf01a"ID запуска.
send_message_idstring"5a9bf01a17_3cd_11_6f_0_2.5a8c045fc1dde44cbf718f78 "ID отправленного сообщения
extra_uidstring"ew4Sgf41Qwjq8_2_2E_w_k___t.2SDvJv8bvBYQFtSDx_7bTV2f.2_2E_4Sgf41DXc7Z_D"Extra UID.

Передаётся только для событий в push-канале.

Для событий следующих типов:

  • send, deliv, undeliv, suppress, sbounce, hbounce, complain,
  • send_sms, deliv_sms, undeliv_sms,
  • send_push, deliv_push.
Структура event_data для событий, возникающих в процессе отправки сообщений
ПараметрТипПримерОписание
message_idint17ID сообщения в системе ALTCRAFT
campaign_idint973ID кампании в системе ALTCRAFT
segment_idint0ID сегмента, если доступно
resource_idint3ID ресурса в системе ALTCRAFT
bounce_codeint500Код ответа от мейл сервера для событий sbounce, hbounce
bounce_messagestring"No such email"Ответ от мейл сервера, для событий sbounce, hbounce
launch_idstring"00000017000003cd5a9bf01a"ID запуска.
send_message_idstring"5a9bf01a17_3cd_11_6f_0_2.5a8c045fc1dde44cbf718f78"ID отправленного сообщения
extra_uidstring"ew4Sgf41Qwjq8_2_2E_w_k___t.2SDvJv8bvBYQFtSDx_7bTV2f.2_2E_4Sgf41DXc7Z_D"Extra UID.

Передаётся только для событий в push-канале.

Для событий типа pixel_open:

Структура event_data для событий пикселей

Полный список возможных параметров указан в этой статье.

ПараметрТипПримерОписание
ipstring"10.9.0.14"IPv4 адрес подписчика
countrystring".ru "Страна в TLD виде
citystring"Moscow"Город подписчика
pixel_idint41ID пикселя
postal_codestring"390000"Почтовый код подписчика
regionstring"Ryazanskaya obl"astРегион подписчика
tzstring"Europe/Vaduz"Временная зона подписчика
latfloat55.244075Географическая широта
lonfloat55.244075Географическая долгота
user_agentstring"Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0"Строка в заголовке User-Agent
osstring"Linux x86_64"Операционная система
browserstring"Firefox"Браузер, версия
devicestring"web"Устройство

Для событий типа promocode_attach, promocode_detach, promocode_activate:

Структура event_data для событий, связанных с промокодами

Все даты указываются в формате RFC 3339

ПараметрТипПримерОписание
attachedstring"2020-10-25T13:28:52Z"Дата и время прикрепления промокода к профилю
detachedstring"2020-10-25T13:28:52Z"Дата и время отсоединения промокода
activatedstring"2020-10-25T13:28:52Z"Дата активации промокода
codestring"TEST-XOUH-KBJM-J5K9-24I1"Промокод
db_idint123456Идентификатор базы профиля
loyalty_idint9Идентификатор программы лояльности
profile_idstring"000000000000000000000000"Идентификатор профиля

Для событий типа segs_add, segs_remove:

Структура event_data для событий, связанных с автоматических созданием статического сегмента при импорте
ПараметрТипПримерОписание
campaign_idint9ID кампании в системе ALTCRAFT
launch_idstring""ID запуска кампании.
message_idint0ID сообщения в системе ALTCRAFT
segment_idint80ID сегмента, если доступно
send_message_idstring""ID отправленного сообщения

Для событий типа profile_merge, profile_split:

Структура event_data для событий объединения нескольких профилей или разделения одного профиля
ПараметрТипПримерОписание
destinationarray
[
   {
      "custom_data": {
         "age": 25
      },
      "db_id": 94,
      "profile_id": "608a8960e3224a6be26a71df"
   }
]
Если происходит объединение профилей, то содержит данные матчинга профиля, который получится в результате объединения


Если происходит разделение профиля, то содержит данные матчинга профилей, которые получатся в результате разделения
sourcearray
[
   {
      "custom_data": {
         "age": 25
      },
      "db_id": 94,
      "profile_id": "608a8960e3224a6be26a71df"
   }
]
При объединении профилей содержит данные матчинга о профилях, которые нужно объединить


При разделении профиля содержит данные матчинга о профиле, который нужно разделить

Для событий типа telegram_bot_send, telegram_bot_deliv, telegram_bot_click, telegram_bot_uclick, telegram_bot_undeliv, telegram_group_send, telegram_group_deliv, telegram_group_click, telegram_group_undeliv:

Структура event_data для событий Telegram Bot и Telegram Group каналов
ПараметрТипПримерОписание
campaign_idint9ID кампании в системе ALTCRAFT
launch_idstring""ID запуска кампании.
message_idint0ID сообщения в системе ALTCRAFT
resource_idint3ID ресурса в системе ALTCRAFT
segment_idint80ID сегмента, если доступно
send_message_idstring""ID отправленного сообщения

Для событий типа camp_error:

Структура event_data для события ошибки кампании
ПараметрТипПримерОписание
campaign_idint9ID кампании в системе ALTCRAFT
error_codeint500Код ошибки
error_textstring"LOG_INTERNAL_ERROR"Текст ошибки
launch_idstring""ID запуска.
message_idint0ID сообщения в системе ALTCRAFT
resource_idint3ID ресурса в системе ALTCRAFT
segment_idint80ID сегмента, если доступно
send_message_idstring""ID отправленного сообщения

Событие campaign_launch

Общая структура события campaign_launch
ПараметрТипПримерОписание
event_typestring"campaign_launch"Тип события
event_datestring"2018-03-25T13:13:19.034315796Z"Дата события в формате RFC 3339
account_idint23ID аккаунта платформы
is_testboolfalseПризнак тестовой отправки события
event_dataJSON object{}Объект с данными о кампании
Структура event_data для campaign_launch
ПараметрТипПримерОписание
campaign_idint42Идентификатор кампании
campaign_typestring"broadcast"Тип кампании
campaign_namestring"name"Название кампании
campaign_sub_idstring"x11"Идентификатор статистики
data_typestring"segment"Тип источника данных
data_idint3Идентификатор источника данных
launch_idstring"00000017000003cd5a9bf01a"ID запуска.
contentJSON object{}Информация о шаблонах сообщений кампании
Пример события запуска кампании
{
"event_type": "campaign_launch",
"event_date": "2016-12-09T10:11:24.934079204Z",
"is_test": false,
"account_id": 161,
"event_data": {
"campaign_id": 1472,
"campaign_type": "broadcast",
"campaign_name": "Campaugn Launch Hook",
"campaign_sub_id": "x11",
"data_type": "segment",
"data_id": 1221,
"launch_id": "000000a1000005c0584a834c",
"content": [
{
"message_name": "Hello",
"message_id": 1412,
"suppress_id": 271,
"replyto_email": "",
"replyto_name": "",
"text": "текстовая версия письма",
"html": "<html> html версия письма </html>",
"from_name": "",
"from_email": "",
"attach_links": [],
"subject": "Hello, {your_name}!"
},
{
"message_name": "Hi",
"message_id": 1413,
"suppress_id": 272,
"replyto_email": "monty@altcraft.com",
"replyto_name": "Monty",
"text": "текстовая версия письма",
"html": "<html> html версия письма </html>",
"from_name": "",
"from_email": "",
"attach_links": [
{
"name": "text_file.txt",
"url": "http://test.altcraft.com/api/attach/link/text_file.txt?token=eyJh..."
},
{
"name": "picture_file.png",
"url": "http://test.altcraft.com/api/attach/link/picture_file.png?token=eyJh..."
}
],
"subject": "Hi, {your_name}!"
}
]
}
}

Структура content

Если в настройках вебхука активирована опция "Добавить содержимое сообщений", то в общую структуру hook-сообщения добавляется поле content.

Email

{
"content": {
"amp": "<html amp4email></html>",
"from_email": "no-reply@altcraft.com",
"from_name": "Altcraft",
"html": "<html></html>",
"replyto_email": "example@example.com",
"replyto_name": "Altcraft",
"subject": "Weather alert",
"text": "Text version",
"to_email": "profile@example.com",
"to_name": "Fname Lname",
"webversion_email_html": "http://click.altkraft.com/0000/path.html",
"webversion_email_text": "http://click.altkraft.com/0000/path.txt"
},
}
ПараметрТипПримерОписание
ampstring<html amp4email></html>AMP-версия письма
from_emailstring"no-reply@altcraft.com"Email отправителя
from_namestring"Altcraft"Имя отправителя
htmlstring<html></html>HTML-версия письма
replyto_emailstring"example@example.com"Email для обратной связи
replyto_namestring"Altcraft"Имя обратного получателя
subjectstring"Weather alert"Тема письма
textstring"Text version is important..."Текстовая верия письма
to_emailstring"profile@example.com"Email адрес профиля получателя
to_namestring"Fname Lname "Имя профиля получателя
webversion_email_htmlstringhttp://click.altkraft.comСсылка на web версию письма
webversion_email_textstringhttp://click.altkraft.comСсылка на текстовую веб-версию письма

SMS

{
"content": {
"fromnamesms": "abcdefghijklmnqrstuvwxyz",
"sms": "Hello, Aaron! See the new items for you: http://click.altkraft.com/s/path",
"webversion_sms_text": "http://click.altkraft.com/000000/path.txt"
}
}
ПараметрТипПримерОписание
fromnamesmsstring"abcdefghijklmnqrstuvwxyz"Caller ID
smsstring"Переходи по ссылке и забери приветственные бонусы!"Текст сообщения
webversion_sms_textstringhttp://click.altkraft.comСсылка на веб-версию сообщения

Push

{
"content": {
"app_push_settings": {
"background_color": "#00CED1",
"badges": 0,
"banner": "",
"critical_push": false,
"deliver_prior": 0,
"expir_time": 604800,
"led": "",
"media": "",
"silent_push": false,
"sound": "",
"subtitle": "",
"vibro": false
},
"body": "See if our new items are fit to make you even more awesome!",
"click_url": "https://click.altkraft.com/0000000",
"custom_push_json": {},
"icon": "",
"result_content": {
"content_available": true,
"data": {
"hub_link": {
"ack": "https://pxl.altkraft.com/crypto_post_events?/bFOoNcxW7lpDA",
"open": "https://pxl.altkraft.com/crypto_post_events?/LbFOoNcxW7lpDA"
},
"image": "",
"launch_id": "2_3J_4Z2ZTRaQr7p",
"mediaUrl": "",
"message": "See if our new items are fit to make you even more awesome!",
"uid": "fATFSGbgLjinkRE59ZXDOSd0BcAABARnhIxDBBAAAEbAQowRH"
},
"mutable_content": true,
"notification": {
"body": "See if our new items are fit to make you even more awesome!",
"click_action": "https://click.altkraft.com/0000000/abcdefghijklmnqrstuvwxyz",
"color": "",
"icon": "",
"sound": "default"
},
"title": "Just look, Alex! These are awesome!",
"priority": "normal",
"time_to_live": 604800,
"to": "5dbDUxVXHV"
},
"title": "Just look, Alex! These are awesome!",
"webversion_push_body": "http://click.altkraft.com/000000/path.txt"
}
}
ПараметрТипОписание
bodystringТело push сообщения
click_urlstringСсылка для перехода по клику
custom_push_jsonJSON objectКастомный JSON сообщения
iconstringПуть до иконки push-сообщения
titlestringЗаголовок сообщения
result_contentJSON objectХранит структуру данных, отправленных в push-сервис
webversion_push_bodystringСсылка на веб-версию push-сообщения
app_push_settingsJSON objectРасширенные настройки для мобильных пушей
web_push_settingsJSON objectРасширенные настройки для браузерных пушей
Структура app_push_settings
ПараметрТипПримерОписание
background_colorstring#00CED1Цвет фона push-уведомления
badgesint0Индикатор событий
bannerstringhttp://example.com/path.img"Путь к изображению-баннеру
critical_pushboolfalseАктивация критического режима в push-уведомлении
deliver_priorint0,1Приоритет доставки
expir_timeint604800TTL push-уведомления (задается в секундах)
ledstring#00CED2Цвет светодиодного индикатора
mediastringhttp://example.com/pathПуть к локальнoму файлу в приложении
silent_pushboolfalseВключение/отключение тихого режима
soundstring/sound/sound.mp3Путь к локальнoму файлу в приложении
subtitlestring"Только для вас!"Подзаголовок сообщения (для iOS)
vibrobooltrueВибрация при поступлении push-уведомления
Структура web_push_settings
ПараметрТипПримерОписание
actionsJSON object[]Массив содержит кнопки пуша: ссылка для перехода (action) + текст кнопки (label)
button_labelstring"Конечно"Текст кнопки действия (значение передается только для провайдера Safari)
large_imagestring"https://.altkraft.com/284834790/1/664c6da207767c769a/image.png"Путь к изображению-баннеру
expir_timestring604800TTL push-уведомленния (задается в секундах)
large_imagestring"https://click.example.com"Путь к локальнoму изображению баннера

Ссылка на веб-версию сообщения передается в объекте content только для события send в email, sms и push каналах. Для остальных событий, а также для события send в кастомном канале объект content содержит поле webversion_link с пустой строкой:

"content": {
"webversion_link": ""
}