Webhooks
Вебхук — это способ оповещения о произошедшем в системе событии с помощью пользовательских обратных вызовов по HTTP.
Настройте вебхук в разделе enKod ➔ Настройки, чтобы получать уведомления о событиях на свой URL.
Вы можете указать отдельный адрес для каждого события или же общий для всех. Перед сохранением необходимо протестировать запросы, нажав на соответствующую кнопку. Мы отправим на указанный URL тестовые данные, так вы можете увидеть структуру а мы проверим доступность ссылки. Если тестирование прошло успешно, то вебхук можно сохранить.
На данный момент доступны POST запросы для событий:
Email
Сообщение отправлено
Oшибка доставки
Открытие сообщения
Клик в сообщении
Жалоба
Группы рассылок - только для канала Email
Подписка на группу рассылок
Отписка от группы рассылок - при необходимости вы можете уточнить интересующие вас способы отписки, чтобы вебхуки приходили только по ним (а любые иные способы игнорировались)
Все способы
Вручную - отписка через карточку контакта или действия в сегменте
Сообщение - по клику на любую ссылку отписки вида:
{{link_unsubscribe}}
{{link_unsubscribe_manager}} - если отписка была подтверждена контактом
{{Unsubscribe('groupname', 'groupname2')}} - отписка контакта от конкретных групп рассылок
{{UnsubscribeRedirect('link', 'groupName', 'groupName2')}} - отписка от конкретных групп рассылок с редиректом на указанный
URL
Три мягких ошибки подряд
Сценарий - если контакт прошел через блок «Завершение сценария» с условием «отписать от группы рассылок»
API
Импорт - при импорте контактов с заменой существующих
Локальный черный список
Глобальный черный список
Удаление группы рассылок
Удаление контакта - любым доступным способом (API, импортом, через карточку контакта, сегмент, завершающий блок сценария с условием удаления контакта)
Контакты
Тело фиксировано и выглядит следующим образом:
Сообщение отправлено (Email)
{
"event": "message sent",
"message_id": 4,
"message_uid": "0123456789_012_012_01234",
"sending_type": "instant",
"name": "Sending message (test)",
"from": "user@gmail.com",
"to": "destination@gmail.com"
}
где
event - событие (сообщение отправлено)
message_id - идентификатор сообщения
message_uid - уникальный uid сообщения
sending_type - условие отправки сообщения
instant - мгновенное
scheduled - запланированное
regular - регулярное
byAPI - по API
byEvent - по событию
DOI - письмо-подтверждение
scenario - сообщение сценария
name - тема сообщения
from - емейл отправителя
to - емейл получателя
Ошибка доставки (Email)
{
"event": "delivery bounce",
"message_id": 4,
"message_uid": "0123456789_012_012_01234",
"sending_type": "instant",
"name": "Error while sending message (test)",
"from": "user@gmail.com",
"to": "destination@gmail.com",
"error_message": "Some error message"
}
где
event - событие (ошибка доставки)
message_id - идентификатор сообщения
message_uid - уникальный uid сообщения
sending_type - условие отправки сообщения
instant - мгновенное
scheduled - запланированное
regular - регулярное
byAPI - по API
byEvent - по событию
DOI - письмо-подтверждение
scenario - сообщение сценария
name - тема сообщения
from - емейл отправителя
to - емейл получателя
error_message - текст ошибки
Открытие сообщения (Email)
{
"event": "message open",
"message_id": 4,
"message_uid": "0123456789_012_012_01234",
"sending_type": "instant",
"name": "Open message (test)",
"from": "user@gmail.com",
"to": "destination@gmail.com"
}
где
event - событие (открытие сообщения)
message_id - идентификатор сообщения
message_uid - уникальный uid сообщения
sending_type - условие отправки сообщения
instant - мгновенное
scheduled - запланированное
regular - регулярное
byAPI - по API
byEvent - по событию
DOI - письмо-подтверждение
scenario - сообщение сценария
name - тема сообщения
from - емейл отправителя
to - емейл получателя
Клик в сообщении (Email)
{
"event": "message clicked",
"message_id": 4,
"message_uid": "0123456789_012_012_01234",
"sending_type": "instant",
"name": "Click in message (test)",
"from": "user@gmail.com",
"to": "user2@gmail.com",
"click_url": "https://clicked.link/"
}
где
event - событие (клик в сообщении)
message_id - идентификатор сообщения
message_uid - уникальный uid сообщения
sending_type - условие отправки сообщения
instant - мгновенное
scheduled - запланированное
regular - регулярное
byAPI - по API
byEvent - по событию
DOI - письмо-подтверждение
scenario - сообщение сценария
name - тема сообщения
from - емейл отправителя
to - емейл получателя
-
Жалоба (Email)
{
"event": "сomplaint",
"message_id": 4,
"message_uid": "0123456789_012_012_01234",
"sending_type": "instant",
"name": "Complaint in message (test)",
"from": "user@gmail.com",
"to": "destination@gmail.com"
}
где
event - событие (жалоба)
message_id - идентификатор сообщения
message_uid - уникальный uid сообщения
sending_type - условие отправки сообщения
instant - мгновенное
scheduled - запланированное
regular - регулярное
byAPI - по API
byEvent - по событию
DOI - письмо-подтверждение
scenario - сообщение сценария
name - тема сообщения
from - емейл отправителя
to - емейл получателя
Подписка на группу рассылок (Email)
{
"event": "mailing group subscribe",
"email": "user@gmail.com",
"group_id": 4,
"group_name": "Person subscribe (test)",
"channel": "email"
}
где
event - событие (подписка на группу рассылок)
email - емейл контакта
group_id - идентификатор группы рассылок
group_name - системное имя группы рассылок
channel - канал группы рассылок
Отписка от группы рассылок (Email)
{
"event": "mailing group unsubscribe",
"email": "user@gmail.com",
"group_id": 4,
"group_name": "Person unsubscribe (test)",
"channel": "email"
}
где
event - событие (отписка от группы рассылок)
email - емейл контакта
group_id - идентификатор группы рассылок
group_name - системное имя группы рассылок
channel - канал группы рассылок
Добавление контакта
{
"event": "contact adding",
"email": "user@gmail.com",
"phone": "80123456789",
"groups_names": [
"test_group_0",
"test_group_1"
],
"groups_ids": [
0,
1
]
}
где
event - событие (добавление контакта)
email - емейл контакта
phone - телефон контакта
groups_names - системные имена групп рассылок, на которые был подписан контакт при добавлении
groups_ids - идентификаторы групп рассылок, на которые был подписан контакт при добавлении
Настройки Webhooks для SMTP-отправителей
На данный момент доступны POST запросы для событий:
Email
Сообщение отправлено
Сообщение не отправлено
Ошибка доставки
Тело фиксируется и выглядит следующим образом:
Сообщение отправлено
{
"event": "message sent",
"message_uid": "123",
"subject": "Test message",
"from": "sender@example.com",
"to": "recipient@example.com"
}
где
Сообщение не отправлено
{
"event": "message not sent",
"message_uid": "123",
"subject": "Test message",
"from": "sender@example.com",
"to": "recipient@example.com",
"reason": "Invalid recipient domain"
}
где
event - событие (сообщение отправлено)
message_uid - уникальный uid сообщения
subject - тема сообщения
from - емейл отправителя
to - емейл получателя
reason – причина не отправки
Ошибка доставки
"event": "delivery bounce",
"message_uid": "123",
"subject": "Test message",
"from": "sender@example.com",
"to": "recipient@example.com",
"error_message": "Some error message"
где
event - событие (сообщение отправлено)
message_uid - уникальный uid сообщения
subject - тема сообщения
from - емейл отправителя
to - емейл получателя
error_message – ошибка доставки