Відстеження активності на сайті за допомогою Generate event

Ви можете передавати та зберігати події, що отримуєте з вашого вебсайту, з вашого бекенду безпосередньо в нашу систему, використовуючи метод Generate event v2. Також, якщо ви налаштували інтеграцію із рекомендаційною системою, ви можете зберігати дані в обох сервісах.

Щоб зробити запит, надішліть вказані нижче параметри в тілі запиту на https://esputnik.com/api/v2/event:

Параметр
Опис
eventTypeKeyОбов'язковий. Ідентифікатор типу події. Якщо такого типу події з таким ключем не існує, то створюється нова подія.
keyValueНеобов'язковий. Ключ події, що визначає її унікальність. Якщо ви не передаєте значення keyValue у події, воно автоматично підставляється з об'єкта запиту Params з таким пріоритетом:

- contactId;
- externalCustomerId;
- email;
- phone;
- pushToken (web чи mobile).Подія без жодного з цих параметрів або переданого значення keyValue не приймається.
paramsПерелік параметрів події, представлений у вигляді масиву пар: "ключ" - "значення". Ключі параметрів є довільними.

Ви можете передавати наступні події:

Подія
Опис
pageViewedПерегляд сторінки.
productViewedПерегляд картки товару.
productCategoryViewedПерегляд категорії товару.
cartUpdatedЗміна позицій товарів у кошику.
productImpressionsТоварні рекомендації, які відображаються для відвідувача вашого сайту.
productAddedToWishlistВідвідувач вашого сайту додав товар до списку бажань.
searchRequestДані про пошук товарів.

pageViewed

Подія надсилається, коли контакт переглядає будь-яку сторінку або відкриває мобільне посилання на контент ("deeplink").

Приклад запиту наведений нижче. Він містить наступні параметри:

Параметр
Тип
Опис
phoneStringНомер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.
emailStringАдреса електронної пошти. Локатор для визначення зв`язку між подією і контактом.
pageStringРозташування сторінки. Обов'язковий для створення події.
locationStringURL-адреса сторінки або посилання на контент ("deeplink"). Обов'язковий для створення події.

Приклад:

{
  "eventTypeKey": "pageViewed",
  "keyValue": "[email protected]",
  "params": [
    {
      "name": "phone",
      "value": "380501234567"
    },
    {
      "name": "email",
      "value": "[email protected]"
    },
    {
      "name": "page",
      "value": "{"location":"https://example.com"}"
    }
  ]
}

productViewed

Подія відправляється, коли контакт переглядає певний продукт. Таку активність можна використовувати в алгоритмах рекомендацій.

Приклад запиту наведений нижче. Він містить наступні параметри:

Параметр
Тип
Опис
phoneStringНомер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.
emailStringАдреса електронної пошти. Локатор для визначення зв`язку між подією і контактом.
productStringОбов'язковий. Дані про товар.
productIdStringОбов'язковий. Код товару.
priceDoubleОбов'язковий. Ціна за одиницю товару.
isInStockIntНеобов'язковий.
Наявність товару.
Два можливі значення:

- 0 - "немає в наявності"
- 1 - "є в наявності"
someProductPropertyArray of stringsНеобов'язковий.
Розділені комами значення характеристик товару.
currencyCodeStringНеобов'язковий. Код валюти у форматі ISO 4217. Якщо не встановлений, то використовується значення за замовчуванням для організації.

Приклад:

{
  "eventTypeKey": "productViewed",
  "keyValue": "[email protected]",
  "params": [
    {
      "name": "phone",
      "value": "411786452"
    },
    {
      "name": "email",
      "value": "[email protected]"
    },
    {
      "name": "product",
      "value": "{"productId":"WS01-L-Green","price":45.5,"isInStock":1,"someProductProperty":["green"]}]}"
    },
    {
      "name": "currencyCode",
      "value": "USD"
    }
  ]
}

productCategoryViewed

Подія відправляється коли контакт переглядає список товарів у зазначеній категорії.

Приклад запиту наведений нижче. Він містить наступні параметри:

