Public API v1

Публичная API-документация

Контракт для каталога, заказов, статусов и вложений. Ключ создаётся и отзывается только в кабинете витрины.

01

Первый запрос за минуту.

Получите ключ витрины в кабинете, передайте его в заголовке и начните с актуального каталога.

  1. 01

    Создайте API-ключ в настройках витрины.

  2. 02

    Запросите каталог и сохраните ID нужного товара.

  3. 03

    Создайте заказ с Idempotency-Key и отслеживайте его статус.

Пример запроса
curl https://your-domain.example/v1/games \
  -H "Authorization: Bearer $REDLINE_API_KEY"
02

Авторизация

Передавайте ключ витрины только в заголовке Authorization. Не добавляйте ключ в URL, браузерный код или публичные репозитории.

Заголовки
Authorization: Bearer $REDLINE_API_KEY
03

Методы

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

Только включённые игры, которые сейчас принимают новые заказы.

Заголовки

AuthorizationBearer API keyобязательный
Пример запроса
curl https://your-domain.example/v1/games \
  -H "Authorization: Bearer $REDLINE_API_KEY"
Пример ответа · 200 OK
{
  "items": [{
    "id": "7e877979-8f42-4a82-a75b-c856fd334f6d",
    "slug": "genshin-impact",
    "name": "Genshin Impact",
    "description": "Genesis Crystals by player UID.",
    "image_url": "/images/games/genshin.svg",
    "required_fields": [
      {"key": "uid", "semantic_key": "player_uid", "label": "Player UID", "required": true},
      {"key": "server", "label": "Server", "required": true}
    ]
  }]
}
04

Ошибки

Ошибки возвращают стабильный code и request_id — приложите его к обращению в поддержку.

401403409422429
409 Conflict
{
  "code": "insufficient_balance",
  "message": "Недостаточно средств на балансе витрины.",
  "request_id": "f782ee21f84c49dfbe9a6fe2c31ab830",
  "fields": {},
  "details": {
    "balance_usd": "0.40",
    "required_usd": "0.99"
  }
}
05

Вебхуки

После изменения заказа Redline отправляет подписанное событие на URL витрины. Проверяйте подпись до обработки JSON.

Жизненный цикл события
События заказа:
order.accepted — заказ принят; order.processing — оператор выполняет заказ.
order.waiting_for_code — запросите код у покупателя до code_expires_at и передайте его через API.
order.review — результат проверяется; не возвращайте деньги и ждите следующего события.
order.returned — заказ возвращён витрине (конечный статус; не возвращайте деньги автоматически).
order.cancel_requested — отмена запрошена, но ещё не подтверждена.
order.completed — заказ выполнен (конечный статус).
order.cancelled — заказ отменён; возврат подтверждён CRM (конечный статус).
order.priority_updated — изменён только приоритет.

Конечные статусы: completed, cancelled, returned. После них статусных событий больше не будет.
order.completed
{
  "id": "7dd041b1-1ca6-4d16-ad17-8a684ce73ce4",
  "event": "order.completed",
  "api_version": "v1",
  "occurred_at": "2026-08-01T12:10:00Z",
  "order": {
    "id": "ORD-B5A77AB057",
    "external_id": "STORE-1042",
    "status": "completed",
    "updated_at": "2026-08-01T12:10:00Z",
    "message": null
  }
}