Запити JS API для різних типів сторінок сайту
Якщо ви плануєте використовувати алгоритми товарних рекомендацій eSputnik, а відображення (зовнішній вигляд блоків, сторінки показу тощо) налаштувати на своїй стороні, вам необхідно
встановити на сайт скрипт для відстеження поведінки відвідувачів сайту;
завантажити фід товарних даних в акаунт eSputnik;
налаштувати алгоритм рекомендацій у eSputnik.
Приклади запитів
На головній та 404 сторінці
eS('getRecommendations', { 'variantId': 'r554v778' }, function(error, products) { if (error) { console.error(error); return ; } });
JavaScript
На сторінці товару
eS('getRecommendations', { 'variantId': 'r554v778', 'productId': 'MX-1512\42' }, function(error, products) { if (error) { console.error(error); return ; } });
JavaScript
На сторінці кошика
eS('getRecommendations', { 'variantId': 'r554v778', 'productIds': ['123', '543534'] }, function(error, products) { if (error) { console.error(error); return ; } });
JavaScript
На поп-апі кошика використання події StatusCartPage
eS('sendEvent', 'StatusCartPage');
JavaScript
На сторінці категорій
eS('getRecommendations', { 'variantId': 'r554v778', 'categoryKey': 'cK' }, function(error, products) { if (error) { console.error(error); return ; } });
JavaScript
Метод JS API – асинхронний, що дозволяє не чекати на виконання інших функцій на сайті.
Параметри запиту
Назва | Тип | Приклад | Опис |
variantId | Required String | r262v361 | Унікальний ідентифікатор варіанта рекомендації, створений в акаунті eSputnik. |
productId | Optional String | MX-1512\42 | Для передачі ID товару зі сторінки, на якій знаходиться користувач. Обов'язковий параметр для рекомендацій з використанням продуктового алгоритму (схожі товари, з цим товаром купують), для інших типів алгоритмів передавати не потрібно. |
productIds | Optional List | ['123', '543534']
| Для передачі id товару або масиву ids товарів корзини. Обов'язковий параметр для рекомендацій з використанням продуктового алгоритму (схожі товари, з цим товаром купують), для інших типів алгоритмів передавати не потрібно. |
categoryKey | Optional String | Jackets | Для передачі ключа категорії, в якій перебуває користувач. Обов'язковий параметр для рекомендацій із використанням категоріального алгоритму (персонально для вас у цій категорії), для інших типів алгоритмів передавати не потрібно. |
allFields | Optional Boolean | true\false | Параметр для визначення того, які атрибути товару будуть у запиті рекомендацій: Усі (які є у фіді товарних даних) або тільки Обов'язкові: product_id За замовчуванням параметр = false |
Приклад відповіді
У разі успішного надсилання запиту ви отримаєте таку відповідь:
Тіло відповіді | Тип | Опис |
| List<object> | ● product_id - ідентифікатор товару, що рекомендується ● container_type необхідно використовувати для передачі події ProductImpression ● url містить посилання на товар з додатковим параметром для правильного трекінгу кліків. |
Важливо
Ви не повинні редагувати значення, що повертається в поле URL-адреси, щоб веб-трекінг працював правильно.
Приклад помилки
Приклад | Тип | Опис |
variantId r262v361 was not found in config | String | Такий ідентифікатор варіанта рекомендації не знайдено. |
Важливо
Після виклику та відображення блоку рекомендацій для правильного трекінгу необхідно передавати подію ProductImpressions.
Фільтрування рекомендацій
Фільтрування рекомендацій через JavaScript API дозволяє показувати товари на сайті, фільтруючи видачу рекомендацій за даними з фіду або контактними даними, що зберігаються на вашій стороні. Наприклад, можна фільтрувати рекомендації за містом проживання, розміром одягу, улюбленим брендом, акційною пропозицією тощо.
Фільтрування рекомендацій через JS API позбавляє вас необхідності кожного разу змінювати правила фільтрації в джерелі даних в eSputnik.
Формат запиту:
eS('getRecommendations', { variantId: 'r362v614', 'filters': { 'include': [{'name': 'city', values: ['Kiev','Kharkiv']}] } }, function(error, products) { if (error) { console.error(error); return; } } );
JavaScript
Параметри запиту:
Назва | Тип | Опис |
filters | Optional Object | Параметр, який включає правила фільтрації. |
include | Optional List | Сувора фільтрація: рекомендація лише товарів згідно з заданими параметрами. Наприклад, показувати лише товари певного бренду. |
exclude | Optional List | Сувора фільтрація: товари із заданими параметрами не показуються. Наприклад, не показувати акційні товари. |
should | Optional List | М’яка фільтрація: товари із заданими параметрами |
name | Required | Назва параметра товару із товарного фіду. |
values | Required List | Список значень для фільтрації. Кома у значеннях values — оператор OR (values: ['Kiev','Kharkiv']). |
Також ви можете визначити поле (параметр), за яким в фіді відбуватиметься фільтрація категорій товарів для показу у рекомендаціях. Для цього вкажіть потрібне значення categoryField у запиті.
Приклад запиту:
eS('getRecommendations', { variantId: 'r1673v2111', categoryKey: 'ВАННА КІМНАТА', categoryField:'tags_all_category_names' }, function(error, products) { if (error) { console.error(error); return; } } );
JavaScript
де tags_all_category_names гарантує пошук за всіма значеннями дерева категорій.
Якщо ви хочете задавати відображення зовнішнього вигляду рекомендаційних блоків у eSputnik, ознайомтеся з цією інструкцією.