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

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

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

Параметр

Опис

eventTypeKey

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

keyValue

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

  • contactId;
  • externalCustomerId;
  • email;
  • phone;
  • pushToken (web чи mobile).Подія без жодного з цих параметрів або переданого значення keyValue не приймається.

params

Перелік параметрів події, представлений у вигляді масиву пар: "ключ" - "значення". Ключі параметрів є довільними.

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

Подія
Опис

pageViewed

Перегляд сторінки.

productViewed

Перегляд картки товару.

productCategoryViewed

Перегляд категорії товару.

cartUpdated

Зміна позицій товарів у кошику.

productImpressions

Товарні рекомендації, які відображаються для відвідувача вашого сайту.

productAddedToWishlist

Відвідувач вашого сайту додав товар до списку бажань.

searchRequest

Дані про пошук товарів.

pageViewed

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

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

Параметр
Тип
Опис

phone

String

Номер телефона у міжнародному форматі. Локатор для визначення зв

`

язку між подією і контактом.

email

String

Адреса електронної пошти. Локатор для визначення зв

`

язку між подією і контактом.

page

String

Розташування сторінки. Обов'язковий для створення події.

location

String

URL-адреса сторінки або посилання на контент ("deeplink"). Обов'язковий для створення події.

Приклад:

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

productViewed

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

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

Параметр

Тип

Опис

phone

String

Номер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.

email

String

Адреса електронної пошти. Локатор для визначення зв`язку між подією і контактом.

product

String

Обов'язковий. Дані про товар.

productId

String

Обов'язковий. Код товару.

price

Double

Обов'язковий. Ціна за одиницю товару.

isInStock

Int

Необов'язковий.
Наявність товару.
Два можливі значення:

  • 0 - "немає в наявності"
  • 1 - "є в наявності"

someProductProperty

Array of strings

Необов'язковий.
Розділені комами значення характеристик товару.

currencyCode

String

Необов'язковий. Код валюти у форматі 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

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

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

Параметр
Тип
Опис

phone

String

Номер телефона у міжнародному форматі. Локатор для визначення зв

`

язку між подією і контактом.

email

String

Адреса електронної пошти. Локатор для визначення зв

`

язку між подією і контактом.

category

String

Опис категорії. Обов'язковий для створення події.

productCategoryId

String

Код категорії. Обов'язковий для створення події.

Приклад: 

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

cartUpdated

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

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

Параметр

Тип

phone

String

Номер телефона у міжнародному форматі. Локатор для визначення зв`язку між подією і контактом.

email

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": "[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. Вам не потрібно надсилати його додатково.

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

Параметр
Тип
Опис

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.
Значення за замовчуванням – 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
        }
    ]
}