Первые шаги
Пользовательские данные
- Обзор адаптивного 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
Смена системы
Документы
Интеграция
Отслеживание активности на сайте при помощи Generate event
Вы можете передавать и сохранять события, получаемые с вашего веб-сайта, с вашего бэкенда непосредственно в нашу систему, используя метод Generate event v2. Также, если вы настроили интеграцию с рекомендательной системой, вы можете сохранять данные в обоих сервисах.
Чтобы сделать запрос, отправьте следующие параметры в теле запроса на https://esputnik.com/api/v2/event:
Параметр |
Описание |
---|---|
eventTypeKey |
Обязательный. Идентификатор типа события. Если такого типа события с таким ключом не существует, то создается новое. |
keyValue | Необязательный. Ключ события, который определяет его уникальность. Если вы не передаете значение keyValue в событии, оно автоматически подставляется из объекта запроса Params с таким приоритетом:
Событие без одного из этих параметров или переданного значения keyValue не принимается. |
params |
Список параметров события, представленный в виде массива пар "ключ" - "значение". Ключи параметров произвольны. |
Вы можете передавать следующие события:
Событие | Описание |
---|---|
pageViewed | Просмотр страницы. |
productViewed | Просмотр карточки товара. |
productCategoryViewed | Просмотр категории товара. |
cartUpdated | Изменение позиций товаров в корзине. |
productImpressions | Товарные рекомендации, отображаемые посетителю вашего сайта. |
productAddedToWishlist | Посетитель вашего сайта добавил товар в список желаний. |
searchRequest | Данные о поисках товаров. |
pageViewed
Событие отправляется, когда контакт просматривает любую страницу или открывает мобильную ссылку на контент ("deeplink").
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип |
Описание |
---|---|---|
phone | String |
Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
String |
Адрес электронной почты. Локатор для сопоставления события с контактом. |
|
page | String |
Расположение страницы. Обязательный для создания события. |
location | String |
URL страницы или ссылка на контент ("deeplink"). Обязательный для создания события. |
Пример:
{
"eventTypeKey": "pageViewed",
"keyValue": "example@email.com",
"params": [
{
"name": "phone",
"value": "380501234567"
},
{
"name": "email",
"value": "example@email.com"
},
{
"name": "page",
"value": "{"location":"https://example.com"}"
}
]
}
productViewed
Событие отправляется, когда контакт просматривает определенный товар. Такую активность можно использовать в алгоритмах рекомендаций.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип |
Описание |
---|---|---|
phone | String |
Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
String |
Адрес электронной почты. Локатор для сопоставления события с контактом. |
|
product | String |
Обязательный. Данные товара. |
productId | String |
Обязательный. Код товара. |
price | Double |
Обязательный. Цена за единицу товара. |
isInStock | Int |
Необязательный. Наличие товара.
|
someProductProperty | Array of strings |
Необязательный. Разделенные запятыми значения свойств товара. |
currencyCode | String |
Необязательный. Код валюты в формате ISO 4217. Если не задан, то используется значение по умолчанию для организации. |
Пример:
{
"eventTypeKey": "productViewed",
"keyValue": "example@email.com",
"params": [
{
"name": "phone",
"value": "411786452"
},
{
"name": "email",
"value": "example@email.com"
},
{
"name": "product",
"value": "{"productId":"WS01-L-Green","price":45.5,"isInStock":1,"someProductProperty":["green"]}]}"
},
{
"name": "currencyCode",
"value": "USD"
}
]
}
productCategoryViewed
Событие отправляется, когда контакт просматривает список товаров в указанной категории.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип |
Описание |
---|---|---|
phone | String |
Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
String |
Адрес электронной почты. Локатор для сопоставления события с контактом. |
|
category | String |
Описание категории. Обязательный для создания события. |
productCategoryId | String |
Код категории. Требуется для создания события. |
Пример:
{
"eventTypeKey": "productCategoryViewed",
"keyValue": "example@email.com",
"params": [
{
"name": "phone",
"value": "7411324763"
},
{
"name": "email",
"value": "example@email.com"
},
{
"name": "category",
"value": "{"productCategoryId":"Mugs"}"
}
]
}
cartUpdated
Событие отправляется, когда контакт меняет товары в корзине. Полный список товаров в корзине передается с каждым запросом. Если корзина очищена, то список товаров будет пустым.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип |
Описание |
---|---|---|
phone | String |
Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
String |
Адрес электронной почты. Локатор для сопоставления события с контактом. |
|
products | Array of strings |
Обязательный параметр, если корзина не пуста. |
productId | String |
Обязательный. Код товара. |
quantity | Double |
Обязательный. Количество товаров в корзине. |
price | Double |
Обязательный. Цена за единицу. |
name | String |
Необязательный. Наименование товара. |
category | String |
Необязательный. Категория товаров. |
discount | String |
Необязательный. Скидка на единицу товара. |
someProductProperty | Array of strings |
Необязательный. Разделенные запятыми значения свойств товара. |
currencyCode | String |
Необязательный. Код валюты в формате ISO 4217. Если не задан, используется значение по умолчанию для организации. |
recycleStateId | String |
Обязательный. Уникальный идентификатор, связывающий события корзины и покупки. |
Пример:
{
"eventTypeKey": "cartUpdated",
"keyValue": "example@email.com",
"params": [
{
"name": "phone",
"value": "73456712"
},
{
"name": "email",
"value": "example@email.com"
},
{
"name": "products",
"value": "[{"productId":"WS01-L-Green","quantity":1,"price":45.5}]"
},
{
"name": "currencyCode",
"value": "USD"
},
{
"name": "recycleStateId",
"value": "d59c6e6d-4123-4b0e-8c32-15f0656a8c60"
}
]
}
productImpressions
Событие передает данные о товарном блоке, отображаемом на сайте. По умолчанию он отправляется через JS API. Вам не нужно отправлять его дополнительно.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип |
Описание |
---|---|---|
phone | String |
Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
recomVariantId | String |
Обязательный. Вариант рекомендации в формате r{recomId}v{variantId}. |
products | String |
Обязательный. Содержит перечень товаров в формате JSON. |
productId | String |
Обязательный. Код товара. |
Пример:
{
"eventTypeKey": "productImpressions",
"keyValue": "380501234567",
"params": [
// Locator or several locators to map an event to a contact
{
"name": "phone",
"value": Phone
},
{
"name" : "recomVariantId" // Required. Recom variant in r{recomId}v{variantId} format
"value" : string // Mer: container_type
},
{
"name": "products", // Required. Mer: ProductImpression.Products
"value": "[ // string contains JSON for a list
{
// Required product fields
"productId": string // Mer: product_id
},
...
]"
}
]
}
productAddedToWishlist
Событие передает данные о товарах, добавленных в список желаний (избранное).
Он используется для расчета и отображения рекомендаций и отправки триггеров, связанных со списком желаний.
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип |
Описание |
---|---|---|
phone | String |
Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
product | String |
Обязательный. Содержит список товаров, добавленных в список желаний, в формате JSON. |
productId | String |
Обязательный. Код товара. |
price | Decimal |
Обязательный. Цена товара. |
isInStock | Int |
Необязательный. Наличие на складе. Может принимать значение 0 (нет в наличии) или 1 (в наличии). |
someProductProperty | String |
Значения свойств товара. Дополнительное поле товара. |
currencyCode | String |
Необязательный. Код валюты в формате ISO 4217. Если не задан, используется значение по умолчанию для организации. |
Пример:
{
"eventTypeKey": "productAddedToWishlist",
"keyValue": "380501234567",
"params": [
// Locator or several locators to map an event to a contact
{
"name": "phone",
"value": Phone
},
{
"name": "product", // Required. Mer: AddToWishlist.Product
"value": "{ // string contains JSON for a product
// Product fields
"productId": string, // Required. Mer: product_key
"price": decimal, // Required. Mer: price
"isInStock": int, // Optional. 0 or 1; Mer: isInStock
// Extended product fields
"someProductProperty": [ string, ... ], // Mer: tag_someProductProperty
...
}"
}
{
"name": "currencyCode", // Optional
"value": CurrencyCode
}
]
}
searchRequest
Событие передает данные о поисковых запросах, отправленных из поисковой строки.
Это событие используется для триггеров. Отправляйте его, когда поиск не дает результатов. В триггере такие контакты будут получать персональные рекомендации (на данный момент рекомендации не основаны на значении, введенном в строке поиска).
Пример запроса приведен ниже. Он содержит следующие параметры:
Параметр | Тип |
Описание |
---|---|---|
phone | String |
Номер телефона в международном формате. Локатор для сопоставления события с контактом. |
search | String |
Обязательный. Значение, введенное в строке поиска. |
isFound | Int |
Необязательный. Если поиск не дает результатов, тогда значение равняется 0. Если поиск возвращает какие-либо результаты, тогда значение равняется 1. |
Пример:
{
"eventTypeKey": "searchRequest",
"keyValue": "380501234567",
"params": [
// Locator or several locators to map an event to a contact
{
"name": "phone",
"value": Phone
},
{
"name": "search", // Required. Mer: SearchRequest.search
"value": string
},
{
"name": "isFound", // 0 or 1. Optional, default 0. Mer: SearchRequest.isFound
"value": int
}
]
}