Порядок интеграции сервиса рекомендаций через API

Регистрация и конфигурация сервиса рекомендаций

Для регистрации и конфигурации сервиса рекомендаций необходимо использовать метод POST /api/v5/integration-modules/{code}/edit. Если модуль с кодом {code} уже существует, метод меняет его настройки, в противном случае создается новый интеграционный модуль сервиса рекомендаций. Текущие параметры модуля можно посмотреть используя метод GET /api/v5/integration-modules/{code}.

При регистрации сервиса необходимо указать название integrationModule[name], код integrationModule[code], базовый url integrationModule[baseUrl] и пользовательский идентификатор integrationModule[clientId]. clientId необходим для идентификации пользователя в складской системе при совершении callback-запросов.

Набор вкладок передается в виде массива в поле integrationModule[integrations][recommendation][modes]. Для каждой вкладки требуется задать код и названия на языках системы. Код вкладки передается в url-параметре mode при обращении к сервису рекомендаций. Названия на языках системы передаются в виде ассоциативного массива, где ключ - язык системы (ru, es, en), а значение - название вкладки на данном языке системы. Передача ключа en обязательна, ключи ru и es могут отсутствовать, при отсутствии названия вкладки для языка будет использовано название из языка en. Передача несуществующих языков системы будет вызывать ошибку валидации.

Например, при передаче следующего массива вкладок

 [
     [
         'code' => 'upsell',
         'names' => [
             'ru' => 'Upsell-товары',
             'en' => 'Products for upsell',
             'es' => ,
         ],
     ],
     [
         'code' => 'presents',
         'names' => [
             'ru' => '',
             'en' => 'Presents',
             'es' => ,
         ],
     ],
 ]

система посчитает, что модуль рекомендаций предоставляет две вкладки:

Также можно указать integrationModule[integrations][recommendation][addDefaultModes] со значением true или false. Установка данного флага в true позволяет выводить помимо вкладок модуля системные вкладки "С этим товаром покупают" и "Аналоги". Если модуль позволяет выводить системные вкладки, то на коды вкладок модуля накладывается ограничение - они не должны быть равны analogs и buying_with. В настройках модуля также возможно отключение вывода системных вкладок, если addDefaultModes равен true.

Вкладки показываются в следующем порядке:

Также можно указать логотип сервиса рекомендаций integrationModule[logo], который будет отображаться в списке интеграций в разделе Маркетплейс.

Для активации callback-методов необходимо передать настройки нужного callback-метода в integrationModule[integrations][recommendation][actions]. Для каждого метода необходимо указать код code и url. Адрес для запроса будет собираться из integrationModule[baseUrl] базовой конфигурации и url конкретного метода.

Ниже приведены доступные callback-методы.

Получение списка рекомендаций для товара

Для получения списка рекомендаций система будет выполнять GET запрос к методу с кодом recommendation из массива integrationModule[integrations][recommendation][actions]. К url метода будут добавлены следующие параметры:

В качестве ответа от сервиса рекомендаций система принимает объект со следующими полями:


Редакция от 12.03.2020 16:35