Первые шаги
Отслеживание событий и поведения
Пользовательские данные
- Обзор адаптивного email-редактора
- Создание оформления для письма
- Создание сквозных модулей
- Настройка адаптивности
- Настройка Smart-элементов
- Оформление промовкладки для Gmail
- Добавление Rolloverʼа
- Добавление фона в письмо
- Добавление анкорных ссылок
- Библиотека блоков (Модули)
- Добавление блока "Видео"
- Добавление таблицы в письмо
- Работа с блоком "Баннер"
- Добавление пользовательских шрифтов
- Добавление кастомных иконок соцсетей
- Работа с блоком "Соцсети"
- Создание кнопки CTA
- Редактирование HTML и CSS
- Робота с блоком "Изображения"
- Работа с блоком “Таймер"
- Настройка блока "Меню"
- Создание футера
Омниканальность
- SDK для мобильных приложений
- Управление ключами доступа к мобильному SDK
- Подключение мобильного приложения
- Создание Google проекта для Mob Push
- Создание мобильных push-сообщений
- Настройка аналитики доставляемости и кликов
- Планирование мобильных push-уведомлений
- Настройка универсальных ссылок (deeplinks & Universal links)
- Отчеты по мобильным push-рассылкам
Автоматизация
- Настройка дополнительных рассылок
- Двойное подтверждение подписки
- Приветственная серия
- Приветственная серия с сегментацией по категориям
- Запуск сценария после импорта контактов
- Регулярный сценарий для группы
- Поздравление с днем рождения
- Привязка сценария к кнопке
- Согласование переменных события со сценарием на примере сценария "Заказ доставлен"
- Сбор отзывов о заказе
- Реактивация клиентов и подписчиков
- Отправка рассылки непрочитавшим
- Контроль триггеров
Персонализация
- Подстановка промокода из файла
- Подстановка промокода с использованием API
- Принципы генерации промокодов с помощью PHP/JAVA
- Подстановка промокода с помощью персонализации
- Загрузка промокодов для использования в сценарии
- Генерация промокодов в сценарии
- Отправка промокода с помощью препроцессора
- HTTP-запрос для передачи промокода из сообщения в карточку контакта
Аналитика
- Отчёт по email-рассылке
- Отчет по AMP-рассылке
- Отчеты по мобильным push-рассылкам
- Отчет по SMS-рассылке
- Отчет по Web-push рассылке
- Отчет по Viber-рассылке
- Настройка передачи UTM-меток
- Визуализация дохода от рассылок
- Отслеживание эффективности рассылок в Google Analytics
- Как открыть CSV-файл после экспорта
Мультиязычность
Товарные рекомендации
API
Смена системы
Документы
Интеграция
Вебхуки для отслеживания активности
Webhooks (рус. вебхуки) – это пользовательские обратные запросы по HTTP. Обычно их отработка связана с каким-либо событием, например, прочтением письма или запуском приветственной серии. Вебхуки считаются удобным инструментом для отслеживания событий в реальном времени: как только событие наступает, на внешний URL отправляется запрос.
В eSputnik есть два варианта для настройки и использования вебхуков:
1. Добавление внешнего URL для аккаунта, чтобы отслеживать активности пользователей.
2. Настройка кастомных запросов в сценариях через специальный блок Webhook.
Вебхуки для отслеживания активностей
Эта функциональность позволяет в режиме реального времени получать информацию обо всех активностях контактов. Данные будут поступать регулярно на указанный URL POST запросами, как описано ниже.
Для сравнения/альтернативы есть метод API Get contacts activity. Он работает при отправке с вашей стороны GET запросов, в которых можно указывать интервал времени (не более 3 месяцев) и параметры (email, статус и т. д.).
При помощи вебхуков вы будете получать информацию обо всех активностях пользователя после отправленных в любом канале сообщений:
- доставлено;
- ошибка доставки;
- прочитано;
- получатель перешел по ссылке;
- получатель отписался от рассылок;
- получатель пожаловался на спам.
Как подключить вебхуки для аккаунта
Сконфигурируйте на своем сервере URL, на который вы хотите получать уведомления, POST запросы в формате JSON.
Затем этот URL внесите в настройки eSputnik. Для этого авторизуйтесь в системе, зайдите в настройки аккаунта → раздел “Лаборатория”. Активируйте опцию “Вебхуки” и вставьте ваш URL в поле “Webhook-адрес”.
После произойдет проверка URL-адреса GET запросом. Если будет отображена ошибка, то, возможно, на вашей стороне сработала блокировка нашего запроса. Узнать точную причину можно по коду ошибки сервера. Система проверит доступность URL-адреса. Если все прошло успешно, то настройка завершена.
После этого произведите любое действие в аккаунте. Например, отправьте себе письмо. В течение нескольких минут на указанный адрес будет отправлен POST запрос с информацией по последним активностям.
POST запросы отправляются в формате JSON при появлении активности пользователей (отправка email, открытие сообщения, переход и т. д.).
Если webhook URL не возвращает код ответа HTTP 200, то попытка POST запроса будет повторяться с увеличивающимися интервалами (1 минута, 2 минуты, 4 минуты, 8 минут – до одного запроса в час). Следующие запросы будут отложены до успешной отправки первого, а затем будут отправляться так же последовательно.
Перечень возможных параметров
Параметр | Тип | Описание |
activityDateTime | string | Дата и время, когда случилась активность |
activityStatus | string |
|
broadcastId | int | Идентификатор рассылки |
clickEventLink | string | Содержит ссылку, по которой перешел контакт (при статусе CLICKED) |
contactId | int | Идентификатор контакта |
string | Email контакта | |
hardBounce | bool | Это поле возвращается только в случае, если статус – UNDELIVERED. Параметр оповещает о наличии контакта в черном списке.
|
iid | string | Служебный параметр |
messageId | int | Идентификатор сообщения |
messageInstanceId | int | Идентификатор экземпляра сообщения |
messageName | string | Название сообщения (отсутствует для тестовых сообщений) |
messageTag | string | Метка сообщения |
mobilepush | string | Token подписчика мобильного приложения |
sms | string | Номер телефона контакта |
sourceEventKey | string | Ключ типа события |
sourceEventTypeKey | string | Значение ключа события |
statusData | Массив с данными | |
statusDescription | string | Это поле возвращается только в случае, если статус – UNDELIVERED. Содержит причину, по которой сообщение не было доставлено. Это может быть ответ сервера получателя, ответ системы о невозможности отправить сообщение, etc. |
subscripton | Массив с данными | |
subscriptons | array of string | Ключи категорий подписок |
viber | string | Номер телефона контакта |
viewMessageLink | string | Содержит ссылку на веб-версию сообщения |
webpush | string | Token подписчика вебпуш-уведомлений |
workflowBlockId | string | Служебный параметр сценария |
workflowId | int | Идентификатор сценария |
Тестовый пример вебхука в виде массива JSON со всеми возможными вариантами статусов:
[{
"iid": "ffd3e1a7-a270-4e58-94de-5ac681c5c8e7",
"contactId": 687266822,
"activityStatus": "SUBSCRIPTION_CHANGED",
"mediaType": "email",
"activityDateTime": "2019-09-26T14:45:18",
"statusData": {
"subscription": {
"subscriptions": [
"SMARTPHONES",
"TABLETS",
"LAPTOPS"
]
}
}
},
{
"broadcastId": 2833914,
"messageName": "promo",
"iid": "76662EBB-9FD4-4A6A-B1F8-2F594DF9B7B4",
"contactId": 295953704,
"email": "test@yourdomain.com",
"activityStatus": "DELIVERED",
"mediaType": "email",
"messageId": 976440,
"messageInstanceId": 1344540,
"activityDateTime": "2018-03-01T13:31:52",
"viewMessageLink": "https://123.esclick.me/test"
},
{
"broadcastId": 2833915,
"messageName": "promo",
"hardBounce": false,
"iid": "D5AF8EFC-2E8F-4BB5-B427-77D554B30E65",
"contactId": 357885291,
"sms": "380671234567",
"activityStatus": "UNDELIVERED",
"mediaType": "sms",
"activityDateTime": "2019-10-01T03:43:49",
"statusDescription": "IM_NO_MONEY"
},
{
"broadcastId": 2833914,
"messageName": "promo",
"hardBounce": false,
"iid": "76662EBB-9FD4-4A6A-B1F8-2F594DF9B7B4",
"contactId": 295953704,
"email": "test@yourdomain.com",
"activityStatus": "UNDELIVERED",
"mediaType": "email",
"messageId": 976440,
"messageInstanceId": 1344540,
"activityDateTime": "2018-03-01T13:31:58",
"statusDescription": "smtp;554 5.7.1 Spam message rejected; If this is not spam contact abuse",
"viewMessageLink": "https://123.esclick.me/test"
},
{
"workflowId": 245460,
"workflowBlockId": "e_e9e90420db06b64c157440cd60d0b73d",
"sourceEventKey": "1258810400",
"sourceEventTypeKey": "subscribeFromApi",
"iid": "0bb5e1dc-0d1b-4deb-948f-8cea4d8ef738",
"contactId": 1258810400,
"email": "test@gmail.com",
"activityStatus": "READ",
"mediaType": "email",
"messageId": 1235215,
"messageInstanceId": 1622691,
"messageName": "promo",
"messageTag": "1522397496",
"activityDateTime": "2018-05-15T04:05:53",
"viewMessageLink": "https://123.esclick.me/test"
},
{
"workflowId": 245460,
"workflowBlockId": "e_e9e90420db06b64c157440cd60d0b73d",
"sourceEventKey": "1258810400",
"sourceEventTypeKey": "subscribeFromApi",
"iid": "92227CB7-4EEF-4168-9EA5-43F3ED3559F8",
"contactId": 1258810400,
"email": "test@gmail.com",
"activityStatus": "UNSUBSCRIBED",
"mediaType": "email",
"messageId": 1166457,
"messageInstanceId": 1550164,
"messageName": "promo",
"messageTag": "1521722870",
"activityDateTime": "2018-05-15T09:56:40",
"viewMessageLink": "https://123.esclick.me/test"
},
{
"workflowId": 245460,
"workflowBlockId": "e_e9e90420db06b64c157440cd60d0b73d",
"sourceEventKey": "1258810400",
"sourceEventTypeKey": "subscribeFromApi",
"iid": "d08d1e15-ea92-4d5c-8dc9-6f750250a6ff",
"contactId": 1258810400,
"email": "test@gmail.com",
"activityStatus": "CLICKED",
"mediaType": "email",
"messageId": 1242672,
"messageInstanceId": 1630305,
"messageName": "promo",
"messageTag": "1522397496",
"activityDateTime": "2018-05-15T04:45:04",
"viewMessageLink": "https://123.esclick.me/test",
"clickEventLink": "https://test.ua/promo/"
},
{
"workflowId": 245460,
"workflowBlockId": "e_e9e90420db06b64c157440cd60d0b73d",
"sourceEventKey": "1258810400",
"sourceEventTypeKey": "subscribeFromApi",
"iid": "0ae4b6a3-59ad-426e-a40b-ce8f55bd40bc",
"contactId": 1258810400,
"email": "test@yahoo.com",
"activityStatus": "SPAM",
"mediaType": "email",
"messageId": 1242672,
"messageInstanceId": 1630305,
"messageName": "promo",
"messageTag": "1522397496",
"activityDateTime": "2018-05-15T08:23:56",
"viewMessageLink": "https://123.esclick.me/test"
}
]