Как считать аналитику
Аналитика отвечает на вопросы про массив отзывов, не заставляя вас его выкачивать: «какой сейчас средний балл», «сколько негатива осталось без ответа», «где хуже всего», «растём мы или падаем». Считаем мы, вы получаете готовые числа.
Методов два, и различаются они не набором метрик, а срезом:
| Вопрос | Метод |
|---|---|
| Как обстоят дела сейчас, за период целиком | Сводка – GET /v3/analytics |
| Как это менялось – по дням, неделям или месяцам | Динамика – GET /v3/analytics/timeseries |
Что задаёт расчёт
Оба метода принимают одно и то же.
Адресат – ровно один. object_id для объекта либо folder_id для
папки целиком; оба сразу – 400 object_and_folder_conflict, ни одного –
400 object_or_folder_required. В папке считается по всем её объектам и объектам подпапок,
а ссылка, попавшая в несколько объектов одной папки, учитывается один раз: метрики не удваиваются.
Период – по дате публикации отзыва (published_from / published_to, включительно).
Это review_date, то есть когда отзыв появился на площадке, а не когда мы его забрали.
Умолчания у методов разные: сводка без границ считает всю историю, ряд – последние 90 дней.
Фильтры – source_ids (только эти площадки) и min_rating / max_rating (только эта
полоса оценок). Оба сужают массив до расчёта, а не после него.
Сводка
curl "https://api.rewio.ru/v3/analytics?object_id=20" \
-H "X-API-Key: hrev_ВАШ_КЛЮЧ"Ответ – три блока:
meta– что фактически посчитано: список объектов, реальные границы периода, применённые площадки, момент расчёта. Читать его стоит всегда: именно здесь видно, какой период подставился по умолчанию.summary– общие числа за период:review_count,average_rating(шкала 1–5),rating_distribution,reviews_with_text,reviews_with_imagesи блокreply.by_source– те же числа по каждой площадке отдельно. В папочном режиме одна площадка разных объектов схлопывается в одну строку с суммой.
Блок reply – это про работу с отзывами, а не про сами отзывы: reviews_with_reply – сколько
отвечено, unanswered_negative_count – сколько низких оценок осталось без ответа,
reply_by_rating – на какие оценки отвечают, last_reply_date – когда отвечали в последний раз.
Отсюда собираются типовые показатели:
| Что нужно | Как получить |
|---|---|
| Текущий рейтинг | summary.average_rating |
| Доля отвеченных | summary.reply.reviews_with_reply / summary.review_count |
| Очередь на ответ | summary.reply.unanswered_negative_count |
| Какая площадка тянет вниз | сравнить average_rating в строках by_source |
| Где отзывы вообще есть | review_count в строках by_source |
Динамика
curl "https://api.rewio.ru/v3/analytics/timeseries?object_id=20&granularity=month" \
-H "X-API-Key: hrev_ВАШ_КЛЮЧ"granularity – шаг ряда: day, week или month.
Ответ – series: по ряду на каждую площадку плюс агрегированный ряд с source_id: 0
(«Все источники»). Точки лежат в points, в хронологическом порядке; в каждой – метка периода
period, review_count, average_rating и распределения.
Средняя оценка в точке считается по отзывам этого интервала, а не накопительно: это не «рейтинг на дату», а «как оценивали в этом месяце». Накопительный рейтинг даёт сводка.
Без явных границ ряд строится за последние 90 дней, а не за всю историю. И ряд начинается
с первого целого интервала: при шаге в месяц и published_from=2026-05-06 мая в ряду не будет
совсем; ставьте начало периода на первое число.
import requests
BASE = "https://api.rewio.ru/v3"
HEADERS = {"X-API-Key": "hrev_ВАШ_КЛЮЧ"}
r = requests.get(f"{BASE}/analytics/timeseries", headers=HEADERS, params={
"object_id": 20, "granularity": "month",
"published_from": "2025-08-01", "published_to": "2026-08-01",
})
for series in r.json()["series"]:
print(series["source_name"])
for point in series["points"]:
print(f" {point['period']}: {point['average_rating']} ({point['review_count']} отз.)")Что в расчёт не входит
- Скрытые и закреплённые отзывы аналитику не двигают. Виджетные настройки оформляют показ, а не данные: скрыли отзыв с единицей – он пропал из ленты, а средний балл остался прежним. Балл, согласованный с показанным, считайте сами по выдаче.
- Выключенные объекты и ссылки данных не дают. Внутри папки такой объект молча отсутствует,
прямой запрос по нему отвечает
404.
Все параметры и все поля ответа – в справочнике: сводка, динамика.