Достоинства и недостатки
Часть площадок спрашивает у автора плюсы и минусы отдельными полями. Мы храним такой отзыв одним текстом – с подписями, по которым его можно разобрать обратно.
Так он приходит по умолчанию, в поле text:
Что понравилось:
Исторический отель в котором стоит хотя бы раз остановиться, конечно интерьер завораживает
Что не понравилось:
Не понравилась организация завтрака: маленький зал, много людей, не все официанты
ориентированы на гостей.Как получить разбор
Параметр split_pros_cons=true у GET /v3/reviews:
curl -G "https://api.rewio.ru/v3/reviews" \
-H "X-API-Key: hrev_ВАШ_КЛЮЧ" \
--data-urlencode "object_id=20" \
--data-urlencode "split_pros_cons=true"Подписанные блоки уезжают в отдельные поля pros и cons:
{
"id": 268268,
"author": "Tatiana",
"rating": 4.8,
"pros": "Исторический отель в котором стоит хотя бы раз остановиться, конечно интерьер завораживает",
"cons": "Не понравилась организация завтрака: маленький зал, много людей, не все официанты ориентированы на гостей."
}Разобранные блоки убираются из text. Если у отзыва не было ничего, кроме плюсов и минусов, –
как в примере выше, – поля text в ответе не будет вовсе. Виджет, который читает text не глядя,
на таком отзыве покажет пустоту.
Часть площадок к плюсам и минусам добавляет ещё и свободный текст. У таких отзывов он и остаётся
в text, а pros и cons приходят рядом.
На каких площадках это есть
Отзыв изначально разделён на площадках: Островок, Суточно.ру, OneTwoTrip, Booking.com, Agoda, Otzovik, Авито.
На остальных отзыв – один текст, делить в нём нечего. С split_pros_cons=true такой отзыв придёт
как обычно: весь текст в text, полей pros и cons нет.
Отдельного признака в справочнике площадок для этого нет. Надёжный способ – проверять наличие полей у самого отзыва:
text = review.get("text")
pros = review.get("pros")
cons = review.get("cons")Где параметра нет
split_pros_cons работает только в общей ленте отзывов. Скрытые и
закреплённые отдаются слитым текстом: pros и cons там не
приходят никогда.