private:koding:hostcms:modules:shop:useful:import_market_opinions

Синхронизация отзывов Яндекс.Маркета

Пользователи Яндекс.Маркета могут оставлять отзывы как о товарах, так и об интернет-магазинах, существует возможность выводить эти отзывы на страницах сайта. Такая возможность может быть полезной для различных фирменных магазинов, которые хотят похвастаться мнением пользователей о товарах своего бренда.

В решении этой задачи нам поможет контентный API Маркета, для доступа к нему понадобится ключ, которому разрешена операция получения отзывов. Запросить ключ можно у тех. поддержки, ссылка есть в документации. Для работы с API Маркета разработан специальный класс.

У контентного API Маркета в базовом доступе существует ограничение в 100 запросов в день, чтобы уложиться в это ограничение в классе реализовано кэширование запросов. Если обновление всех отзывов в течение 1 дня не удается, то оставшиеся отзывы обновляются в течение последующих дней. Количество дней обновления задается переменной $cacheDays.

Далее приведены два сценария установки решения:

  • Сценарий для синхронизации отзывов на товары, в этом случае отзывы будут прикрепляться к товарам, как комментарии,
  • Сценарий для синхронизации отзывов на интернет-магазин, в этом случае отзывы будут сохраняться в отдельную информационную систему.

Синхронизация отзывов на товары

  1. Копируем класс в директорию модулей: /modules/kad/marketcontent/controller.php
  2. Копируем сценарий в директорию сценариев: /cron/import_market_models_opinions.php
  3. Создаем доп. свойство для товаров, в которое необходимо будет занести ссылку на товар в Яндекс.Маркете, ссылка будет выглядеть примерно так: https://market.yandex.ru/product/1721171184.
  4. Задаем настройки для сценария вверху файла:
    // Идентификатор интернет-магазина
    $shopId = xxx;
     
    // Доп. свойство, в котором хранится ссылка на стринцу товара в Яндекс.Маркете
    $marketPropertyId = xxx;
     
    // Ключ для Контентного API Маркета
    $marketKey = 'xxx';
     
    // Выводить техническую информацию
    $log = FALSE;
     
    // Количество дней актуальности кэша запросов
    $cacheDays = 7;
  5. Ставим сценарий на автоматический запуск с помощью cron 1 раз в день.

Синхронизация отзывов на интернет-магазин

  1. Копируем класс в директорию модулей: /modules/kad/marketcontent/controller.php
  2. Копируем сценарий в директорию сценариев: /cron/import_market_shop_opinions.php
  3. Создаем информационную систему «Отзывы об интернет-магазине», в описание информационной системы заносим ссылку на интернет-магазин в Яндекс.Маркете, например, https://market.yandex.ru/shop/312135/reviews.
  4. Задаем настройки для сценирия вверху файла:
    // Информационная система для хранения отзывов об интернет-магазине
    $marketInfosystemId = xxx;
    
    // Ключ для Контентного API Маркета
    $marketKey = 'xxx';
    
    // Выводить техническую информацию
    $log = TRUE;
    
    // Количество дней актуальности кэша запросов
    $cacheDays = 7;
  5. Ставим сценарий на автоматический запуск с помощью cron 1 раз в день.

Примеры внедрения

Страницу создал Максим Засорин 30.05.17 в 17:38

private/koding/hostcms/modules/shop/useful/import_market_opinions.txt · Last modified: 30.06.17 в 16:33 by maximzasorin_gmail.com