Как вывести последние отзывы магазина с Яндекс Маркета

Как вывести на сайте отзывы, которые оставили в вашем магазине Яндекс Маркета? Очень просто, читайте подробнее в статье.

Яндекс маркет как вывести отзывы магазина

Задача состоит в том, чтобы вывести последние несколько отзывов, а также оставить ссылку на «посмотреть все (#счетчик#)» где счетчик — это количество всех оставленных отзывов.

Перед тем как начать писать код, вы должны получить свой API KEY, без которого у вас просто не будет доступа к информации.

Если этот шаг позади, определитесь какой формат вам больше нравится — ответ может приходить в XML или JSON. Я выбрал JSON, и про небольшую сложность этого формата вы узнаете чуть ниже 🙂 .

Надеюсь вам не нужно объяснять что такое ID вашего магазина в маркете, он нам тоже понадобится.

URL для запроса будет выглядеть так:

где 123456 — это ID вашего магазина, обязательно замените эти цифры на свои.
для XML ссылка будет иметь следующий вид:

всё отличие заключалось лишь в формате файла opinion.

По поводу сортировок, она задается тоже в URL:

сортировка по дате, по убыванию (от последней к самой ранней), количество отзывов 3.

Как выглядит код для формата JSON:

Помните, да, меняем ВАШ_API_KEY, и 123456. Стоит отметить что у меня сразу данные не появились, лишь после того как написал техподдержке, надеюсь у вас всё вышло гораздо проще :).
$TOTAL = $obj->shopOpinions->total; // СЧЕТЧИК ВСЕХ ОТЗЫВОВ

После всех махинаций пройдемся циклом по всем элементам массива:

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

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

Проблемы с датой в JSON

Как и обещал, расскажу про JSON — всё дело в том что он присылает некорректные даты. Точнее они нормальные, но вам нужно удалить последние 3 нуля, т.к. PHP их нормально не распознает (если вы знаете функцию которая с этим справится, напишите пожалуйста в комментариях, т.к. я ее не нашел).

Дата выглядит следующим образом:

Её легко можно обработать при помощи JS, используя что-то наподобие этого:

Данный код преобразовывает это число в нормальную дату год.месяц.число — но как по мне это ужасный вариант. Чтобы заработало на PHP нужно написать:

То есть убрать три ноля. Жду вас в комментариях по поводу улучшения этого кода 😉

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.com/dmitriy/.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *