Разработчикам · API v1

API для Telegram Stars, Premium и Steam

Выдавайте Telegram Stars, Premium и GRAM по @username и пополняйте Steam по логину прямо из своего магазина, бота или CRM. Один POST-запрос, и заказ принят: Stars, Premium и GRAM обычно выдаются в том же ответе, Steam приходит следом. Песочница, вебхуки, защита от двойного списания.

Запрос
POST /v1/orders
Authorization: Bearer sk_live_…

{
  "type": "stars",
  "qty": 100,
  "username": "@johnsmith",
  "orderId": "order-123"
}
200 OK
{
  "ok": true,
  "orderId": "order-123",
  "status": "completed",
  "type": "stars",
  "qty": 100,
  "username": "@johnsmith",
  "price": 1.515,
  "settlement": "charged"
}
  • Fragment + 1%, Steam без комиссии
  • Один POST, и заказ принят
  • sk_test_ сразу, без заявки
  • Вебхуки с HMAC-подписью

Быстрый старт

curl -X POST https://api.krab.gg/v1/orders \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"type":"stars","qty":100,"username":"@johnsmith","orderId":"order-123"}'

Обычно в ответе status: completed. Ответ processing не ошибка: итог придёт вебхуком или по GET /v1/orders/:id, у Steam это обычный ответ. Точную цену до списания вернёт GET /v1/price.

Для кого

Telegram-магазины и боты

Продаёте Stars, Premium, GRAM или пополнение Steam в своём боте или на сайте? Принимайте оплату как удобно, а выдачу делегируйте API: по @username или логину Steam.

Реселлеры

Покупаете оптом с USDT-баланса и перепродаёте со своей наценкой. Сколько спишется за конкретный заказ, показывает /price; списываем по цене на момент создания заказа.

CRM и автоматизация

Встройте выдачу Stars, Premium, GRAM и Steam в воронку: заказ из вашей CRM → POST /orders → клиент получил товар без ручной работы.

Сервисы и SaaS

Добавьте пополнение Telegram-баланса как функцию своего продукта — без склада, без ручной выдачи, по одному HTTP-вызову.

Что умеет API

Stars, Premium и GRAM

По @username получателя, без пароля и кошелька: Stars от 50 до 1 000 000 за заказ, Premium на 3, 6 или 12 месяцев, GRAM для Telegram Ads.

Пополнение Steam

По логину аккаунта, сумма в долларах и можно с центами (10.5). Тем же POST /orders и с того же USDT-баланса.

Цена и баланс

Один баланс в USDT, пополнение криптой в сети TON. Сколько спишется за конкретный заказ, покажет GET /price ещё до создания заказа.

Статус и деньги видно всегда

GET /orders/:id отвечает, что с заказом и что с деньгами: списано, возвращено или удержано до проверки. То же придёт вебхуком, опрашивать не обязательно.

Без дублей и без расходов на тесты

Повтор запроса с тем же orderId вернёт тот же заказ и не спишет дважды, а тот же orderId с другим товаром или получателем получит 409. Ключ sk_test_ или dryRun: true считает заказ, но не трогает баланс.

Основные эндпоинты

  • GET/v1/priceРасчёт цены (Stars, Premium, GRAM, Steam) до заказа
  • GET/v1/checkПроверка получателя: @username в Telegram, логин — в Steam
  • POST/v1/ordersСоздать и выдать заказ (идемпотентно по orderId)
  • GET/v1/orders/:idСтатус заказа и что с деньгами по нему
  • GET/v1/balanceДоступный баланс USDT
  • GET/v1/depositРеквизиты пополнения USDT (адрес + memo)
  • GET/v1/webhookТекущий вебхук и секрет подписи
  • POST/v1/webhookЗадать URL пуш-уведомлений (+ секрет подписи)

Как начать

  1. 01

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

    Откройте @apistarsbot: sk_test_ выдаём сразу — песочница работает с первой минуты. Боевой sk_live_ — после одобрения заявки.

  2. 02

    Пополните баланс

    Отправьте USDT в сети TON на ваш адрес с указанным memo. Зачисление обычно в пределах минуты.

  3. 03

    Выдавайте заказы

    Дёргайте POST /v1/orders: получатель — @username для Stars, Premium и GRAM, логин аккаунта — для Steam.

Частые вопросы

Какие товары можно выдавать через API?

+

Telegram Stars (от 50 до 1 000 000 за заказ), Telegram Premium на 3, 6 или 12 месяцев и GRAM для Telegram Ads: по @username, без пароля и кошелька. Плюс пополнение баланса Steam: получатель это логин аккаунта, сумма в долларах.

Сколько стоит и как тарифицируется?

+

Stars, Premium и GRAM: оптовая цена Fragment плюс комиссия 1%. Пополнение Steam: без комиссии, сколько заказали в долларах, столько и спишем. Расчёт с единого USDT-баланса; точную сумму конкретного заказа возвращает GET /v1/price до его создания. Розничную наценку ставите сами, ограничений сверху нет.

А если заказ не выдался?

+

Придёт status: failed с полями reason (почему) и retryable. Новый заказ с новым orderId создавайте только при retryable: true: это значит, что деньги уже вернулись на баланс. Что с деньгами, показывает settlement: pending (заказ ещё в работе, средства в резерве), refunded (вернулись на баланс), fail_hold (удержаны до проверки оператором, если выдача не подтверждена), charged (списано). Об изменениях придёт вебхук.

Чем API отличается от покупки на сайте?

+

API для магазинов, ботов и CRM: оптовые цены, программная выдача по @username или логину Steam, единый баланс и идемпотентность по orderId. Розничная покупка на сайте для конечных клиентов.

Как получить доступ к API?

+

В боте-кабинете @apistarsbot: кнопка «Тестовый ключ сейчас» выдаёт sk_test_ мгновенно, интегрируйтесь в песочнице. Боевой sk_live_ после одобрения заявки (кнопка «Боевой доступ»). По объёмным условиям напишите в поддержку.

Нужен доступ?

Откройте бота-кабинет @apistarsbot: тестовый ключ sk_test_ выдаём сразу, боевой sk_live_ после одобрения заявки. Нужна помощь с интеграцией или объёмные тарифы — напишите в поддержку @heIIo_stars.

Условия для API-партнёров