Для виджетов

Закрепить отзывы

Доступ для AI:

Поднимает отзывы в начало выдачи, добавляя их в конец списка закреплённых.

Уже закреплённые отзывы второй раз не добавляются и своё место не теряют. Чтобы задать порядок целиком, используйте PUT.

Закрепить можно не больше 30 отзывов на объект. Запрос, после которого их стало бы больше, отклоняется целиком – 400 pinned_limit_exceeded. В одном запросе – не больше 30 идентификаторов.

В ответ приходит весь список закреплённых после операции, в порядке показа.

POST
/v3/objects/{object_id}/pinned-reviews

Параметры

object_idчислообязательный

Объект, в котором закрепляются отзывы.

Тело запроса

review_idsсписок чиселобязательный

Отзывы, которые нужно закрепить.

Ответ

dataсписок объектов

Все закреплённые отзывы объекта после операции, в их порядке.

data[].idчисло

Идентификатор отзыва в Rewio.

data[].link_idчисло

Ссылка, с которой собран отзыв.

data[].source_idчисло

Площадка, с которой собран отзыв.

data[].source_slugстрокаможет быть null

Слаг площадки, с которой собран отзыв (2gis, google, yandex_maps). Отвечать можно, если он совпадает с provider отзыва.

data[].authorстрокаможет быть null

Имя автора так, как его показывает площадка. Фамилии маскируются.

data[].textстрокаможет быть null

Текст отзыва.

data[].review_dateдата и времяможет быть null

Когда отзыв опубликован: в UTC, если площадка позволяет пересчитать время, иначе – как показывает площадка.

data[].rating_originalстрокаможет быть null

Оценка в шкале самой площадки, как есть.

data[].ratingчисломожет быть null

Та же оценка, приведённая к шкале 1–5.

data[].review_urlстрокаможет быть null

Прямая ссылка на отзыв на площадке.

data[].reply_textстрокаможет быть null

Ответ организации на отзыв.

data[].reply_dateдата и времяможет быть null

Когда организация ответила.

data[].providerстрокаможет быть null

Площадка-источник самого отзыва внутри source (слаг в нижнем регистре). Многие площадки показывают в ленте отзывы других: 2ГИС – booking/tbank/flamp/…, Google – tripadvisor. У нативного отзыва совпадает со слагом площадки (2gis, google), и только на такой отзыв можно опубликовать ответ через эту площадку – на остальные вернётся 409 reply_not_replyable.

data[].is_replyableда/нетможет быть null

Можно ли ответить на отзыв через PUT /v3/reviews/{review_id}/reply. Приходит только на площадках, где Rewio публикует ответы (can_publish_reply в GET /v3/sources); на остальных ключа нет. true – ответы на ссылке подключены, и отзыв родной для площадки (provider пуст или равен source_slug). false – ответ вернёт ошибку: отзыв другой площадки (2ГИС показывает отзывы Netmonet, Booking, Т-Банка – 409 reply_not_replyable) или ответы на ссылке не подключены. Тариф флаг не учитывает.

data[].pin_positionчисломожет быть null

Место отзыва среди закреплённых, считая с единицы.

data[].our_replyобъектможет быть null

Ваш ответ, отправленный через Rewio, и его состояние – то же, что в GET /v3/reviews/{review_id}/reply. null – ответа через Rewio нет или тариф без ответов. Ответ, поставленный не через Rewio, – в reply_text.

data[].our_reply.statusстрокаpending / published / failed / deletedможет быть null

Что с вашим ответом на карточке: null – отправлен, площадке ещё не передан; pending – площадка приняла, на карточке ещё не видели (проверяем через 15 с, 30 с, 1 мин … 4 ч); published – ваш текст стоит на карточке; deleted – вашего ответа на карточке нет: вы его удалили или он пропал (причина – в error); failed – не опубликован (почему – в error).

data[].our_reply.textстрока

Текст, который должен стоять на площадке. Пусто – ответ снимается.

data[].our_reply.submitted_atдата и времяможет быть null

Когда вы отправили этот текст (UTC).

data[].our_reply.published_atдата и времяможет быть null

Когда мы увидели ваш текст на карточке (UTC).

data[].our_reply.updated_atдата и время

Когда ответ меняли в последний раз (UTC).

data[].our_reply.errorобъектможет быть null

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

data[].our_reply.error.codeстрока

Машинный код ошибки публикации.

data[].our_reply.error.messageстрока

Пояснение для человека.

data[].is_skippedда/нет

Вы отметили отзыв «Пропустить» (PUT /v3/reviews/{review_id}/skip). На тарифе без ответов всегда false.

