Задать порядок закреплённых
Задаёт список закреплённых целиком: порядок в запросе становится порядком в выдаче.
Это замена, а не добавление – отзывы, которых нет в списке, открепляются, а пустой список снимает
закрепление со всех. Первый в списке получает pin_position: 1, следующий – 2, и так далее.
Не больше 30 отзывов, без повторов: и то и другое – 400.
Так удобнее переставлять: вы присылаете желаемый итог, а не двигаете отзывы по одному. Два одновременных запроса к одному объекту выполняются по очереди, порядок не перемешается.
Параметры
object_idчислообязательныйОбъект, в котором задаётся порядок.
Тело запроса
ordered_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может быть nullnull – отправляется на площадку; 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 / hlsembed – плеер площадки, 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 PUT "https://api.rewio.tech/v3/objects/0/pinned-reviews" \ -H "Content-Type: application/json" \ -d '{ "ordered_review_ids": [ 142391, 143046 ] }'{ "data": [ { "id": 142391, "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 }, { "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": 2 } ]}Коды ошибок общие для всего API и описаны на странице Ошибки.