Запросы 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, ознакомьтесь с этой инструкцией.