Как работает дополнительный сбор отзывов
Новые отзывы мы собираем сами, по расписанию. Если свежие отзывы нужны сразу, по объекту можно
запустить дополнительный сбор: POST /v3/objects/{object_id}/refresh соберёт
новые отзывы со всех площадок объекта вне очереди.
curl -X POST "https://api.rewio.ru/v3/objects/20/refresh" \
-H "X-API-Key: hrev_ВАШ_КЛЮЧ"Ответ 202 приходит сразу, сбор идёт в фоне – обычно несколько минут. Новые отзывы появляются
в GET /v3/reviews по мере того, как собирается каждая площадка. Ход и итог –
в GET /v3/objects/{object_id}/refresh.
Дополнительный сбор, как и сбор по расписанию, забирает только новое: отзывы, появившиеся после последнего собранного.
Правила
| Правило | Как работает |
|---|---|
| Раз в сутки на объект | Следующий дополнительный сбор по объекту – через 23 ч 59 мин после предыдущего, время в next_available_at. У каждого объекта свои сутки. |
| Один повтор | Если с части площадок собрать не получилось, в те же сутки можно собрать ещё раз – следующий POST возьмёт только их (mode: retry). Площадка, с которой не получилось и при повторе, ждёт следующих суток. |
| Тариф | На тарифе «Полный» дополнительный сбор доступен раз в сутки для каждого объекта. На других тарифах – 402 refresh_requires_upgrade. |
| Пробный период | 5 дополнительных сборов на аккаунт за весь пробный период, по любым объектам. Повтор для площадок, где не получилось, в счёт не идёт. |
| Папка | POST /v3/folders/{folder_id}/refresh: сбор по папке собирает отзывы всех вложенных объектов, включая подпапки, – каждого по тем же правилам. |
Состояние объекта
GET /v3/objects/{object_id}/refresh отвечает, что сделает POST прямо сейчас:
is_allowed | mode / code | Что это значит |
|---|---|---|
true | mode: full | Можно запустить сбор: соберутся все площадки объекта. |
true | mode: retry | С части площадок собрать не получилось – можно собрать ещё раз только с них (retry_link_ids). |
false | refresh_in_progress | Сбор идёт. Итог по площадкам – в links. |
false | refresh_limited | Дополнительный сбор по объекту уже был в эти сутки. Когда снова – next_available_at. |
false | refresh_requires_upgrade | Дополнительный сбор не входит в тариф. |
false | refresh_trial_exhausted | Дополнительные сборы пробного периода закончились. |
false | refresh_nothing_to_scrape | У объекта нет ссылок, которые можно собрать. |
links – итог дополнительных сборов этих суток по каждой площадке: running (собирается),
success (собрано) или failed (не удалось собрать). Повтор перекрывает первый сбор по своим
площадкам. Состояние всех объектов сразу – GET /v3/objects/refresh.
Отказы
POST отвечает тем же кодом, что показан в code состояния:
| Статус | code | Когда |
|---|---|---|
402 | refresh_requires_upgrade | Дополнительный сбор входит в тариф «Полный». |
402 | refresh_trial_exhausted | Все 5 дополнительных сборов пробного периода использованы. |
409 | refresh_in_progress | Сбор по объекту уже идёт. |
409 | refresh_nothing_to_scrape | У объекта нет ссылок, которые можно собрать. |
429 | refresh_limited | Дополнительный сбор по объекту был меньше суток назад, собирать ещё раз нечего. Заголовок Retry-After – секунд до next_available_at. |