Разработчикам · 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"
}{
"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 пуш-уведомлений (+ секрет подписи)
Как начать
- 01
Получите ключ
Откройте @apistarsbot: sk_test_ выдаём сразу — песочница работает с первой минуты. Боевой sk_live_ — после одобрения заявки.
- 02
Пополните баланс
Отправьте USDT в сети TON на ваш адрес с указанным memo. Зачисление обычно в пределах минуты.
- 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.