Базовые принципы работы с товарными рекомендациями - RU Документация - REES46 Manual
Page tree
Skip to end of metadata
Go to start of metadata

Общий формат запроса товарных рекомендаций

r46('recommend', type, params, success, failure);

Параметры:

ПараметрТипОбязательностьКомментарий
typeStringобязательноТип алгоритма рекомендаций (см. раздел "Типы рекомендаций").
paramsObjectобязательноОпции алгоритма рекомендаций. Расшифровка в разделе "Параметры рекомендаций".
successFunctionобязательноФункция, которая делает отрисовку полученных рекомендаций на странице. См. Отрисовка товарных рекомендаций
failureFunctionне обязательноФункция, которая вызывается в случае ошибки при запросе рекомендаций.

Пример:

// Пример запрашивает персональную рекомендацию популярных товаров.
// Затем, получив идентификаторы товаров, обращается к локальному скрипту магазина /drawblocks.php, передавая
// в него идентификаторы рекомендованных товаров.
// Скрипт в ответ возвращает кусок HTML-кода в дизайне магазина (разрабатывается на стороне магазина).
// И этот HTML-код помещается в HTML-тег (контейнер) с идентификатором id="recommended-items"
r46('recommend', 'popular', {}, function(ids){
	$('#recommended-items').load('/drawblocks.php', {ids: ids}); // <-- This is jQuery
});

Параметры запроса рекомендаций

ПеременнаяТипОписание
itemStringID текущего просматриваемого товара. Обязателен, если запрашивается similar или also_bought. Желателен при просмотре карточки товара, чтобы исключить этот товар из результатов рекомендаций.
cartArrayМассив ID товаров в корзине. Обязательный для всех рекомендаций.
category
StringID просматриваемой категории. Обязателен для рекомендации популярных товаров в категории.
limitIntegerМаксимальное количество рекомендованных товаров. По-умолчанию 8.
locationsArrayМассив ID локаций (например, доступности в городах или конкретных магазинах), для которых будут даны рекомендации. Пример: [2, 54, 1005]. Подробнее о формировании списка локаций в YML-выгрузке.
brandsArrayСписок брендов, по которым выбрать товары. Пример: ["apple", "samsung"].
exclude_brandsArray
В РАЗРАБОТКЕ

Список брендов, которые нужно исключить из рекомендации. Пример: ["apple", "htc"].

search_queryString
Поисковый запрос при запросе рекомендаций в результатах поиска. Обязателен при использовании рекомендера "search".
discount
Boolean

Если true, то возвращает только акционные товары, у которых текущая цена меньше свойства oldprice (см. YML)

for_user
Boolean
Если true, то возвращает только товары из категорий, интересных пользователю. Важно: этот флаг работает только для алгоритма "popular".

Примеры использования товарных рекомендаций 

НазваниеКодОписание и пример
Возможно, вам это понравитсяinteresting

Если вы используете этот блок на странице товара, то передавайте ID товара в параметре item.

r46('recommend', 'interesting', {item: 4241}, function(result_ids) { ... } );
С этим товаром покупаютalso_bought

Здесь обязательно нужно передать ID товара. Этот блок рекомендаций лучше всего использовать на странице просмотра товара.

r46('recommend', 'also_bought', {item: 123}, function(result_ids) { ... } );

 

Если вам необходимо делать выборку товаров из определенных категорий (напр. "Аксессуары"), используйте дополнительный параметр categories.

r46('recommend', 'also_bought', {item: 123, categories: ['3']}, function(result_ids) { ... } );
Похожие товарыsimilar

Необходимо передать ID товара и массив ID товаров из корзины. Опционально можно передавать ID категорий, из которых рекоммендер будет выбирать товар. Если категории не переданы, рекоммендер выбирает товар из категорий товара.

r46('recommend', 'similar', {item: '123', cart: ['4', '102'], categories: ['2', '41']}, function(result_ids) { ... } );
Популярные товарыpopular

Здесь передается ID категории. Если ID категории не передан, то подбираются популярные товары со всего каталога.

r46('recommend', 'popular', {category: '2'}, function(result_ids) { ... } );

Если указан параметр price_sensitive, то подбираются популярные товары с учетом предпочтительных для конкретного посетителя цен. Работает только для вариации алгоритма "Популярные товары в категории".

r46('recommend', 'popular', {category: '2', price_sensitive: true}, function(result_ids) { ... } );
Посмотрите такжеsee_also

В этом случае вторым параметром передается массив ID товаров в корзине.

r46('recommend', 'see_also', {cart: ['4', '102']}, function(result_ids) { ... } ); 
Вы недавно смотрелиrecently_viewed

Не требует дополнительных параметров.

r46('recommend', 'recently_viewed', {}, function(result_ids) { ... } );
Прямо сейчас покупаютbuying_now

Желательно передать ID товара и массив ID товаров из корзины.

r46('recommend', 'buying_now', {cart: ['4', '102'], item: '35'}, function(result_ids) { ... } );
Люди, искавшие "...", купили эти товарыsearch

Обязательно передавать атрибут search_query, желательно передать массив ID товаров из корзины.

r46('recommend', 'search', {cart: ['4', '102'], search_query: 'iphone 6s'}, function(result_ids) { ... } );

Рекомендуется использовать блок на странице пустого результата поиска.

У вас скоро закончатсяsupply

Желательно передать ID товара и массив ID товаров из корзины.

r46('recommend', 'supply', {item: '123', cart: ['4', '102']}, function(result_ids) { ... } ); 
Новинкиnovelties

Для фильтрации новинок, которые интересны текущему юзеру, укажите параметр for_user.

r46('recommend', 'novelties', {}, function(result_ids) { ... } ); 
Следующая лучшая покупкаnext_best_offer

Желательно передать ID товара и массив ID товаров из корзины.

r46('recommend', 'next_best_offer', {cart: ['4', '102'], item: '35'}, function(result_ids) { ... } );
Дешевле, но маржинальнееprofitable

Алгоритм находит товары аналогично быстрому поиску, подбирает к ним более дешёвые, но при этом самые маржинальные аналоги (см. price_margin) из тех же категорий, и выдаёт их в ответ. Предполагается использование в блоке рядом с результатами поиска на сайте.

r46('recommend', 'profitable', { search_query: 'Аспирин' }, function(result_ids) { ... } );

В ответ рекомендер передает в callback-функцию массив рекомендуемых товаров ['45', '512', '2'], или пустой массив [], если таких нет.

  • No labels