data[].complaintобъектможет быть null

Последняя жалоба на отзыв. null – жалоб нет или тариф без жалоб.

data[].complaint.statusстрокаpending / accepted / rejected / failedможет быть null

null – отправляется на площадку; pending – на рассмотрении; accepted – отзыв удалён; rejected – отзыв остался. Подробно – GET /v3/reviews/{review_id}/complaints.

data[].complaint.filed_atдата и времяможет быть null

Когда жалоба подана (UTC).

data[].complaint.is_oursда/нет

true – подана через Rewio; false – найдена на площадке.

Ещё 16 полей – нужны реже
data[].has_imagesда/нет

Есть ли у отзыва изображения.

data[].imagesсписок объектов

Изображения отзыва.

data[].images[].template_urlстрока

Адрес с плейсхолдером {size}, в таком виде его отдаёт площадка.

data[].images[].previewстрокаможет быть null

Уменьшенная версия для списков и сеток.

data[].images[].imageстрокаможет быть null

Полноразмерная версия для просмотра.

data[].has_videosда/нет

Есть ли у отзыва видео.

data[].videosсписок объектов

Видео отзыва.

data[].videos[].kindстрокаembed / file / hls

embed – плеер площадки, file – прямой файл, hls – поток.

data[].videos[].video_urlстрокаможет быть null

Адрес видео или плеера, смотря какой kind.

data[].videos[].thumbnailстрокаможет быть null

Кадр-заставка.

data[].videos[].widthчисломожет быть null

Ширина в пикселях, если площадка её сообщает.

data[].videos[].heightчисломожет быть null

Высота в пикселях, если площадка её сообщает.

data[].videos[].duration_msчисломожет быть null

Длительность в миллисекундах, если площадка её сообщает.

data[].is_deletedда/нет

Отзыв пропал с площадки.

data[].deleted_atдата и времяможет быть null

Когда мы заметили пропажу.

data[].is_pinnedда/нет

Всегда true.

curl -X POST "https://api.rewio.tech/v3/objects/0/pinned-reviews" \  -H "Content-Type: application/json" \  -d '{    "review_ids": [      143046    ]  }'
{  "data": [    {      "id": 143046,      "link_id": 177,      "source_id": 1,      "author": "Сергей",      "text": "Замечательно. Приеду ещё. ",      "review_date": "2026-07-21T18:07:03",      "rating_original": "5",      "rating": 5,      "review_url": "https://yandex.ru/maps/org/1020542995/reviews?reviews[publicId]=u182gzp1r9rg4urew906ky9dd0",      "reply_text": "Уважаемый Гость,\nБлагодарим Вас за визит в гостиницу «Националь» и высокую оценку нашего обслуживания. Ждем Вас снова!\nС наилучшими пожеланиями,\t\nЕлена Позолотина\nДиректор по операционной деятельности.\n",      "reply_date": "2026-07-23T13:27:07",      "has_images": true,      "images": [        {          "template_url": "https://avatars.mds.yandex.net/get-altay/17743308/2a0000019f85dc34d7ee3b24b4b9ec82bdbd/{size}",          "preview": "https://avatars.mds.yandex.net/get-altay/17743308/2a0000019f85dc34d7ee3b24b4b9ec82bdbd/M",          "image": "https://avatars.mds.yandex.net/get-altay/17743308/2a0000019f85dc34d7ee3b24b4b9ec82bdbd/XXXL"        },        {          "template_url": "https://avatars.mds.yandex.net/get-altay/18473509/2a0000019f85dc42d3b7bbf4e10e375c612e/{size}",          "preview": "https://avatars.mds.yandex.net/get-altay/18473509/2a0000019f85dc42d3b7bbf4e10e375c612e/M",          "image": "https://avatars.mds.yandex.net/get-altay/18473509/2a0000019f85dc42d3b7bbf4e10e375c612e/XXXL"        },        {          "template_url": "https://avatars.mds.yandex.net/get-altay/20191917/2a0000019f85dc255b9c227cfbc55fc57724/{size}",          "preview": "https://avatars.mds.yandex.net/get-altay/20191917/2a0000019f85dc255b9c227cfbc55fc57724/M",          "image": "https://avatars.mds.yandex.net/get-altay/20191917/2a0000019f85dc255b9c227cfbc55fc57724/XXXL"        }      ],      "has_videos": false,      "videos": [],      "is_pinned": true,      "pin_position": 1    }  ]}

Коды ошибок общие для всего API и описаны на странице Ошибки.