API документация
Программный доступ к магазину: баланс, каталог, покупка кодов за баланс и активация купленного кода на аккаунт покупателя. REST, JSON, HTTPS.
Аутентификация
API-ключ создаётся в личном кабинете → раздел «API-ключ». Передавайте его в каждом защищённом запросе одним из способов:
- Ключ привязан к аккаунту — покупки списываются с баланса этого аккаунта.
- Держите ключ в секрете. Скомпрометирован — сбросьте в кабинете (старый отзывается сразу).
- Эндпоинты /balance и /purchase требуют ключ; /products — опционально (с ключом отдаёт персональные цены); /check — публичный.
Пополнение баланса
Баланс пополняется в кабинете переводом USDT (TRC20 / BEP20) — зачисляется 1:1 после подтверждения сети. Программного пополнения нет (крипто-платёж требует ручного перевода). API тратит уже имеющийся баланс.
Баланс аккаунта
Требует ключ. Возвращает текущий баланс аккаунта.
Каталог товаров
Список активных товаров и их slug для покупки. Без ключа — базовые цены; с ключом — персональные (если для вашего аккаунта заданы). У ChatGPT Plus оптовые ступени: quantity ≥ 500 → 16.70 USDT; quantity ≥ 1000 → 16.55 USDT (поля volume / volumes).
| slug | Товар | Платформа | Цена |
|---|---|---|---|
| chatgpt-plus-1m | ChatGPT Plus · 1 месяц | chatgpt | 17.80 · от 500: 16.70, от 1000: 16.55 |
| chatgpt-go-1m | ChatGPT Go · 1 месяц | chatgpt | 5.80 |
| chatgpt-pro-x5-1m | ChatGPT Pro X5 · 1 месяц | chatgpt | 95.00 |
| chatgpt-pro-x20-1m | ChatGPT Pro X20 · 1 месяц | chatgpt | 210.00 |
| claude-pro-1m | Claude PRO | claude | 21.00 |
| claude-max-x5 | Claude MAX X5 | claude | 130.00 |
| claude-max-x20 | Claude MAX X20 | claude | 250.00 |
Покупка за баланс
Требует ключ. Списывает стоимость с баланса и сразу возвращает коды. Атомарно: при нехватке средств или отсутствии товара заказ не создаётся и баланс не трогается.
| Поле | Тип | Описание |
|---|---|---|
| slug | string | Товар по slug (см. /products). Обязателен, если нет productId. |
| productId | string | Альтернатива slug — товар по ID. |
| quantity | int | Кол-во кодов, 1…1000. По умолчанию 1. ChatGPT Plus: от 500 — 16.70; от 1000 — 16.55 USDT за код. |
| codes | Массив выданных кодов. |
| activateUrl | База для активации (обычно https://kaiser.buyforgame.com). Как отправить код — см. Активация кода. |
| spent | Списано с баланса, USDT. |
| balance | Остаток баланса после покупки. |
| orderUrl | Страница заказа с кодами. |
Передайте заголовок Idempotency-Key (любая уникальная строка на запрос, до 200 символов — например UUID). Если ответ потерялся и вы повторите запрос с тем же ключом:
- тот же ключ + те же параметры → вернётся тот же заказ и коды, повторного списания не будет (в ответе "idempotent": true);
- тот же ключ + другие параметры → 422 idempotency_key_reused;
- запрос ещё обрабатывается (параллельный дубль) → 409 request_in_progress, повторите чуть позже;
- без ключа каждый запрос — отдельная покупка (ретрай по таймауту может списать дважды).
Активация кода
После POST /purchase вы получаете код (например CPRO-… / PLUS-…) и activateUrl = https://kaiser.buyforgame.com. Код сам по себе подписку не включает — его нужно отправить на активацию вместе с данными аккаунта покупателя. API-ключ магазина для активации не нужен: авторизация — сам код.
- Купить код через POST /api/v1/purchase.
- Получить у покупателя данные аккаунта (Session JSON / Organization ID / sessionKey — зависит от тарифа).
- Отправить код на активацию (сайт или API ниже).
- Опрашивать статус, пока не станет completed / failed.
1. Сайт (без своего бэкенда)
Откройте ссылку с кодом — покупатель сам вставит данные аккаунта на форме:
2. Универсальный API (рекомендуется для интеграций)
Работает для всех тарифов (ChatGPT и Claude). База: https://kaiser.buyforgame.com. Три шага.
Шаг A — проверить код
Возвращает orderId и какое поле нужно передать дальше (credentialField).
Шаг B — отправить данные аккаунта
В теле обязательно orderId и поле из credentialField.field (одно из: sessionJson, orgId, sessionKey, accountId, email).
| Тариф | Обычно нужно | Откуда взять |
|---|---|---|
| ChatGPT Plus / Go / Pro X5 / Pro X20 | sessionJson | Полный JSON со страницы https://chatgpt.com/api/auth/session (в той же вкладке, где залогинен ChatGPT) |
| Claude PRO / MAX | orgId | UUID со страницы https://claude.ai/settings/account. Иногда API попросит sessionKey (sk-ant-sid…) — смотрите credentialField из verify |
Шаг C — статус
Опрашивайте раз в 3–5 секунд, пока статус не станет терминальным.
| pending | код ещё не использован |
| activating | идёт активация |
| completed | подписка на аккаунте |
| failed | отказ — смотрите message |
| cancelled | отменён |
3. Короткий путь для ChatGPT
Один запрос вместо verify+activate. Только ChatGPT-тарифы. Claude через этот shortcut не отправляйте — используйте универсальный API выше.
| plan в URL | Префикс кода |
|---|---|
| plus | PLUS-… |
| go | GO-… |
| pro5x | PRO5-… |
| pro20x | PRO20-… |
Пример на Python (универсальный API)
Проверка статуса кодов
Публичный (без ключа). Проверяет, использован код или нет. Read-only — код не тратится. Принимает пачку: codes строкой (по коду на строку) или один code.
| unused | 🟢 не использован |
| used | 🔴 использован |
| activating | 🟡 в процессе активации |
| failed | ⚠️ ошибка активации |
| cancelled / bad / disabled | ⚫ отменён / битый / отключён |
| not_found | ❔ код не найден |
Коды ошибок
Ошибка приходит в формате { "error": { "code", "message" } } с соответствующим HTTP-статусом.
| HTTP | code | Причина |
|---|---|---|
| 400 | bad_request | Некорректный JSON или тело запроса. |
| 401 | missing_key | Не передан заголовок с API-ключом. |
| 401 | invalid_key | Ключ не найден / отозван. |
| 402 | insufficient_balance | Недостаточно средств на балансе. |
| 404 | no_product | Товар не найден или выключен. |
| 409 | out_of_stock | Нет в наличии (для товаров без автогенерации). |
| 409 | request_in_progress | Запрос с этим Idempotency-Key ещё обрабатывается. |
| 422 | idempotency_key_reused | Тот же Idempotency-Key с другими параметрами запроса. |
| 429 | rate_limited | Превышен лимит запросов — повторите позже. |
| 502 | unavailable / upstream | Временная ошибка выдачи — повторите. |
| 500 | server_error | Внутренняя ошибка. |
Лимиты
| Эндпоинт | Лимит запросов |
|---|---|
| POST /api/v1/purchase | 30/мин на аккаунт · 60/мин на IP |
| GET /api/v1/balance | 60/мин на аккаунт · 120/мин на IP |
| GET /api/v1/products | 60/мин на IP |
Максимум 1000 кодов за один запрос покупки. ChatGPT Plus (plus): от 500 шт — 16.70 USDT; от 1000 шт — 16.55 USDT. При 429 повторите после паузы.