---
title: "Задать порядок закреплённых отзывов"
method: PUT
path: "/v3/objects/{object_id}/pinned-reviews"
tags: ["hidden & pinned"]
---

# Задать порядок закреплённых отзывов

`PUT /v3/objects/{object_id}/pinned-reviews`

## Request

- Base URL: `https://api.rewio.ru`
- URL: `https://api.rewio.ru/v3/objects/{object_id}/pinned-reviews`
- Auth: API key in header `X-API-Key`

Задать закрепление целиком: список заменяет прежний, порядок — как прислали.

## Path parameters

- `object_id` integer, required: Идентификатор объекта

## Request body

- PinnedOrderRequestV3: Порядок закреплённых отзывов — присылается целиком.
  - `ordered_review_ids` integer[], required: Идентификаторы в нужном порядке: первый в списке — первый в выдаче. Список заменяет прежний целиком; пустой — открепить всё.

## Response `200`

Successful Response

- ReturnAllReviewV3
  - `data` ReviewV3[], required: Все элементы (пагинации нет).
    - `id` integer, required: Идентификатор отзыва в сервисе.
    - `link_id` integer, required: Идентификатор ссылки (страницы объекта на площадке).
    - `source_id` integer, required: Идентификатор площадки, с которой собран отзыв.
    - `source_slug` string, nullable: Слаг площадки, с которой собран отзыв (`2gis`, `google`, `yandex_maps`). Отвечать можно, если он совпадает с `provider` отзыва.
    - `author` string, nullable: Имя автора; `null`, если анонимен.
    - `text` string, nullable: Текст отзыва; `null`, если отзыв без текста.
    - `review_date` string, date-time, nullable: Дата и время публикации отзыва. Приводится к UTC везде, где это возможно; в противном случае — время, как его показывает площадка. ISO 8601 без таймзоны.
    - `rating_original` string, nullable: Исходная оценка в шкале площадки.
    - `rating` number, nullable: Оценка, приведённая к единой шкале 1–5. `null`, если оценки нет.
    - `review_url` string, nullable: Прямая ссылка на отзыв на площадке. `null`, если недоступна.
    - `reply_text` string, nullable: Текст официального ответа организации. `null`, если ответа нет.
    - `reply_date` string, date-time, nullable: Дата и время ответа организации (UTC, ISO 8601).
    - `provider` string, nullable: Площадка-источник самого отзыва внутри `source` (слаг в нижнем регистре). Многие площадки показывают в ленте отзывы других: 2ГИС — `booking`/`tbank`/`flamp`/…, Google — `tripadvisor`. У нативного отзыва совпадает со слагом площадки (`2gis`, `google`), и только на такой отзыв можно опубликовать ответ через эту площадку — на остальные вернётся `409 reply_not_replyable`.
    - `is_replyable` boolean, nullable: Можно ли ответить на отзыв через `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`) или ответы на ссылке не подключены. Тариф флаг не учитывает.
    - `has_images` boolean, required: Признак наличия изображений в отзыве.
    - `images` ReviewImageV2[]: Список изображений отзыва.
      - `template_url` string, required: URL изображения на CDN площадки в исходном виде. У части площадок содержит шаблон размера (`{size}` или `{width}`/`{height}`) и потому не предназначен для прямой вставки — для показа берите `preview` или `image`.
      - `preview` string, nullable: Готовый URL уменьшенной версии (превью) для списков и сеток.
      - `image` string, nullable: Готовый URL полноразмерной версии для просмотра.
    - `has_videos` boolean: Признак наличия видео в отзыве.
    - `videos` ReviewVideoResponse[]: Список видеовложений отзыва.
      - `kind` 'embed' | 'file' | 'hls', required: Тип вложения: `embed` — встраиваемый плеер площадки (открывать в sandbox-iframe), `file` — прямая ссылка на видеофайл, `hls` — HLS-поток (`.m3u8`).
      - `video_url` string, nullable: URL видео или встраиваемого плеера в зависимости от `kind`.
      - `thumbnail` string, nullable: URL кадра-заставки (превью) видео.
      - `width` integer, nullable: Ширина видео в пикселях, если известна.
      - `height` integer, nullable: Высота видео в пикселях, если известна.
      - `duration_ms` integer, nullable: Длительность видео в миллисекундах, если известна.
    - `is_deleted` boolean: Отзыв обнаружен удалённым на площадке (приходит только когда `true`).
    - `deleted_at` string, date-time, nullable: Момент обнаружения удаления (UTC, ISO 8601).
    - `is_hidden` boolean: Отзыв скрыт в рамках объекта (приходит только когда `true`).
    - `is_pinned` boolean: Отзыв закреплён в рамках объекта (приходит только когда `true`).
    - `pin_position` integer, nullable: Позиция закреплённого отзыва: меньше — выше.
    - `pros` string, nullable: Блок «достоинства» (только при `split_pros_cons=true`).
    - `cons` string, nullable: Блок «недостатки» (только при `split_pros_cons=true`).

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/rewio/apis/review-aggregator.md) · [All operations](https://skmtc.dev/rewio/apis/review-aggregator/llms.txt) · [OpenAPI document](https://skmtc.dev/rewio/apis/review-aggregator/revisions/9222b6cf28a5?raw)
