Первые шаги
Пользовательские данные
- Обзор адаптивного email-редактора
- Создание оформления для письма
- Создание сквозных модулей
- Настройка адаптивности
- Настройка smart-контейнеров
- Оформление промовкладки для Gmail
- Добавление Ролловера
- Добавление анкорных ссылок
- Библиотека модулей
- Добавление таблицы в письмо
- Работа с блоком "Баннер"
- Добавление пользовательских шрифтов
- Создание кнопки CTA
- Работа с блоком "Картинка"
- Работа с блоком “Таймер"
- Использование ИИ в email-редакторе
- Поддержка мессенджер-протоколов почтовыми клиентами и платформами
Омниканальность
- SDK для мобильных приложений
- Управление ключами доступа к мобильному SDK
- Подключение мобильного приложения
- Создание и загрузка ключа Firebase
- Создание мобильных push-сообщений
- Настройка аналитики доставляемости и кликов
- Планирование мобильных push-уведомлений
- Типы диплинков
- Отправка тестовых сообщений из отладки запросов
- Настройка виджетов для сайта
- Геймификация виджетов
- Вызов виджета
- Настройка геоданных для правил вызова виджетов
- Сохранение данных из виджетов в поля контактов
- Защита от раздражения
- Действия после заполнения формы
- Замена системного сценария Double Opt-In
- Создание pop-up-форм с помощью Google Tag Manager или WordPress
- Отправка событий из форм подписки в Google Analytics
- A/B-тестирование виджетов
- Сбор контактных данных с помощью форм запросов
Автоматизация
- Настройка и редактирование сценариев
- Настройка условий запуска и остановки сценария
- Блок “Старт”
- Группа блоков “Популярные”
- Группа блоков “Сообщения”
- Использование блока сообщений "Одно из многих"
- Группа блоков “Контакт”
- Группа блоков "Условия"
- Группа блоков “Другое”
- Группа блоков “Сообщение на группу”
- Группа блоков “Время”
- Расширенные параметры блоков сценариев
- Разрешенное время отправки
- Вебхуки в сценариях
- Отслеживание истории запусков сценария
- Если сценарий не работает
- Двойное подтверждение подписки
- Приветственная серия
- Приветственная серия с сегментацией по категориям
- Запуск сценария после импорта контактов
- Регулярный сценарий для группы
- Поздравление с днем рождения
- Привязка сценария к кнопке
- Использование переменных из заказа в сценарии
- Сбор отзывов о заказе
- Реактивация клиентов и подписчиков
- Отправка рассылки непрочитавшим
- Настройка дополнительных рассылок
- Отправка напоминаний в заданное пользователем время
- А/B-тестирование в сценариях
Персонализация
- Подстановка промокода из файла
- Подстановка промокода с использованием API
- Принципы генерации промокодов с помощью PHP/JAVA
- Подстановка промокода с помощью персонализации
- Загрузка промокодов для использования в сценарии
- Генерация промокодов в сценарии
- Отправка промокода с помощью препроцессора
- HTTP-запрос для передачи промокода из сообщения в карточку контакта
Аналитика
- Отчёт по email-рассылке
- Отчет по SMS-рассылке
- Отчет по рассылке Web Push
- Отчет по Viber-рассылке
- Отчет по рассылке Mob Push
- Отчет по рассылке App Inbox
- Отчет по Telegram-рассылке
- Отчет по взаимодействию с In-App
- Отчет по взаимодействию с виджетами
- Отчет по триггерной рассылке
- Отчет по AMP-рассылке
- Отчет по мультиязычной рассылке
- Настройка передачи UTM-меток
- Визуализация дохода
- Отслеживание эффективности кампаний в Google Analytics 4
- Статистика сообщений
Мультиязычность
Отслеживание событий и поведения
- События для запуска триггерных рассылок
- Именование пользовательских событий
- Валидация параметров события
- Отслеживание активности на сайте при помощи Generate event
- Подстановка данных из событий в сообщения
- Разветвление сценария в зависимости от параметров события
- Отслеживание активности клиентов в мобильных приложениях
- Вебхуки для отслеживания активности
- Аналитика событий
Товарные рекомендации
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 контакта | |
externalCustomerId | string | Уникальный идентификатор контакта в системе клиента |
hardBounce | bool | Это поле возвращается только в случае, если статус – UNDELIVERED. Параметр оповещает о наличии контакта в черном списке.
|
iid | string | Служебный параметр |
mediaType | string | Медиатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget, In-App, Telegram) |
messageId | int | Идентификатор сообщения |
messageInstanceId | int | Идентификатор экземпляра сообщения |
messageName | string | Название сообщения (отсутствует для тестовых сообщений) |
messageTag | string | Метка сообщения |
mobilepush | string | Token подписчика мобильного приложения |
sms | string | Номер телефона контакта |
sourceEventId | int | Идентификатор события |
sourceEventKey | string | Ключ типа события |
sourceEventTypeId | int | Идентификатор типа события |
sourceEventTypeKey | string | Значение ключа события |
statusData | Массив с данными | |
statusDescription | string | Это поле возвращается только в случае, если статус – UNDELIVERED. Содержит причину, по которой сообщение не было доставлено. Это может быть ответ сервера получателя, ответ системы о невозможности отправить сообщение, etc. |
subscripton | Массив с данными | |
subscriptons | array of string | Ключи категорий подписок |
viber | string | Номер телефона контакта |
viewMessageLink | string | Содержит ссылку на веб-версию сообщения |
webpush | string | Token подписчика вебпуш-уведомлений |
workflowBlockId | string | Служебный параметр сценария |
workflowId | int | Идентификатор сценария |
workflowInstanceId | int | Идентификатор отдельного запуска сценария. Используйте его для группировки рассылок в рамках запуска одного сценария. |
Ниже приведены тестовые примеры вебхуков в виде массива JSON со всеми возможными вариантами статусов.
Для массовых рассылок:
[
{
"broadcastId": 3459207,
"messageName": "test",
"iid": "99d591ab-e7a5-49ed-8e16-b3023378fc18",
"contactId": 1967597908,
"externalCustomerId": "789456512",
"email": "test1@yourdomain.com",
"mediaType": "email",
"activityStatus": "DELIVERED",
"messageId": 2489300,
"messageInstanceId": 4702518,
"activityDateTime": "2023-09-14T08:30:03",
"viewMessageLink": "https://u51739.esclick.me/J9o6EvyAKGmB",
"statusData": {}
},
{
"broadcastId": 3459207,
"messageName": "test",
"iid": "4af20897-de88-4ad0-ada3-dc4bcf14e8d8",
"contactId": 889891911,
"externalCustomerId": "262ac297-6ae1-11ec-a2ec-0050569bdf92",
"email": "test2@yourdomain.com",
"mediaType": "email",
"activityStatus": "DELIVERED",
"messageId": 2489300,
"messageInstanceId": 4702518,
"activityDateTime": "2023-09-14T08:30:03",
"viewMessageLink": "https://u51739.esclick.me/J9o6Dl1wrDeB",
"statusData": {}
},
{
"broadcastId": 3459207,
"messageName": "test",
"iid": "b14dec37-806e-4bc4-ba71-a5911a7d7ce4",
"contactId": 1026901517,
"email": "test3@yourdomain.com",
"mediaType": "email",
"activityStatus": "DELIVERED",
"messageId": 2489300,
"messageInstanceId": 4702518,
"activityDateTime": "2023-09-14T08:30:03",
"viewMessageLink": "https://u51739.esclick.me/J9o6Dttf6fOB",
"statusData": {}
},
{
"broadcastId": 3459207,
"messageName": "test",
"hardBounce": false,
"iid": "99d591ab-e7a5-49ed-8e16-b3023378fc18",
"contactId": 1967597908,
"externalCustomerId": "789456512",
"email": "test1@yourdomain.com",
"mediaType": "email",
"activityStatus": "UNDELIVERED",
"messageId": 2489300,
"messageInstanceId": 4702518,
"activityDateTime": "2023-09-14T08:30:07",
"statusDescription": "5.1.2 (bad destination system: no such domain)",
"viewMessageLink": "https://u51739.esclick.me/J9o6EvyAKGmB",
"statusData": {}
}
]
Для триггерных рассылок:
[
{
"messageName": "test",
"workflowId": 340484,
"workflowBlockId": "_05cae26d9ae85e1eb40ed34765f9c7be",
"sourceEventKey": "9d0c163d-cc3b-4f9e-bb03-2f5d1111ef91",
"sourceEventTypeKey": "productViewed",
"workflowInstanceId": "da33697d-52d8-11ee-9d24-7ec2059b5114",
"iid": "019b7450-52d9-11ee-85c4-959256ea468c",
"contactId": 889891911,
"externalCustomerId": "262ac297-6ae1-11ec-a2ec-0050569bdf92",
"email": "test1@yourdomain.com",
"mediaType": "email",
"activityStatus": "DELIVERED",
"messageId": 2489300,
"messageInstanceId": 4702524,
"activityDateTime": "2023-09-14T08:30:50",
"viewMessageLink": "https://u51739.esclick.me/1RocjPwr0MwONsdn2P",
"statusData": {}
},
{
"messageName": "test",
"workflowId": 340484,
"workflowBlockId": "_527e1f819b41bd379d75ebbe3392b879",
"sourceEventKey": "9d0c163d-cc3b-4f9e-bb03-2f5d1111ef91",
"sourceEventTypeKey": "productViewed",
"workflowInstanceId": "da33697d-52d8-11ee-9d24-7ec2059b5114",
"iid": "01777190-52d9-11ee-917a-ef6e91bfc7c3",
"contactId": 889891911,
"externalCustomerId": "262ac297-6ae1-11ec-a2ec-0050569bdf92",
"email": "test1@yourdomain.com",
"mediaType": "email",
"activityStatus": "DELIVERED",
"messageId": 2489300,
"messageInstanceId": 4702524,
"activityDateTime": "2023-09-14T08:30:51",
"viewMessageLink": "https://u51739.esclick.me/1RocjPwr0MwONsd3gP",
"statusData": {}
},
{
"messageName": "test",
"workflowId": 340484,
"workflowBlockId": "_be178ec8aacbf249d8bb736e9df9fd0d",
"sourceEventKey": "9d0c163d-cc3b-4f9e-bb03-2f5d1111ef91",
"sourceEventTypeKey": "productViewed",
"workflowInstanceId": "da33697d-52d8-11ee-9d24-7ec2059b5114",
"hardBounce": false,
"iid": "01a86ca0-52d9-11ee-85c4-959256ea468c",
"contactId": 706515632,
"sms": "380956490955",
"mediaType": "viber",
"activityStatus": "UNDELIVERED",
"messageId": 3213684,
"messageInstanceId": 4696769,
"messageTag": "tag2,tag,test",
"activityDateTime": "2023-09-14T08:30:51",
"statusDescription": "401: null",
"statusData": {}
}
]