Передавання даних про поведінку відвідувачів сайту через REST API
Якщо ви вже встановили скрипт веб-трекінгу на сайті, ви можете передавати до eSputnik події, щоб:
-
точніше вибирати товари для покинутих кошиків і переглядів,
-
пропонувати рекомендації на сторінках оформлення замовлення,
-
управляти аудиторіями користувачів та ін.
Події можна відправляти до системи двома способами: через браузер, викликаючи функцію eS.JS, або з бекенда, використовуючи REST API. У цій інструкції ми детально розглянемо другий варіант.
Важливо!
При налаштуванні трекінгу через REST API функціонал рекомендацій на сайті буде недоступний; у цьому випадку треба використовувати варіант виклику функцій eS.JS
Заголовки запиту
POST / HTTP/1.1 Host: https://tracker.esputnik.com/api/v2 Content-type: application/json |
Код відповіді 204. Авторизація не потрібна.
ProductPage
Опис
Для якісного ранжування товарів/категорій або для відправлення тригерів за покинутими переглядами необхідно надіслати запит, у якому буде вказано:
-
яку картку товару на поточний момент переглядає користувач,
-
ціну та наявність товару.
Приклад
{
"GeneralInfo": {
"eventName": "ProductPage",
"siteId": "8A412DC",
"datetime":1579622183208,
"user_phone": "1-541-754-3010",
"user_email": "user@mail.com",
"user_name": "Gregori Boczynski",
"user_es_contact_id": "255830499",
"cookies": {
"sc": "CDA68358-94FB-4D83-9655-3FEB3C4114A3"
}
},
"ProductPage": {
"Product": {
"productKey": "72354",
"price": "754 USD",
"isInStock": "1",
"tag_something": [
"abc",
"bca"
]
},
"Tags": {
"some_tags": [
"some_tag1",
"some_tag2"
]
}
}
}
Параметри
Назва |
Приклад |
Опис |
GeneralInfo |
Обов’язковий Тип: Object |
Загальна інформація |
eventName |
“ProductPage” Обов’язковий Тип: String |
|
siteId |
“8A412DC” Обов’язковий Тип: String |
|
user_phone |
"1-541-754-3010" Необов'язковий Тип: String |
|
user_email |
"user@mail.com" Необов'язковий Тип: String |
|
user_name |
"Gregori Boczynski" Необов'язковий Тип: String |
|
user_es_contact_id |
"255830499" Необов'язковий Тип: String |
|
cookies |
"CDA68358-94FB-4D83-9655-3FEB3C4114A3" Обов'язковий Type: Object String |
|
datetime |
1579622183208 |
|
ProductPage |
Обов'язковий Type: Object |
Опис події |
productKey |
“72354” Обов'язковий Тип: String |
|
price |
“754 USD” Необов'язковий Тип: String |
|
isInStock |
“1” Необов'язковий Тип: Int |
|
tag_[something] |
["abc","bca"] Необов'язковий Тип: Array of Strings |
|
Tags |
Необов'язковий Тип: Object |
Додаткові поля |
StatusCart
Опис
Подія, що відправляється в момент зміни кошика (з новим GUID), наприклад на картці товару або сторінці категорій за кнопкою “Купити”. Кошик має оновлюватися з усіх сторінок. Якщо кошик порожній, то необхідно відправити порожній кошик (порожній масив без товарів).
Приклад
{
"GeneralInfo": {
"eventName": "StatusCart",
"siteId": "8A412DC",
"datetime":1579622183208,
"user_phone": "1-541-754-3010",
"user_email": "user@mail.com",
"user_name": "Gregori Boczynski",
"user_es_contact_id": "255830499",
"cookies": {
"sc": "CDA68358-94FB-4D83-9655-3FEB3C4114A3"
}
},
"StatusCart": {
"GUID": "6F9619FF-8B86-D011-B42D-00CF4FC964FF",
"Products": [
{
"productKey": "430738",
"price": 201.95,
"discount": 180,
"quantity": 1,
"price_currency_code": "UAH",
"tag_something": [
"aaa",
"bbb"
]
},
{
"productKey": "902339",
"price": 596,
"discount": 590,
"quantity": 1,
"price_currency_code": "UAH",
"tag_something": [
"aaa",
"bbb"
]
}
],
"Tags": {
"some_tags": [
"1",
"a2"
],
"some_tags1": [
"4",
"gg"
]
}
}
}
Параметри
Назва |
Приклад |
Опис |
GeneralInfo |
Обов'язковий Тип: Object String |
Загальна інформація |
eventName |
“StatusCart” Обов'язковий Тип: String |
|
siteId |
“8A412DC” Обов'язковий Тип: String |
|
user_phone |
"1-541-754-3010" Необов'язковий Тип: String |
|
user_email |
"user@mail.com" Необов'язковий Тип: String |
|
user_name |
"Gregori Boczynski" Необов'язковий Тип: String |
|
user_es_contact_id |
"255830499" Необов'язковий Тип: String |
|
datetime |
1579622183208 |
|
GUID |
“6F9619FF-8B86-D011-B42D-00CF4FC964FF” Обов'язковий Тип: String |
|
StatusCart |
Обов'язковий Тип: Object String |
Опис об'єктів події Є масивом об'єктів, що містить товари, додані до кошика |
productKey |
“430738” Обов'язковий Тип: String |
|
price |
“201.95” Обов'язковий Тип: String |
|
discount |
“180” Необов'язковий Тип: String |
|
quantity |
“1” Обов'язковий Type: Int |
|
price_currency_code |
"UAH" Необов'язковий Тип: String |
|
tag_[something] |
["abc","bca"] Необов'язковий Тип: Array of Strings |
|
Tags |
Необов'язковий Тип: Object |
Додаткові поля |
PurchasedItems
Опис
Для виведення рекомендацій на сторінці підтвердження замовлення або для відправлення тригерів за покинутими кошиками необхідно надіслати запит, у якому буде вказано, який товар придбав користувач.
Приклад
{
"GeneralInfo": {
"eventName": "PurchasedItems",
"siteId": "8A412DC",
"datetime":1579622183208,
"user_phone": "1-541-754-3010",
"user_email": "user@mail.com",
"user_name": "Gregori Boczynski",
"user_es_contact_id": "255830499",
"cookies": {
"sc": "CDA68358-94FB-4D83-9655-3FEB3C4114A3"
}
},
"PurchasedItems": {
"GUID": "6F9619FF-8B86-D011-B42D-00CF4FC964FF",
"OrderNumber": "123/2017",
"Tags": {
"some_tags": [
"1",
"a2"
],
"some_tags1": [
"4",
"gg"
]
}
}
}
Параметри
Назва |
Приклад |
Опис |
GeneralInfo |
Обов'язковий Тип: Object String |
Загальна інформація |
eventName |
“StatusCart” Обов'язковий Тип: String |
|
siteId |
“8A412DC” Обов'язковий Тип: String |
|
user_phone |
"1-541-754-3010" Необов'язковий Тип: String |
|
user_email |
"user@mail.com" Необов'язковий Тип: String |
|
user_es_contact_id |
"255830499" Необов'язковий Тип: String |
|
datetime |
1579622183208 |
|
cookies |
"CDA68358-94FB-4D83-9655-3FEB3C4114A3" Обов'язковий Тип: Object String |
|
GUID |
“6F9619FF-8B86-D011-B42D-00CF4FC964FF” Обов'язковий Тип: String |
|
OrderNumber |
“123/2017” Обов'язковий Тип: String |
|
Tags |
Необов'язковий Тип: Object |
Додаткові поля |
PurchasedItems (one click)
Опис
Подія використовується у випадку "купівлі в один клік", або "купівлі в кредит". Подія відправляється опціонально, залежно від способів купівлі в інтернет-магазині.
Приклад
{
"GeneralInfo": {
"eventName": "PurchasedItems",
"siteId": "8A412DC",
"datetime":1579622183208,
"user_phone": "1-541-754-3010",
"user_email": "user@mail.com",
"user_name": "Gregori Boczynski",
"user_es_contact_id": "255830499",
"cookies": {
"sc": "CDA68358-94FB-4D83-9655-3FEB3C4114A3"
}
},
"PurchasedItems": {
"Products": [
{
"product_id": "430738",
"unit_price": "201.95",
"quantity": 1
},
{
"product_id": "211452",
"unit_price": "341.80",
"quantity": 2
}
],
"OrderNumber": "123/2017",
"Tags": {
"block_id": [
"21246_r335v507"
],
"some_tags1": [
"4",
"gg"
]
}
}
}
Параметри
Назва |
Приклад |
Опис |
GeneralInfo |
Обов'язковий Тип: Object String |
Загальна інформація |
eventName |
“StatusCart” Обов'язковий Тип: String |
|
siteId |
“8A412DC” Обов'язковий Тип: String |
|
user_phone |
"1-541-754-3010" Необов'язковий Тип: String |
|
user_email
|
"user@mail.com" Необов'язковий Тип: String |
|
user_es_contact_id |
"255830499" Необов'язковий Тип: String |
|
user_name |
"Gregori Boczynski" Необов'язковий Тип: String |
|
datetime |
1579622183208 |
|
cookies |
"CDA68358-94FB-4D83-9655-3FEB3C4114A3" Обов'язковий Тип: Object String |
|
OrderNumber |
“123/2017” Обов'язковий Тип: String |
|
PurchasedItems |
Тип: Array of Strings |
|
product_id |
“430738” Обов'язковий Тип: String |
|
unit_price |
“201.95” Обов'язковий Тип: String |
|
quantity |
“1” Обов'язковий Тип: Integer |
|
block_id |
“21246_r335v507” Обов'язковий Тип: String |
|
Tags |
Необов'язковий Type: Object |
Додаткові поля |
ProductImpressions
Опис
ProductImpressions — подія, відправлення якої дозволяє відстежувати покази блоків. За замовчуванням відправляється скриптом, по JS API. Додатково передавати не потрібно.
Приклад
{
"GeneralInfo": {
"eventName": "ProductImpressions",
"siteId": "8A412DC",
"datetime":1579622183208,
"user_phone": "1-541-754-3010",
"user_email": "user@mail.com",
"user_name": "Gregori Boczynski",
"user_es_contact_id": "255830499",
"cookies": {
"sc": "CDA68358-94FB-4D83-9655-3FEB3C4114A3"
}
},
"ProductImpression": {
"Products": [
{
"product_id": "430968",
"container_type": "1253"
},
{
"product_id": "430738",
"container_type": "1254"
},
{
"product_id": "429983",
"container_type": "1255"
}
],
"Tags": {
"some_tags": [
"1",
"a2"
],
"some_tags1": [
"4",
"gg"
]
}
}
}
Параметри
Назва |
Приклад |
Опис |
GeneralInfo |
Обов'язковий Тип: Array of Objects |
Загальна інформація |
eventName |
“ProductImpressions” Обов'язковий Тип: String |
|
siteId |
“8A412DC” Обов'язковий Тип: String |
|
user_phone |
"1-541-754-3010" Необов'язковий Тип: String |
|
user_email |
"user@mail.com" Необов'язковий Тип: String |
|
user_es_contact_id |
"255830499" Необов'язковий Тип: String |
|
user_name |
"Gregori Boczynski" Необов'язковий Тип: String |
|
datetime |
1579622183208 |
|
cookies |
"CDA68358-94FB-4D83-9655-3FEB3C4114A3" Обов'язковий Type: Оbject String |
|
ProductImpression |
Обов'язковий Тип: Array of Objects |
|
product_id |
“430968” Обов'язковий Тип: String |
|
container_type |
“1253” Обов'язковий Тип: String |
|
Tags |
Необов'язковий Type: Object |
Додаткові поля |
CategoryPage
Опис
Можливе використання:
-
для тригерів,
-
перегляду сайту з відвідуванням категорії, без відвідування картки товарів,
-
перегляду сайту без будь-якого відвідування категорії/товару.
Необхідно надіслати запит, у якому буде вказано, на якій категорії знаходиться користувач.
Приклад
{
"GeneralInfo": {
"eventName": "CategoryPage",
"siteId": "8A412DC",
"datetime":1579622183208,
"user_phone": "1-541-754-3010",
"user_email": "user@mail.com",
"user_name": "Gregori Boczynski",
"user_es_contact_id": "255830499",
"cookies": {
"sc": "CDA68358-94FB-4D83-9655-3FEB3C4114A3"
}
},
"CategoryPage": {
"Category": {
"categoryKey": "Для малышей"
},
"Tags": {
"some_tags": [
"1",
"a2"
],
"some_tags1": [
"4",
"gg"
]
}
}
}
Параметри
Назва |
Приклад |
Опис |
GeneralInfo |
Обов'язковий Type: Object |
Загальна інформація |
eventName |
“ProductPage” Обов'язковий Тип: String |
|
siteId |
“8A412DC” Обов'язковий Тип: String |
|
user_phone |
"1-541-754-3010" Необов'язковий Тип: String |
|
user_email |
"user@mail.com" Необов'язковий Тип: String |
|
user_es_contact_id |
"255830499" Необов'язковий Тип: String |
|
user_name |
"Gregori Boczynski" Необов'язковий Тип: String |
|
cookies |
"CDA68358-94FB-4D83-9655-3FEB3C4114A3" Обов'язковий Type: Object String |
|
datetime |
1579622183208 |
|
CategoryPage |
Обов'язковий Type: Object |
Опис події |
categoryKey |
“Для малюків” Обов'язковий Тип: String |
|
Tags |
Необов'язковий Type: Object |
Додаткові поля |
CustomerData
Опис
Для відправлення тригерів за покинутими кошиками та покинутими переглядами необхідно надіслати запит, у якому буде вказана інформація про користувача.
Email має відправлятися як мінімум у персональному кабінеті, на сторінці "Дякуємо за замовлення" та під час реєстрації.
Приклад
{
"GeneralInfo": {
"eventName": "CustomerData",
"siteId": "8D3869C",
"datetime":1579622183208,
"user_phone": "3801111111111",
"user_email": "user@mail.com",
"user_es_contact_id": "255830499",
"user_name": "Johny",
"cookies": {
"sc": "CDA68358-94FB-4D83-9655-3FEB3CGGG1"
}
}
}
Параметри
Назва |
Приклад |
Опис |
GeneralInfo |
Обов'язковий Тип: Array of Objects |
Загальна інформація |
eventName |
“StatusCart” Обов'язковий Тип: String |
|
siteId |
“8D3869C” Обов'язковий Тип: String |
|
user_phone |
"1-541-754-3010" Необов'язковий Тип: String |
|
user_email |
"user@mail.com" Необов'язковий Тип: String |
|
user_es_contact_id |
"255830499" Необов'язковий Тип: String |
|
user_name |
"Gregori Boczynski" Необов'язковий Тип: String |
|
datetime |
1579622183208 |
|
cookies |
"CDA68358-94FB-4D83-9655-3FEB3C4114A3" Обов'язковий Type: Object String |
|
CustomEvent
Опис
CustomEvent не входить до переліку стандартних подій. Ви можете дати кожній із них унікальне ім'я, що відображає виконувану дію. Спеціально налаштовані події можна використовувати для побудови аудиторій користувачів.
Приклад
{
"GeneralInfo": {
"eventName": "CustomEvent",
"datetime":1579622183208,
"screendim": {
"h": 1200,
"w": 2304
},
"adblockEnabled": true,
"device": "Desktop",
"browser": {
"name": "Chrome",
"chrome": true,
"version": "74.0",
"webkit": true,
"a": true
},
"siteId": "8A412DC",
"cookies": {
"sc": "CDA68358-94FB-4D83-9655-3FEB3C4114A3"
},
"s_location": "https://example.com/product_id.html",
"referrer": "https://example.com",
"user_client_id": "",
"user_city": "",
"user_card_id": "",
"user_name": "Gregori Boczynski",
"user_phone": "1-541-754-3010",
"user_email": "user@mail.com",
"user_es_contact_id": "255830499"
},
"CustomEvent": {
"EventName":"my_event",
"Tags": {
"some_tags": [
"1",
"a2"
],
"some_tags1": [
"4",
"gg"
]
}
}
}
Параметри
Назва |
Приклад |
Опис |
GeneralInfo |
Обов'язковий Тип: Array of Objects |
Общая информация Загальна інформація |
eventName |
“CustomEvent” Обов'язковий Тип: String |
|
siteId |
“8A412DC” Обов'язковий Тип: String |
|
user_phone |
"1-541-754-3010" Необов'язковий Тип: String |
|
user_email |
"user@mail.com" Необов'язковий Тип: String |
|
user_name |
"Gregori Boczynski" Необов'язковий Тип: String |
|
datetime |
1579622183208 |
|
cookies |
"CDA68358-94FB-4D83-9655-3FEB3C4114A3" Обов'язковий Type: Object String |
|
CustomEvent |
Обов'язковий Тип: Array of Objects |
Опис кастомної події |
EventName |
"my_event" Обов'язковий Тип: String |
|
Tags |
Необов'язковий Тип: Array of Objects |
|
ProductUpdate
Опис
Використовується для оновлення товарів і даних про них у блоці з товарними рекомендаціями на сайті.
Приклад
{
"GeneralInfo": {
"eventName": "ProductUpdate",
"siteId": "site_id"
},
"ProductUpdate": [
{
"brand": "Apple",
"name": "iPhone 7",
"description": "Some description",
"product_id": "430738",
"imgurl": "https://domain.com/apple/product_large.png",
"unit_price": "201.95",
"isInStock": "1",
"tag_discount": ["10"],
"tag_oldprice": ["224.38"],
"price_currency_code": "UAH",
"category": "level3",
"category_id": ["3"],
"tag_something": [
"aaa",
"bbb"
]
},
{
"brand": "Apple",
"name": "iPhone 7",
"description": "Some description",
"product_id": "430738",
"imgurl": "https://domain.com/apple/product_large.png",
"unit_price": "201.95",
"isInStock": "1",
"tag_discount": ["10"],
"tag_oldprice": ["224.38"],
"price_currency_code": "UAH",
"category": "level1 > level2 > level3",
"category_id": ["1", "2", "3"],
"tag_something": [
"aaa",
"bbb"
]
}
]
}
Параметри
Назва |
Приклад |
Опис |
ProductUpdate |
required |
required |
siteId |
site_id |
required |
product_id |
430738 |
required |
isInStock |
1 |
required, could be 0 or 1 |
unit_price |
201.95 |
optional field |
description |
Some description |
optional field |
name |
iPhone 7 |
optional field |
imgurl |
https://domain.com/apple/product_large.png |
optional field |
brand |
Apple |
optional field |
tag_discount |
10 |
optional field |
price_currency_code |
UAH |
optional field |
tag_oldprice |
224.38 |
optional field |
Якщо на товар діє знижка, інформація про нього має передаватися в такий спосіб:
{
"product_id": "1111",
"unit_price": 270,
"isInStock": 1,
"price_currency_code": "UAH",
"tag_oldprice": [
"300"
],
"tag_discount": [
"10"
]
}