Переход с API v1 на v2

Здесь собраны только методы, где кроме адреса поменялось что-то ещё. Для каждого — что изменилось и что поправить. Нажмите на метод, чтобы раскрыть.

v1 продолжает работать как раньше — переходить можно постепенно, метод за методом.

Сначала — три вещи, общие для всех методов

  1. Замените в адресе /v1/ на /v2/. Методы, которых нет в этом списке, переносятся только этой заменой — тело запроса и ответ у них те же.
  2. Авторизация не меняется: тот же заголовок X-API-Key и те же ключи.
  3. Списки теперь всегда приходят внутри поля data. Там, где раньше в ответе был просто массив [...], теперь объект {"data": [...]}. Берите элементы из data.

Площадки

GET/v2/sources

Было

[ ...площадки... ]

Стало

{
  "data": [ ...площадки... ]
}

Сами поля площадки не менялись — они просто переехали в поле data.

Группы

GET/v2/groups

Было

[ ...группы... ]

Стало

{
  "data": [ ...группы... ],
  "total": 342,
  "limit": 100,
  "offset": 0,
  "has_next": true
}

Список теперь постраничный: группы в поле data, по 100 за раз (параметры limit / offset). has_next: true — есть ещё страницы.

Ссылки

GET/v2/groups/{group_id}/links

Было

[ ...ссылки... ]

Стало

{
  "data": [ ...ссылки... ]
}

Метод всегда отдаёт сразу все ссылки группы — страниц нет. Сами поля ссылки не менялись, они просто переехали в поле data.

Отзывы

GET/v2/reviews

Параметры запроса

БылоСталоЧто это
start_datepublished_fromотзывы, опубликованные не раньше этой даты
end_datepublished_toотзывы, опубликованные не позже этой даты
has_replieshas_replyтолько отзывы с ответом организации

Тело ответа

В каждом отзыве переименованы три поля:

БылоСтало
author_nameauthor
review_texttext
rating_normalizedrating

И одно поле внутри каждого элемента images:

БылоСтало
image_urltemplate_url

Значение то же — адрес картинки на CDN площадки «как есть». У части площадок (Яндекс, Островок, TripAdvisor, 2ГИС) он содержит шаблон размера ({size}, {width}/{height}) и потому сам по себе не открывается — новое имя честно об этом говорит. Для показа берите preview (миниатюра) или image (полный размер): они не менялись и всегда рабочие.

Остальные поля отзыва и формат страницы не менялись.

Аналитика

GET/v2/analytics

Параметры запроса

БылоСталоЧто это
date_frompublished_fromначало периода (по дате публикации отзыва)
date_topublished_toконец периода

Тело ответа

В ответе есть блок meta (он был и в v1) — сервер возвращает в нём фактически применённый период. Поля внутри meta переименованы так же, как параметры:

БылоСтало
date_frompublished_from
date_topublished_to

Остальные данные (сводка, разбивка по площадкам) не менялись.

GET/v2/analytics/timeseries

Параметры запроса

БылоСталоЧто это
date_frompublished_fromначало периода (по дате публикации отзыва)
date_topublished_toконец периода

Тело ответа

В ответе есть блок meta (он был и в v1) — сервер возвращает в нём фактически применённый период. Поля внутри meta переименованы так же, как параметры:

БылоСтало
date_frompublished_from
date_topublished_to

Сами точки графика (series) не менялись.

Скрытые и закреплённые отзывы

GET/v2/groups/{group_id}/hidden-reviews

Параметры запроса

БылоСталоЧто это
start_datepublished_fromотзывы, опубликованные не раньше этой даты
end_datepublished_toотзывы, опубликованные не позже этой даты
has_replieshas_replyтолько отзывы с ответом организации

Тело ответа

В каждом отзыве переименованы поля:

БылоСтало
author_nameauthor
review_texttext
rating_normalizedrating
images[].image_urlimages[].template_url
GET/v2/groups/{group_id}/pinned-reviews

Параметры запроса

БылоСталоЧто это
start_datepublished_fromотзывы, опубликованные не раньше этой даты
end_datepublished_toотзывы, опубликованные не позже этой даты
has_replieshas_replyтолько отзывы с ответом организации
+limit / offsetновые: постраничный вывод

Тело ответа

Список стал постраничным (отзывы в data, рядом счётчики total / has_next), и в каждом отзыве переименованы поля:

БылоСтало
author_nameauthor
review_texttext
rating_normalizedrating
images[].image_urlimages[].template_url
PUT/v2/groups/{group_id}/pinned-reviews

Тело ответа

Список закреплённых теперь в поле data, и в каждом отзыве переименованы поля:

БылоСтало
author_nameauthor
review_texttext
rating_normalizedrating
images[].image_urlimages[].template_url

Тело запроса (порядок id закреплённых отзывов) не меняется.

POST/v2/groups/{group_id}/pinned-reviews

Тело ответа

Список закреплённых теперь в поле data, и в каждом отзыве переименованы поля:

БылоСтало
author_nameauthor
review_texttext
rating_normalizedrating
images[].image_urlimages[].template_url

Тело запроса (список id для закрепления в конец) не меняется.

DELETE/v2/groups/{group_id}/pinned-reviews

Тело ответа

Оставшиеся закреплённые теперь в поле data, и в каждом отзыве переименованы поля:

БылоСтало
author_nameauthor
review_texttext
rating_normalizedrating
images[].image_urlimages[].template_url

Тело запроса (список id для открепления) не меняется.

Есть только в /v2

Здесь нет соответствия в /v1 — это не переименование, а новая возможность. Замена /v1/ на /v2/ её не даст.

GET/v2/folders

Папки групп. Позволяют спросить отзывы и аналитику сразу по нескольким объектам одним параметром: ?folder_id= вместо ?group_id= на GET /v2/reviews, GET /v2/analytics и /timeseries.

Глубина — два уровня: папка → подпапка → группы. Одна группа может лежать в скольких угодно папках. Управление — четыре метода: POST, GET, PATCH /v2/folders/{folder_id}, DELETE /v2/folders/{folder_id}.

Адресовать нужно ровно один объект: group_id и folder_id вместе дадут 400, без обоих — тоже 400. В папочном режиме закрепления не применяются, а флаги is_hidden / is_pinned / pin_position не отдаются. На /public-зеркалах папок нет.

Подробности — в руководстве по папкам.

Не нашли здесь свой метод? Значит, он переносится простой заменой /v1/ на /v2/ в адресе — всё остальное у него без изменений.