Запити JS API для різних типів сторінок сайту

Якщо ви плануєте використовувати алгоритми товарних рекомендацій eSputnik, а відображення (зовнішній вигляд блоків, сторінки показу тощо) налаштувати на своїй стороні, вам необхідно

Приклади запитів

На головній та 404 сторінці 

eS('getRecommendations', {
  'variantId': 'r554v778'
  }, function(error, products) {

  if (error) {
            console.error(error);
            return ;
        }

});

На сторінці товару

eS('getRecommendations', {
  'variantId': 'r554v778',
  'productId': 'MX-1512\42'
  }, function(error, products) {

  if (error) {
            console.error(error);
            return ;
        }

});

На сторінці кошика

eS('getRecommendations', {
  'variantId': 'r554v778',
  'productIds': ['123', '543534']
  }, function(error, products) {

  if (error) {
            console.error(error);
            return ;
        }

});

На поп-апі кошика використання події StatusCartPage

eS('sendEvent', 'StatusCartPage');

На сторінці категорій

eS('getRecommendations', {
  'variantId': 'r554v778',
  'categoryKey': 'cK'
  }, function(error, products) {


  if (error) {
            console.error(error);
            return ;
        }
});

Метод JS API – асинхронний, що дозволяє не чекати на виконання інших функцій на сайті.

Параметри запиту

НазваТипПрикладОпис
variantIdRequired
String
r262v361Унікальний ідентифікатор варіанта рекомендації, створений в акаунті eSputnik.
productIdOptional
String
MX-1512\42Для передачі ID товару зі сторінки, на якій знаходиться користувач.

Обов'язковий параметр для рекомендацій з використанням продуктового алгоритму (схожі товари, з цим товаром купують), для інших типів алгоритмів передавати не потрібно.
productIdsOptional
List
['123', '543534']Для передачі id товару або масиву ids товарів корзини.

Обов'язковий параметр для рекомендацій з використанням продуктового алгоритму (схожі товари, з цим товаром купують), для інших типів алгоритмів передавати не потрібно.
categoryKeyOptional
String
JacketsДля передачі ключа категорії, в якій перебуває користувач.

Обов'язковий параметр для рекомендацій із використанням категоріального алгоритму (персонально для вас у цій категорії), для інших типів алгоритмів передавати не потрібно.
allFieldsOptional Booleantrue\falseПараметр для визначення того, які атрибути товару будуть у запиті рекомендацій: Усі (які є у фіді товарних даних) або тільки

Обов'язкові:

- _product_id
- url
- container_type_За замовчуванням параметр = false

Приклад відповіді

У разі успішного надсилання запиту ви отримаєте таку відповідь:

Тіло відповідіТипОпис
JavaScript

[ { "product_id": "02G439", "container_type": "19534_r24v435", "url": "https://…?sc_content=19534_r24v435" // та iншi атрибути товару з фiда } ]
List- product_id - ідентифікатор товару, що рекомендується
- container_type необхідно використовувати для передачі події ProductImpression
- url містить посилання на товар з додатковим параметром для правильного трекінгу кліків.

❗️

Важливо

Ви не повинні редагувати значення, що повертається в поле URL-адреси, щоб веб-трекінг працював правильно.

Приклад помилки

ПрикладТипОпис
variantId r262v361 was not found in configStringТакий ідентифікатор варіанта рекомендації не знайдено.

❗️

Важливо

Після виклику та відображення блоку рекомендацій для правильного трекінгу необхідно передавати подію 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;
    }
  }
);

Параметри запиту:

НазваТипОпис
filtersOptional
Object
Параметр, який включає правила фільтрації.
includeOptional
List
Сувора фільтрація: рекомендація лише товарів згідно з заданими параметрами. Наприклад, показувати лише товари певного бренду.
excludeOptional
List
Сувора фільтрація: товари із заданими параметрами не показуються. Наприклад, не показувати акційні товари.
shouldOptional
List
М’яка фільтрація: товари із заданими параметрами
показуються пріоритетно, решта — за умовчанням
(якщо у видачі має бути 20 рекомендацій, буде показано 5 товарів із заданими параметрами, решта 15 — без застосування фільтра). Наприклад, включати у рекомендації товари з нової колекції.
nameRequired
String
Назва параметра товару із товарного фіду.
valuesRequired 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;
    }
  }
);

де tags_all_category_names гарантує пошук за всіма значеннями дерева категорій.


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