Stars API

API hujjatlari

Telegram Stars API β€” Fragment.com orqali Stars sotib olish, narx tekshirish va wallet balansini so'rash uchun REST endpointlar. Barcha javoblar JSON formatida qaytadi.

Autentifikatsiya

Har bir so'rovda loyihangizning API kalitini X-API-Key header orqali (yoki api_key query parametri sifatida) yuboring. Har bir loyiha β€” mustaqil wallet va statistikaga ega, shuning uchun kalit ham loyiha darajasida beriladi.

Ikkala usul barcha /api/* endpointlarda (health'dan tashqari, u kalitsiz ishlaydi) bab-baravar ishlaydi β€” send-stars, send-premium, balance, stars-price, max-stars. Xohlagan birini tanlang.

1-usul: Header orqali (tavsiya etiladi)

curl -H "X-API-Key: LOYIHA_API_KALITINGIZ" "https://istars.uz/api/balance"

2-usul: Query parametri orqali

curl "https://istars.uz/api/balance?api_key=LOYIHA_API_KALITINGIZ"

Agar ikkalasi ham birga yuborilsa, header ustunlik qiladi. Aks holda ikkalasi ham to'liq bir xil natija beradi β€” hech qaysi endpointda faqat bittasi ishlab, ikkinchisi ishlamay qolmaydi.

Ro'yxatdan o'tish / Kirish β€” Ro'yxatdan o'ting yoki kiring β€” API kalitingizni loyiha sahifasida topasiz.

POST /api/send-stars

Belgilangan Telegram foydalanuvchisiga Stars sotib olib yuboradi. To'lov API kalit tegishli loyihaning walletidan amalga oshadi.

Parametrlar

NomiTuriMajburiymiIzoh
usernamestringHaQabul qiluvchi Telegram username (@ bilan yoki bo'lmasa ham)
quantityintegerHa50 dan 10 000 000 gacha
payment_methodstringYo'qgram (standart, TON bilan) yoki usdt (USDT bilan)

So'rov namunasi

# 1-usul: Header orqali (tavsiya etiladi) β€” gram/TON
curl -X POST https://istars.uz/api/send-stars \
  -H "X-API-Key: LOYIHA_API_KALITINGIZ" \
  -H "Content-Type: application/json" \
  -d '{"username":"@username","quantity":100}'

# 1-usul: Header orqali (tavsiya etiladi) β€” USDT
curl -X POST https://istars.uz/api/send-stars \
  -H "X-API-Key: LOYIHA_API_KALITINGIZ" \
  -H "Content-Type: application/json" \
  -d '{"username":"@username","quantity":100,"payment_method":"usdt"}'

# 2-usul: Query parametri orqali
curl -X POST "https://istars.uz/api/send-stars?api_key=LOYIHA_API_KALITINGIZ" \
  -H "Content-Type: application/json" \
  -d '{"username":"@username","quantity":100}'

Muvaffaqiyatli javob

{
  "success": true,
  "dry_run": false,
  "username": "username",
  "amount": 100,
  "transaction_id": "..."
}

Xato kodlari

HTTPerrorIzoh
401unauthorizedEmail yoki parol noto'g'ri
422invalid_usernameQabul qiluvchi Telegram username (@ bilan yoki bo'lmasa ham)
422invalid_quantity50 dan 10 000 000 gacha
422invalid_payment_methodgram (standart, TON bilan) yoki usdt (USDT bilan)
429rate_limitedJuda ko'p urinish. Birozdan keyin qayta urinib ko'ring.
404user_not_foundβ€”
400config_errorβ€”
400fragment_errorβ€”
400verification_requiredβ€”

POST /api/send-premium

Belgilangan Telegram foydalanuvchisiga Telegram Premium sovg'a qiladi. To'lov API kalit tegishli loyihaning walletidan amalga oshadi.

Parametrlar

NomiTuriMajburiymiIzoh
usernamestringHaQabul qiluvchi Telegram username (@ bilan yoki bo'lmasa ham)
monthsintegerHaPremium muddati: 3, 6 yoki 12 oy
payment_methodstringYo'qgram (standart, TON bilan) yoki usdt (USDT bilan)

So'rov namunasi

# 1-usul: Header orqali (tavsiya etiladi) β€” gram/TON
curl -X POST https://istars.uz/api/send-premium \
  -H "X-API-Key: LOYIHA_API_KALITINGIZ" \
  -H "Content-Type: application/json" \
  -d '{"username":"@username","months":3}'

# 1-usul: Header orqali (tavsiya etiladi) β€” USDT
curl -X POST https://istars.uz/api/send-premium \
  -H "X-API-Key: LOYIHA_API_KALITINGIZ" \
  -H "Content-Type: application/json" \
  -d '{"username":"@username","months":3,"payment_method":"usdt"}'

# 2-usul: Query parametri orqali
curl -X POST "https://istars.uz/api/send-premium?api_key=LOYIHA_API_KALITINGIZ" \
  -H "Content-Type: application/json" \
  -d '{"username":"@username","months":3}'

Muvaffaqiyatli javob

{
  "success": true,
  "dry_run": false,
  "username": "username",
  "months": 3,
  "transaction_id": "..."
}

Xato kodlari

HTTPerrorIzoh
401unauthorizedEmail yoki parol noto'g'ri
422invalid_usernameQabul qiluvchi Telegram username (@ bilan yoki bo'lmasa ham)
422invalid_monthsPremium muddati: 3, 6 yoki 12 oy
422invalid_payment_methodgram (standart, TON bilan) yoki usdt (USDT bilan)
429rate_limitedJuda ko'p urinish. Birozdan keyin qayta urinib ko'ring.
404user_not_foundβ€”
400already_subscribedβ€”
400config_errorβ€”
400fragment_errorβ€”
400verification_requiredβ€”

GET /api/balance

Loyihangizning wallet manzili, turi, joriy GRAM (TON) va USDT balansini qaytaradi. (Eski nomi: /api/wallet-balance β€” hali ham ishlaydi.)

# 1-usul: Header orqali (tavsiya etiladi)
curl -H "X-API-Key: LOYIHA_API_KALITINGIZ" "https://istars.uz/api/balance"

# 2-usul: Query parametri orqali
curl "https://istars.uz/api/balance?api_key=LOYIHA_API_KALITINGIZ"
{
  "success": true,
  "address": "UQ...",
  "wallet_version": "v5r1",
  "gram_balance": 1.2345,
  "usdt_balance": 3.5
}

GET /api/stars-price

Belgilangan miqdordagi stars uchun Fragment'dan real narxni oladi (TON yoki USDT). Shu bilan birga username'ning Fragment'da Stars qabul qila olishini ham tekshiradi.

Parametrlar

NomiTuriMajburiymiIzoh
quantityintegerYo'qStandart: 50
payment_methodstringYo'qgram (standart) yoki usdt
# 1-usul: Header orqali (tavsiya etiladi)
curl -H "X-API-Key: LOYIHA_API_KALITINGIZ" "https://istars.uz/api/stars-price?quantity=100&payment_method=usdt"

# 2-usul: Query parametri orqali
curl "https://istars.uz/api/stars-price?api_key=LOYIHA_API_KALITINGIZ&quantity=100&payment_method=usdt"
{
  "success": true,
  "quantity": 100,
  "payment_method": "usdt",
  "price": 1.5,
  "currency": "USDT"
}

GET /api/max-stars

Loyihangiz walletidagi joriy balans (GRAM yoki USDT) qancha stars'ga yetishini hisoblab beradi β€” real Fragment narxidan kelib chiqib.

Parametrlar

NomiTuriMajburiymiIzoh
payment_methodstringYo'qgram (standart) yoki usdt
# 1-usul: Header orqali (tavsiya etiladi)
curl -H "X-API-Key: LOYIHA_API_KALITINGIZ" "https://istars.uz/api/max-stars?payment_method=gram"

# 2-usul: Query parametri orqali
curl "https://istars.uz/api/max-stars?api_key=LOYIHA_API_KALITINGIZ&payment_method=gram"
{
  "success": true,
  "payment_method": "gram",
  "rate_per_star": 0.010086,
  "currency": "TON",
  "max_stars": 4820,
  "gram_balance": 48.912
}

GET /api/search-user

Berilgan Telegram username'ga Stars sovg'a va (alohida-alohida) Telegram Premium sovg'a yuborish mumkinmi-yo'qmi tekshiradi β€” hech narsa yuborilmaydi, hech qanday mablag' sarflanmaydi, tranzaksiya tuzilmaydi. send-stars/send-premium chaqirishdan oldin qabul qiluvchini tekshirish uchun ishlating β€” bu stars-price'dan ham yengilroq, chunki narx hisoblamaydi, faqat mavjudligini tekshiradi.

Parametrlar

NomiTuriMajburiymiIzoh
usernamestringHaQabul qiluvchi Telegram username (@ bilan yoki bo'lmasa ham)

So'rov namunasi

# 1-usul: Header orqali (tavsiya etiladi)
curl -H "X-API-Key: LOYIHA_API_KALITINGIZ" "https://istars.uz/api/search-user?username=durov"

# 2-usul: Query parametri orqali
curl "https://istars.uz/api/search-user?api_key=LOYIHA_API_KALITINGIZ&username=durov"

Muvaffaqiyatli javob

{
  "success": true,
  "username": "durov",
  "can_receive_stars": true,
  "recipient_name": "Pavel Durov",
  "reason": null,
  "can_receive_premium": true,
  "premium_reason": null
}
{
  "success": true,
  "username": "someunknownname123",
  "can_receive_stars": false,
  "recipient_name": null,
  "reason": "not_found",
  "can_receive_premium": false,
  "premium_reason": "not_found"
}
{
  "success": true,
  "username": "alreadypro",
  "can_receive_stars": true,
  "recipient_name": "Some User",
  "reason": null,
  "can_receive_premium": false,
  "premium_reason": "already_subscribed"
}

Diqqat: bu yerda foydalanuvchi topilmasa yoki Premium'ga allaqachon obuna bo'lgan bo'lsa xam javob 200 bo'ladi (404/400 emas) β€” can_receive_stars/can_receive_premium maydonlariga qarang, HTTP kodga emas. reason (Stars uchun): null β€” yuborsa bo'ladi; "not_found" β€” bunday akkaunt Fragment'da yo'q; "not_a_user" β€” bu username kanal/bot/guruhga tegishli, shaxsiy sovg'a qabul qila olmaydi.

premium_reason (Premium uchun): null β€” yuborsa bo'ladi; "not_found" / "not_a_user" β€” Stars bilan bir xil ma'noda; "already_subscribed" β€” bu foydalanuvchida allaqachon Telegram Premium bor, hozircha yana sovg'a qabul qila olmaydi.

GET /api/health

Kalitsiz β€” xizmat va baza holatini tekshirish uchun.

curl "https://istars.uz/api/health"

Xizmat haqi

Har bir muvaffaqiyatli xariddan 1.7% xizmat haqi avtomatik ushlab qolinadi β€” alohida hisob-kitob shart emas. TON (gram) bilan to'langanda xizmat haqi TON'da, USDT bilan to'langanda esa USDT'ning o'zida ushlab qolinadi (ikkalasida ham asosiy to'lov bilan bitta tranzaksiyada).

AI-agentlar uchun

Ushbu API'ni AI-agent yoki LLM orqali avtomatik ulamoqchi bo'lsangiz, machine-readable /llms.txt faylida barcha endpointlar, parametrlar, xato kodlari va limitlar bitta joyda, batafsil tushuntirilgan.