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

Как отвечать на отзывы

Доступ для AI:

Ответ, отправленный через Rewio, появляется под отзывом на самой площадке, от лица вашей организации. Это не поле у нас в базе: мы публикуем его там, где отзыв живёт.

curl -X PUT https://api.rewio.ru/v2/reviews/143046/reply \
  -H "X-API-Key: hrev_ВАШ_FULL_КЛЮЧ" -H "Content-Type: application/json" \
  -d '{"text": "Спасибо за отзыв! Рады, что всё понравилось."}'
# -> 202 { "text": "Спасибо за отзыв! …", "status": "pending", … }

Что нужно до первого ответа

Ответы включаются по запросу. Напишите на info@rewio.ru – подскажем, что сделать на стороне площадки, и включим их вам.

Три условия, все обязательные:

ТарифПолный. На остальных публикация отвечает 402 с кодом reply_requires_upgrade.
ПодключениеПлощадка должна пустить нас отвечать за вас. Делается на её стороне, один раз на объект.
КлючСо скоупом full для публикации и удаления; ключ на чтение получит 403. Само состояние ответа читается и read_only.

Где это работает

Сейчас на трёх площадках:

ПлощадкаОпубликоватьЗаменить текстУдалить
Яндекс.Картыдадада
2ГИСданетда
ПроДокторовданетнет

В 2ГИС площадка не разрешает переписывать опубликованный ответ: попытка вернёт 409 с кодом reply_edit_not_supported. Чтобы поменять текст, удалите ответ и опубликуйте заново.

На ПроДокторов ответ публикует клиника, и площадка не даёт ни переписать, ни удалить опубликованный ответ (reply_edit_not_supported / reply_delete_not_supported). Ответ проходит модерацию площадки, поэтому появляется под отзывом не мгновенно.

Проверять программно стоит не по названию, а по полю can_publish_reply в справочнике площадок: оно и говорит, умеем ли мы публиковать ответы на этой площадке. Не путайте его с has_reply – тот лишь означает, что у отзывов площадки вообще бывают ответы организации.

Ответить, заменить, удалить

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

DELETE убирает ваш ответ с площадки. Убрать можно только свой: ответ, опубликованный не через нас, методу не виден.

Место под ответ на площадке одно. Если на отзыв уже отвечает другой аккаунт Rewio, придёт 409 с кодом reply_owned_by_other_account.

Что происходит с ответом

У ответа есть состояние – status в ответе на запрос:

statusЧто значит
pendingМы приняли текст, ответ ждёт публикации.
publishingЗапрос к площадке в полёте.
publishedПлощадка приняла ответ.
failedОпубликовать не удалось.
deletedОтвет удалён с площадки.

PUT и DELETE возвращают состояние на момент приёма, а это всегда pending: новый текст начинает путь заново, даже если предыдущий ответ уже стоял на площадке. Что было дальше, показывает GET /v2/reviews/{review_id}/reply – по тому же адресу, отдельного идентификатора у ответа нет.

curl https://api.rewio.ru/v2/reviews/143046/reply -H "X-API-Key: hrev_ВАШ_КЛЮЧ"
# -> { "status": "published", "published_at": "…", "confirmed_at": "…", "error": null }

Чтение доступно и ключу на чтение, и не зависит от тарифа. Там же видна причина, если опубликовать не удалось: status станет failed, а в error придёт код.

Как узнать, что ответ опубликован

Опубликованный ответ виден там же, где живёт отзыв:

  • В самом отзыве. Заполняются reply_text и reply_date в GET /v2/reviews – это подтверждение с площадки, а не наше обещание.
  • Событием. Если настроены вебхуки, приходит replies.new.

Между 202 и появлением ответа на площадке проходит от нескольких секунд до нескольких минут.

Если что-то пошло не так

Отказы, которые видны сразу, приходят в ответе на запрос: тариф без ответов, площадка не поддерживает ответы, место под ответ занято другим аккаунтом, текст не прошёл проверку, доступ отозван. Каждый – со своим кодом, все они на странице Ошибки.

Дальше, при самой публикации, мешать может временное: наш доступ к площадке обновляется, площадка просит подождать, сорвалась сеть. Такие случаи мы отрабатываем сами, повторами, а результат виден в состоянии ответа.

Если ответ не появился, напишите на info@rewio.ru.

On this page