Запити 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 – асинхронний, що дозволяє не чекати на виконання інших функцій на сайті.

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

Назва

Тип

Приклад

Опис

variantId

Required
String

r262v361

Унікальний ідентифікатор варіанта рекомендації, створений в акаунті eSputnik.

productId

Optional
String

MX-1512\42

Для передачі ID товару зі сторінки, на якій знаходиться користувач.

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

productIds

Optional
List

Якщо ви плануєте

Для передачі id товару або масиву ids товарів корзини.

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

categoryKey

Optional
String

Jackets

Для передачі ключа категорії, в якій перебуває користувач.

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

allFields

Optional Boolean

true\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<object>

  • 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;
    }
  }
);

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

Назва

Тип

Опис

filters

Optional
Object

Параметр, який включає правила фільтрації.

include

Optional
List

Сувора фільтрація: рекомендація лише товарів згідно з заданими параметрами. Наприклад, показувати лише товари певного бренду.

exclude

Optional
List

Сувора фільтрація: товари із заданими параметрами не показуються. Наприклад, не показувати акційні товари.

should

Optional
List

М’яка фільтрація: товари із заданими параметрами
показуються пріоритетно, решта — за умовчанням
(якщо у видачі має бути 20 рекомендацій, буде показано 5 товарів із заданими параметрами, решта 15 — без застосування фільтра). Наприклад, включати у рекомендації товари з нової колекції.

name

Required
String

Назва параметра товару із товарного фіду.

values

Required List

Список значень для фільтрації. Кома у значеннях values — оператор OR (values: ідображення (зовні).

Також ви можете визначити поле (параметр), за яким в фіді відбуватиметься фільтрація категорій товарів для показу у рекомендаціях. Для цього вкажіть потрібне значення 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, ознайомтеся з цією інструкцією.