← ДокументацияQuick Start · 5 минут до первого заказаReferenceChangelog

Quick Start

От регистрации до первого заказа за 5 минут. Base URL: https://gaming-goods.ru/api/v1. Все ответы — JSON: успех {"data":…}, ошибка {"error":{"code","message"}}.

  1. 1

    Получите API-ключ

    Зарегистрируйтесь как партнёр и выпустите ключ в кабинете. Боевой ключ начинается с gg_live_, тестовый — с gg_test_. Передавайте его в каждом запросе в заголовке Authorization: Bearer <key>.

    text
    export GG_KEY="gg_live_xxxxxxxxxxxxxxxxxxxxxxxx"
  2. 2

    Найдите товар

    Поиск по каталогу — GET /pub/products с фильтрами q, category, brand, min_price/max_price, пагинация page/page_size.

    bash
    curl -s https://gaming-goods.ru/api/v1/pub/products?q=steam\&page_size=5 \
      -H "Authorization: Bearer $GG_KEY"
  3. 3

    Создайте заказ

    POST /pub/orders. Тело: lines[] (product_id + qty), recipient_data (куда доставить ключ), payment_method, idempotency_key (защита от дублей при ретраях).

    bash
    curl -s -X POST https://gaming-goods.ru/api/v1/pub/orders \
      -H "Authorization: Bearer $GG_KEY" \
      -H "Content-Type: application/json" \
      -H "Idempotency-Key: order-2026-07-0001" \
      -d '{
        "lines": [{ "product_id": "PRODUCT_UUID", "qty": 1 }],
        "recipient_data": { "email": "buyer@example.com" },
        "payment_method": "balance"
      }'
  4. 4

    Проверьте статус и баланс

    Статус заказа — GET /pub/orders/{id} (при доставке в ответе будет массив ключей). Баланс партнёра — GET /pub/balance. Вместо polling'а скоро появятся вебхуки (order.delivered и др.).

    bash
    curl -s https://gaming-goods.ru/api/v1/pub/orders/ORDER_ID \
      -H "Authorization: Bearer $GG_KEY"
    
    curl -s https://gaming-goods.ru/api/v1/pub/balance \
      -H "Authorization: Bearer $GG_KEY"
  5. 5

    Те же 10 строк — на JavaScript

    Один и тот же поток на fetch. Меняете GG_KEY с gg_test_ на gg_live_ — и вы в проде.

    javascript
    const BASE = "https://gaming-goods.ru/api/v1"
    const KEY = process.env.GG_KEY
    const h = { Authorization: `Bearer ${KEY}`, "Content-Type": "application/json" }
    
    const found = await fetch(`${BASE}/pub/products?q=steam&page_size=1`, { headers: h }).then(r => r.json())
    const productId = found.data[0].id
    
    const order = await fetch(`${BASE}/pub/orders`, {
      method: "POST",
      headers: { ...h, "Idempotency-Key": crypto.randomUUID() },
      body: JSON.stringify({
        lines: [{ product_id: productId, qty: 1 }],
        recipient_data: { email: "buyer@example.com" },
        payment_method: "balance",
      }),
    }).then(r => r.json())
    
    console.log("order:", order.data.id, order.data.status)
SDK. Не хотите дёргать HTTP вручную — есть типизированные клиенты, сгенерированные из этой же OpenAPI-спеки: @gaming-goods/api-client (TypeScript), github.com/ashinov-gg/api-go (Go), gaming-goods-api (Python). До публикации в реестры — установка из git (см. README в sdk/).
Ключи. gg_live_… — боевой ключ (реальные заказы, квоты по тарифу). gg_test_… — sandbox-ключ (mock-выдача, без реальных поставщиков) — заработает после запуска sandbox.gaming-goods.ru. Те же 10 строк ниже переключаются на прод сменой ключа и базового URL.