Параметр
Тип
Опис
phoneStringНомер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.
emailStringАдреса електронної пошти. Локатор для визначення зв`язку між подією і контактом.
categoryStringОпис категорії. Обов'язковий для створення події.
productCategoryIdStringКод категорії. Обов'язковий для створення події.

Приклад: 

{
  "eventTypeKey": "productCategoryViewed",
  "keyValue": "[email protected]",
  "params": [
    {
      "name": "phone",
      "value": "7411324763"
    },
    {
      "name": "email",
      "value": "[email protected]"
    },
    {
      "name": "category",
      "value": "{"productCategoryId":"Mugs"}"
    }
  ]
}

cartUpdated

Подія відправляється, коли контакт змінює товари у кошику. Повний перелік товарів у кошику передається з кожним запитом. Якщо кошик очищений, список товарів буде порожнім.

Приклад запиту наведено нижче. Він містить наступні параметри:

Параметр
Тип
phoneStringНомер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.
emailStringАдреса електронної пошти. Локатор для визначення зв`язку між подією і контактом.
productsArray of stringsТовари. Обов'язковий параметр, якщо кошик не порожній.
productIdStringОбов'язковий. Код товару.
quantityDoubleОбов'язковий. Кількість товарів у кошику.
priceDoubleОбов'язковий. Ціна за одиницю товару.
nameStringНеобов'язковий. Найменування товару.
categoryStringНеобов'язковий. Категорія товарів.
discountStringНеобов'язковий. Знижка на одиницю товару.
someProductPropertyArray of stringsНеобов'язковий. Розділені комами значення властивостей товару.
currencyCodeStringНеобов'язковий. Код валюти у форматі ISO 4217. Якщо не встановлений, використовується значення за замовчуванням для організації.
recycleStateIdStringОбов'язковий. Унікальний ідентифікатор, що пов'язує події кошика та покупки.
Генерується як набір випадкових чисел та латинських букв.

Приклад: 

{
  "eventTypeKey": "cartUpdated",
  "keyValue": "[email protected]",
  "params": [
    {
      "name": "phone",
      "value": "73456712"
    },
    {
      "name": "email",
      "value": "[email protected]"
    },
    {
      "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. Вам не потрібно надсилати його додатково.

Приклад запиту наведено нижче. Він містить наступні параметри:

Параметр
Тип
Опис
phoneStringНомер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.
recomVariantIdStringОбов'язковий. Варіант рекомендації у форматі r{recomId}v{variantId}.
productsStringОбов'язковий. Містить перелік товарів у форматі JSON.
productIdStringОбов'язковий. Код товару.

Приклад: 

{
    "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

Подія передає дані про товари, додані до списку бажань (категорія "Обране").

Він використовується для розрахунку та відображення рекомендацій та відправлення тригерів, які пов'язані зі списком бажань.

Приклад запиту наведено нижче. Він містить наступні параметри:

Параметр
Тип даних
Опис
phoneStringНомер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.
productStringОбов'язковий. Містить перелік товарів, доданих до списку бажань у форматі JSON.
productIdStringОбов'язковий. Код товару.
priceDecimalОбов'язковий. Ціна на товар.
isInStockIntНеобов'язковий. Наявність на складі. Може приймати значення: 0 ("немає в наявності") або 1 ("в наявності").
someProductPropertyStringЗначення характеристик товару. Додаткове поле товару.
currencyCodeStringНеобов'язковий. Код валюти у форматі 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

Подія передає дані про пошукові запити, надіслані з пошукового рядка.

Ця подія використовується для тригерів. Надсилайте її, коли пошук не повертає результатів. У тригері такі контакти отримуватимуть персональні рекомендації (наразі надання рекомендацій не враховує значення, введене у рядку пошуку).

Приклад запиту наведено нижче. Він містить наступні параметри:

Параметр
Тип
Опис
phoneStringНомер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.
searchStringОбов'язковий. Запит, введений у рядку пошуку.
isFoundIntНеобов'язковий.
Якщо пошук не повертає результатів, тоді значення дорівнює 0. Якщо пошук повертає будь-які результати, тоді значення дорівнює 1.
Значення за замовчуванням – 0.

Приклад: 

{
    "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
        }
    ]
}