Отслеживание активности на сайте при помощи 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"}" } ] }
JSON
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" } ] }
JSON
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"}" } ] }
JSON
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" } ] }
JSON
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 }, ... ]" } ] }
JSON
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 } ] }
JSON
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 } ] }
JSON