Skip to content

Модерация отзывов ​

Раздел описывает методы для модерации отзывов на стороне магазина. Если вам достаточно модерации в личном кабинете («Опросы и формы → Отзывы о товарах → Отчет»), эти методы не нужны.

Напомним статусы отзыва:

СтатусОписание
moderationОтзыв ожидает модерации. Начальный статус любого нового отзыва
publishedОтзыв опубликован и отдается в методе reviews/product
rejectedОтзыв отклонен и нигде не публикуется

Переходы между статусами:

mermaid
stateDiagram-v2
    [*] --> moderation
    moderation --> published : reviews/publish
    moderation --> rejected : reviews/reject
    published --> rejected : reviews/reject
    rejected --> published : reviews/publish
    published --> moderation : reviews/moderate
    rejected --> moderation : reviews/moderate

Попытка выполнить переход, которого нет на схеме — например, опубликовать уже опубликованный отзыв — вернет ошибку 400.

Все методы раздела требуют shop_id и shop_secret.

Отзывы, ожидающие модерации ​

Метод возвращает отзывы в статусе moderation со всеми данными, включая идентификаторы клиента.

GET https://api.rees46.ru/reviews/pending

Параметры ​

ПараметрТипОбязателен?Описание
shop_idStringДаAPI-ключ
shop_secretStringДаСекретный API-ключ
productStringНетОтзывы только об этом товаре
date_fromStringНетДата начала периода выборки в формате YYYY-MM-DD
date_toStringНетДата окончания периода выборки в формате YYYY-MM-DD
limitIntegerНетСколько отзывов вернуть. По умолчанию 100, максимум 1000
offsetIntegerНетСколько отзывов пропустить. По умолчанию 0

Персональные данные

Отзывы на модерации отдаются вместе с email и телефоном клиента, поэтому по умолчанию метод возвращает 100 записей. Поднимайте limit до 1000 только если действительно обрабатываете такие объемы.

Запрос ​

shell
curl "https://api.rees46.ru/reviews/pending?shop_id=...&shop_secret=...&date_from=2026-10-01&date_to=2026-10-07"

Ответ ​

json
{
  "status": "success",
  "payload": {
    "reviews": [
      {
        "id": 1,
        "product": "SKU-1024",
        "order": "ORDER-3341",
        "rating": 5,
        "comment": "Отличная кофемолка",
        "state": "moderation",
        "client": 1515915625535836508,
        "email": "example@test.com",
        "phone": "79876543210",
        "created_at": "2026-10-07T02:35:06.374Z"
      }
    ]
  }
}

Расшифровка свойств отзыва — в описании метода reviews/create. Отзывы отсортированы от старых к новым, чтобы модерировать их в порядке поступления.

Если отзывов на модерации нет, в reviews придет пустой массив.

Публикация отзыва ​

POST https://api.rees46.ru/reviews/publish

Отклонение отзыва ​

POST https://api.rees46.ru/reviews/reject

Возврат на модерацию ​

POST https://api.rees46.ru/reviews/moderate

Параметры ​

У всех трех методов параметры одинаковые. Отзыв адресуется либо своим идентификатором review_id, либо тройкой «товар + заказ + клиент».

ПараметрТипОбязателен?Описание
shop_idStringДаAPI-ключ
shop_secretStringДаСекретный API-ключ
review_idIntegerНетИдентификатор отзыва. Если передан, остальные параметры адресации не нужны
productStringНетИдентификатор товара в вашем каталоге
orderStringНетИдентификатор заказа в вашей системе
email*StringНетEmail клиента
phone*StringНетТелефон клиента
loyalty_id*StringНетИдентификатор участника программы лояльности
external_id*StringНетВнешний идентификатор клиента
telegram_id*StringНетИдентификатор клиента в Telegram

Адресация отзыва

Если review_id не передан, нужны product, order и хотя бы один идентификатор клиента [*].

Запрос ​

shell
curl 'https://api.rees46.ru/reviews/publish' \
    -X 'POST' \
    -H 'Content-Type: application/json' \
    --data-raw '{"shop_id":"SHOP_ID", "shop_secret":"SHOP_SECRET", "review_id":1}'

Ответ ​

json
{
  "status": "success",
  "payload": {
    "review": {
      "id": 1,
      "product": "SKU-1024",
      "order": "ORDER-3341",
      "rating": 5,
      "comment": "Отличная кофемолка",
      "state": "published",
      "client": 1515915625535836508,
      "email": "example@test.com",
      "phone": "79876543210",
      "created_at": "2026-10-07T02:35:06.374Z"
    }
  }
}

Возможные ошибки:

КодСообщениеПричина
400Missing user identifierОтзыв адресуется без review_id и без идентификатора клиента
400текст ошибки перехода статусаТакого перехода статуса нет. Например, публикация опубликованного отзыва
403Invalid API key or secret keyНе передан или неверен shop_secret
403Service is not enabledУслуга отзывов о товарах не подключена в тарифе
404Product not foundТовара с таким product нет в каталоге
404Order not foundЗаказа с таким order нет в платформе
404Review not foundОтзыв по переданным параметрам не найден