вымышленный SaaS-сервис
EN
Отклик

API v1

Документация API «Отклика»

Генерация ответов, очередь отзывов и публикация — для CRM, ботов и своих панелей. Формат — JSON, авторизация — ключ в заголовке. Консоль внизу страницы выполняет запросы прямо в браузере, с тем же разбором и проверками, что в кабинете.

Базовый адрес

https://api.otklik.example

Тестовый ключ

ok_test_7f3a9c2e51b84d06

Лимит

10 запросов в минуту в демо, заголовки X-RateLimit-*

Authorization: Bearer ok_test_7f3a9c2e51b84d06
Content-Type: application/json

POST/v1/replies

Сгенерировать ответ

Возвращает ответ на отзыв, результат проверок и решение автопилота по правилам магазина. Ничего не публикует.

Параметры

marketplaceобязательный"wb" | "ozon"Площадка — от неё зависят правила проверок
ratingобязательный1–5Оценка покупателя
textstringТекст отзыва, может быть пустым
productобязательныйstringАртикул товара из каталога магазина
authorstringИмя покупателя для обращения
tone"warm" | "business" | "light"Тон, по умолчанию из настроек магазина
curl -X POST "https://api.otklik.example/v1/replies" \
  -H "Authorization: Bearer ok_test_7f3a9c2e51b84d06" \
  -H "Content-Type: application/json" \
  -d '{
  "marketplace": "wb",
  "rating": 2,
  "product": "kruzhka",
  "author": "Сергей",
  "text": "Крышка подтекает уже через неделю"
}'

Ответ · 200

{
  "reply": "Сергей, здравствуйте! ...",
  "sentiment": "negative",
  "topics": ["leak"],
  "route": "manual",
  "checks": [{ "id": "contacts", "status": "ok" }]
}

GET/v1/reviews

Очередь отзывов

Отзывы магазина с черновиками ответов. Фильтры по статусу и площадке, постраничная выдача курсором.

Параметры

status"new" | "approve" | "published"Статус в очереди
marketplace"wb" | "ozon"Площадка
limit1–100Размер страницы, по умолчанию 20
curl -X GET "https://api.otklik.example/v1/reviews?status=approve&limit=5" \
  -H "Authorization: Bearer ok_test_7f3a9c2e51b84d06"

Ответ · 200

{
  "items": [{ "id": "r2", "rating": 2, "status": "approve", "draft": "..." }],
  "next_cursor": null
}

POST/v1/reviews/{id}/publish

Опубликовать ответ

Отправляет черновик или переданный текст на маркетплейс. Перед отправкой ответ ещё раз проходит проверки — при ошибке вернётся 422.

Параметры

idобязательныйstringИдентификатор отзыва
textstringСвой текст вместо черновика
curl -X POST "https://api.otklik.example/v1/reviews/r2/publish" \
  -H "Authorization: Bearer ok_test_7f3a9c2e51b84d06" \
  -H "Content-Type: application/json" \
  -d '{ "text": "Сергей, здравствуйте! ..." }'

Ответ · 200

{ "id": "r2", "status": "published", "published_at": "2026-10-14T09:12:00Z" }

GET/v1/usage

Расход лимита

Сколько ответов израсходовано в текущем месяце, лимит тарифа и прогноз до конца месяца.

Параметры

Без параметров.

curl -X GET "https://api.otklik.example/v1/usage" \
  -H "Authorization: Bearer ok_test_7f3a9c2e51b84d06"

Ответ · 200

{ "plan": "business", "used": 1240, "limit": 3000, "forecast": 2650 }

Вебхуки

Сервис шлёт POST на ваш адрес при событиях в магазине. Подпись — HMAC-SHA256 тела секретом из кабинета: сверяйте её, прежде чем верить запросу. Повторы — 5 раз с нарастающей паузой, пока не ответите 2xx.

  • review.created

    Новый отзыв в магазине — с анализом тем и черновиком ответа

  • reply.published

    Ответ опубликован автопилотом или человеком

  • review.escalated

    Отзыв ушёл в задачи: брак, поломка или оскорбления

POST https://ваш-сервер.ru/otklik-hook
X-Otklik-Event: review.created
X-Otklik-Signature: sha256=9c1f…e04a

{
  "event": "review.created",
  "review": { "id": "r2", "marketplace": "wb", "rating": 2, "topics": ["leak"] },
  "draft": "Сергей, здравствуйте! ...",
  "route": "manual"
}

Ошибки

Тело ошибки всегда одинаковое: { "error": { "code", "message" } }, у 400 — ещё список полей.

400Неверный запросНе хватает поля или значение вне диапазона — в ответе список полей с ошибками
401Нет доступаНет заголовка Authorization или ключ отозван
402Лимит исчерпанОтветы тарифа закончились, а докупка выключена
422Не прошли проверкиТекст для публикации содержит контакты, ссылки или стоп-фразы
429Слишком частоБольше 10 запросов в минуту в демо (60 — в рабочей версии)

Консоль

Запросы выполняются в браузере демо-реализацией API: те же проверки, коды ошибок и лимит. Выберите пример или соберите свой.

Нажмите «Отправить» — ответ появится здесь