====== Синхронизация отзывов Яндекс.Маркета ====== Пользователи Яндекс.Маркета могут оставлять отзывы как о товарах, так и об интернет-магазинах, существует возможность выводить эти отзывы на страницах сайта. Такая возможность может быть полезной для различных фирменных магазинов, которые хотят похвастаться мнением пользователей о товарах своего бренда. В решении этой задачи нам поможет [[https://tech.yandex.ru/market/monetization/|контентный API Маркета]], для доступа к нему понадобится ключ, которому разрешена операция получения отзывов. Запросить ключ можно у тех. поддержки, ссылка есть в документации. Для работы с API Маркета разработан специальный класс. У контентного API Маркета в [[https://tech.yandex.ru/market/content-data/|базовом доступе]] существует ограничение в 100 запросов в день, чтобы уложиться в это ограничение в классе реализовано кэширование запросов. Если обновление всех отзывов в течение 1 дня не удается, то оставшиеся отзывы обновляются в течение последующих дней. Количество дней обновления задается переменной ''$cacheDays''. Далее приведены два сценария установки решения: * Сценарий для синхронизации отзывов на товары, в этом случае отзывы будут прикрепляться к товарам, как комментарии, * Сценарий для синхронизации отзывов на интернет-магазин, в этом случае отзывы будут сохраняться в отдельную информационную систему. ==== Синхронизация отзывов на товары ==== - Копируем класс в директорию модулей: [[private:koding:hostcms:modules:shop:useful:import_market_opinions:controller.php|/modules/kad/marketcontent/controller.php]] - Копируем сценарий в директорию сценариев: [[private:koding:hostcms:modules:shop:useful:import_market_opinions:import_market_models_opinions.php|/cron/import_market_models_opinions.php]] - Создаем доп. свойство для товаров, в которое необходимо будет занести ссылку на товар в Яндекс.Маркете, ссылка будет выглядеть примерно так: ''https://market.yandex.ru/product/1721171184''. - Задаем настройки для сценария вверху файла:// Идентификатор интернет-магазина $shopId = xxx; // Доп. свойство, в котором хранится ссылка на стринцу товара в Яндекс.Маркете $marketPropertyId = xxx; // Ключ для Контентного API Маркета $marketKey = 'xxx'; // Выводить техническую информацию $log = FALSE; // Количество дней актуальности кэша запросов $cacheDays = 7; - Ставим сценарий на автоматический запуск с помощью ''cron'' 1 раз в день. ==== Синхронизация отзывов на интернет-магазин ==== - Копируем класс в директорию модулей: [[private:koding:hostcms:modules:shop:useful:import_market_opinions:controller.php|/modules/kad/marketcontent/controller.php]] - Копируем сценарий в директорию сценариев: [[private:koding:hostcms:modules:shop:useful:import_market_opinions:import_market_shop_opinions.php|/cron/import_market_shop_opinions.php]] - Создаем информационную систему «Отзывы об интернет-магазине», в описание информационной системы заносим ссылку на интернет-магазин в Яндекс.Маркете, например, ''https://market.yandex.ru/shop/312135/reviews''. - Задаем настройки для сценирия вверху файла:// Информационная система для хранения отзывов об интернет-магазине $marketInfosystemId = xxx; // Ключ для Контентного API Маркета $marketKey = 'xxx'; // Выводить техническую информацию $log = TRUE; // Количество дней актуальности кэша запросов $cacheDays = 7; - Ставим сценарий на автоматический запуск с помощью ''cron'' 1 раз в день. ==== Примеры внедрения ==== - [[http://hasttings.ru|hasttings.ru]] - [[http://slimtec.ru|slimtec.ru]] Страницу создал Максим Засорин 30.05.17 в 17:38