Как отвечать на отзывы
Ответ, отправленный через 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.