Відстеження активності на сайті за допомогою 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 | Необов'язковий. |
Приклад:
{ "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