Перейти к основному содержимому

Как показать покупателю его отзывы

Как через Widgets API получить все отзывы одного покупателя и вывести их в личном кабинете на сайте или в мобильном приложении

Выведите покупателю список его отзывов в личном кабинете на сайте или в мобильном приложении: покупатель увидит, какие отзывы опубликованы, а какие ещё на проверке или отклонены. Список отдаёт Widgets API по запросу render.json с контекстом consumer. Готового виджета 2.0 для этого нет, вёрстку списка делает ваш сайт.

Что понадобится​

  • Легаси-токен для Widgets API из раздела Админ → API и доступы → Токены аутентификации: см. как получить токен доступа к API.
  • Внешний ID покупателя из вашей CRM у каждого отзыва. Отзыв без внешнего ID в список не попадёт: у такого отзыва в личном кабинете нет вкладки Клиент.

Шаг 1. Передавайте внешний ID покупателя вместе с отзывами​

Передайте с отзывом внешний ID покупателя, а также email или телефон: без них платформа не создаст покупателя. Отзывы, которые пришли без внешнего ID, задним числом к покупателю не привяжутся.

Как приходят отзывыВнешний IDEmail и телефон
Виджеты 2.0external_id в aplaut.setParams или в JWT (см. как настроить вход покупателя)email, phone
Submissions APIauthor_id при создании отзываauthor_email, author_phone
UGC-кампании по заказамconsumer_external_id у заказаconsumer_email, consumer_phone

Шаг 2. Создайте виджет с контекстом «Клиент»​

  1. Откройте Админ → Виджеты и формы → Настройки виджетов, вкладка Widgets 1.0. В блоке Темы виджетов нажмите стрелку в строке Настройки виджетов, выберите набор, через который сайт запрашивает Widgets API, и нажмите Добавить виджет.
  2. В поле Контекст выберите Клиент, в поле Содержимое виджета — Отзывы о товарах. Отзывы покупателя о компании в такой список не попадают.
  3. Заполните Название виджета и Системное имя, например consumer-reviews. Системное имя уходит в запрос как widget_id.
  4. Сохраните виджет.

Шаг 3. Запросите отзывы покупателя​

Передайте в context_id внешний ID покупателя, в theme_id — системное имя набора виджетов из шага 2. Без theme_id API ищет виджет в наборе default. Email и телефон в context_id не подходят: API ищет покупателя только по внешнему ID.

curl "https://w-api2.aplaut.io/widgets/v2/render.json?authentication_token={TOKEN}&theme_id=default&widget_id=consumer-reviews&context=consumer&context_id={EXTERNAL_ID}"

Параметры постраничной выдачи и остальные параметры запроса описаны в справочнике Widgets API.

Шаг 4. Отфильтруйте отзывы по статусу​

Запрос с context=consumer возвращает отзывы во всех статусах. Статус отзыва приходит в поле state, значения перечислены в справочнике статусов модерации. Решите на своей стороне, что показывать. Например, опубликованные и ожидающие проверки покажите как есть, а забаненные пометьте.

Если в компании включён выбор причины бана, у забаненного отзыва есть поле ban_reason с причиной: покажите её, чтобы покупатель мог написать новый отзыв. Без выбора причины поле приходит пустым.

Проверка результата​

Оставьте тестовый отзыв от покупателя с известным внешним ID и запросите список. Отзыв есть в ответе, а в личном кабинете у него есть вкладка Клиент с тем же внешним ID. Если отзыва в ответе нет, учтите время кеширования виджета из его настроек и повторите запрос позже.