Документация API v2. Версия заморожена и продолжает работать; актуальная — на главной. Что изменилось: переход с v2 на v3.
Для виджетов

Достоинства и недостатки

Доступ для AI:

Часть площадок спрашивает у автора плюсы и минусы отдельными полями. Мы храним такой отзыв одним текстом – с подписями, по которым его можно разобрать обратно.

Так он приходит по умолчанию, в поле text:

Что понравилось:
Исторический отель в котором стоит хотя бы раз остановиться, конечно интерьер завораживает

Что не понравилось:
Не понравилась организация завтрака: маленький зал, много людей, не все официанты
ориентированы на гостей.

Как получить разбор

Параметр separate_pos_neg=true у GET /v2/reviews:

curl -G "https://api.rewio.ru/v2/reviews" \
  -H "X-API-Key: hrev_ВАШ_КЛЮЧ" \
  --data-urlencode "group_id=20" \
  --data-urlencode "separate_pos_neg=true"

Подписанные блоки уезжают в отдельные поля positive и negative:

{
  "id": 268268,
  "author": "Tatiana",
  "rating": 4.8,
  "positive": "Исторический отель в котором стоит хотя бы раз остановиться, конечно интерьер завораживает",
  "negative": "Не понравилась организация завтрака: маленький зал, много людей, не все официанты ориентированы на гостей."
}

Разобранные блоки убираются из text. Если у отзыва не было ничего, кроме плюсов и минусов, – как в примере выше, – поля text в ответе не будет вовсе. Виджет, который читает text не глядя, на таком отзыве покажет пустоту.

Часть площадок к плюсам и минусам добавляет ещё и свободный текст. У таких отзывов он и остаётся в text, а positive и negative приходят рядом.

На каких площадках это есть

Отзыв изначально разделён на площадках: Островок, Суточно.ру, OneTwoTrip, Booking.com, Agoda, Otzovik, Авито.

На остальных отзыв – один текст, делить в нём нечего. С separate_pos_neg=true такой отзыв придёт как обычно: весь текст в text, полей positive и negative нет.

Отдельного признака в справочнике площадок для этого нет. Надёжный способ – проверять наличие полей у самого отзыва:

text     = review.get("text")
positive = review.get("positive")
negative = review.get("negative")

Где параметра нет

separate_pos_neg работает только в общей ленте отзывов. Скрытые и закреплённые отдаются слитым текстом: positive и negative там не приходят никогда.

On this page