β‘ REST API Β· JSON Β· GET Β· SSL
SMM Surkhan API v1.0
Virtual telefon raqamlari, SMS, Telegram Stars va Premium xizmatlari uchun to'liq API hujjati
Balans nazorati
Rate Limit: 60/daq
SSL Himoyalangan
Stars & Premium
π
Base URL:
https://smm.surkhandc.ru/api/v2
Β· Barcha so'rovlar GET orqali yuboriladi.
π
Autentifikatsiya
AUTH
https://smm.surkhandc.ru/api/v2?api_key=YOUR_KEY&action=...
| Parametr | Majburiy | Izoh |
|---|---|---|
| api_key | Ha β doim | Sizning shaxsiy API kalitingiz (user_api jadvalida saqlangan) |
| action | Ha β doim | Bajarmoqchi bo'lgan amal: getBalancegetCountriesgetNumbergetCodebuyStarsbuyPremium |
β οΈ
Diqqat: API kalitingizni hech kimga bermang. Kalit
user_api jadvalida status='active' bo'lishi shart. Aks holda 401 xatosi qaytadi.401 β NOTO'G'RI KALIT
{ "success": false, "error": "API kalit noto'g'ri yoki faol emas" }
π°
Balans
βΉοΈ
Foydalanuvchi balansini UZS da qaytaradi. Balans
users jadvalidan olinadi.
GET
https://smm.surkhandc.ru/api/v2?action=getBalance&api_key=YOUR_KEY
| Parametr | Majburiy | Qiymat |
|---|---|---|
| action | Ha | getBalance |
MUVAFFAQIYATLI JAVOB
{
"success": true,
"balance": 635000, // UZS β users jadvalidagi joriy balans
"currency": "UZS"
}
β±οΈ
Rate Limit
π«
60 so'rov / daqiqa chekovi mavjud. Oshib ketsa 429 xatosi qaytariladi.
api_requests jadvalida oxirgi 60 soniya ichidagi so'rovlar hisoblanadi.
429 β LIMIT OSHDI
{ "success": false, "error": "Daqiqada 60 ta so'rovdan oshib ketdi. Biroz kuting." }
π
Davlatlar ro'yxati
βΉοΈ
Barcha narxlar UZS da.
GET1-server
https://smm.surkhandc.ru/api/v2?action=getCountries&api_key=YOUR_KEY&server=1
| Parametr | Majburiy | Izoh |
|---|---|---|
| action | Ha | getCountries |
| server | Ha | 1 β birinchi server |
MUVAFFAQIYATLI JAVOB
{
"success": true,
"server": 1,
"countries": {
"UZ": {
"name": "UZ", // 1-serverda faqat kod
"price": 10404, // UZS narx
"currency": "UZS"
},
"KE": { "name": "KE", "price": 8050, "currency": "UZS" }
},
"total": 42
}
GET2-server
https://smm.surkhandc.ru/api/v2?action=getCountries&api_key=YOUR_KEY&server=2
| Parametr | Majburiy | Izoh |
|---|---|---|
| action | Ha | getCountries |
| server | Ha | 2 β ikkinchi server |
MUVAFFAQIYATLI JAVOB
{
"success": true,
"server": 2,
"countries": {
"UZ": {
"name": "Uzbekistan πΊπΏ", // 2-serverda to'liq nom
"price": 10404,
"currency": "UZS",
"qty": 124 // mavjud raqamlar soni (faqat 2-server)
}
},
"total": 38
}
π²
Raqam sotib olish
β
Muvaffaqiyatli bo'lsa balansdan narx avtomatik yechiladi va
orders jadvaliga yoziladi. Balans yetarli bo'lmasa 402 xatosi qaytadi.
GET1-server
https://smm.surkhandc.ru/api/v2?action=getNumber&api_key=YOUR_KEY&server=1&country=UZ
| Parametr | Majburiy | Izoh |
|---|---|---|
| action | Ha | getNumber |
| server | Ha | 1 |
| country | Ha | Davlat kodi: UZKEIN (getCountries dan oling) |
MUVAFFAQIYATLI JAVOB
{
"success": true,
"order_id": 1042, // orders jadvalidagi ID β getCode uchun saqlang!
"number": "+998901234567",
"country": "UZ",
"server": 1,
"price": 10404, // yechilgan summa (UZS)
"currency": "UZS"
}
π‘
order_id ni saqlang β SMS kodni olish uchun kerak bo'ladi.
GET2-server
https://smm.surkhandc.ru/api/v2?action=getNumber&api_key=YOUR_KEY&server=2&country=UZ
| Parametr | Majburiy | Izoh |
|---|---|---|
| action | Ha | getNumber |
| server | Ha | 2 |
| country | Ha | Davlat kodi: UZKE (getCountries dan oling) |
MUVAFFAQIYATLI JAVOB
{
"success": true,
"order_id": 1043, // orders jadvalidagi ID β getCode uchun saqlang!
"number": "+998901234567",
"country": "UZ",
"server": 2,
"price": 10404,
"currency": "UZS"
}
π’
SMS kodni olish
β³
SMS hali kelmasa waiting holati qaytadi β har 60 soniyada qayta so'rang. 30 daqiqa o'tsa vaqt tugaydi va pul qaytariladi.
GET
https://smm.surkhandc.ru/api/v2?action=getCode&api_key=YOUR_KEY&order_id=1042
| Parametr | Majburiy | Izoh |
|---|---|---|
| action | Ha | getCode |
| order_id | Ha | getNumber javobidan olingan order_id β faqat sizning buyurtmangiz |
KOD KELDI β status: ok
{
"success": true,
"status": "ok",
"code": "47821", // SMS kod
"password": "", // ba'zi xizmatlar parol ham yuboradi
"number": "+998901234567"
}
HALI KELMADI β waiting
{
"success": true,
"status": "waiting",
"message": "SMS hali kelmadi. Qayta so'rang.",
"remaining": "28 daqiqa" // qolgan vaqt
}
TIMEOUT β 30 daqiqa o'tdi, pul qaytarildi
{ "success": false, "error": "30 daqiqa kutildi, SMS kelmadi. Pul qaytarildi." }
// HTTP 408 Β· balans avtomatik tiklanadi
β
Stars sotib olish YANGI
β
server parametri kerak emas. Telegram username orqali Stars yuboriladi.
Minimal miqdor: 50 Stars. Narx provayder API dan olinib margin qo'shiladi. Balansdan avtomatik yechiladi.
GET
STARS
https://smm.surkhandc.ru/api/v2?action=buyStars&api_key=YOUR_KEY&username=monk&amount=100
| Parametr | Majburiy | Izoh |
|---|---|---|
| action | Ha | buyStars |
| username | Ha | Telegram username (@ belgisisiz) β kimga yuboriladi |
| amount | Ha | Stars miqdori β minimal: 50 |
MUVAFFAQIYATLI JAVOB
{
"success": true,
"order_id": 14, // stars jadvalidagi ID
"api_order_id": "upstream-ord-id", // provayder order ID
"username": "monk",
"stars": 100,
"price": 35000, // yechilgan summa (UZS)
"currency": "UZS",
"ton_cost": 1.0, // provayder TON xarajati
"new_balance": 600000 // qolgan balans (UZS)
}
XATO JAVOBLARI
{ "success": false, "error": "username kerak (@ belgisisiz)" }
{ "success": false, "error": "amount kamida 50 bo'lishi kerak" }
{ "success": false, "error": "Balans yetarli emas. Kerak: 35000 UZS, Mavjud: 10000 UZS" }
π
Premium sotib olish YANGI
π
server parametri kerak emas. Telegram Premium gift sifatida yuboriladi.
Faqat 3, 6 yoki 12 oy tanlash mumkin. Balansdan avtomatik yechiladi.
3 oy
~80 000
UZS + margin
β 6 oy (mashhur)
~150 000
UZS + margin
12 oy
~280 000
UZS + margin
π‘
Aniq narxni bilish uchun avval getPrices endpointi mavjud emas β provayder API dan real vaqtda olinadi. Narxlar o'zgarishi mumkin.
GET
PREMIUM
https://smm.surkhandc.ru/api/v2?action=buyPremium&api_key=YOUR_KEY&username=monk&months=6
| Parametr | Majburiy | Izoh |
|---|---|---|
| action | Ha | buyPremium |
| username | Ha | Telegram username (@ belgisisiz) |
| months | Ha | Obuna muddati: 3 6 12 β boshqa qiymat 400 xato |
MUVAFFAQIYATLI JAVOB
{
"success": true,
"order_id": 7, // premium jadvalidagi ID
"api_order_id": "upstream-ord-id", // provayder order ID
"username": "monk",
"months": 6,
"price": 150000, // yechilgan summa (UZS)
"currency": "UZS",
"ton_cost": 18.2, // provayder TON xarajati
"new_balance": 485000 // qolgan balans (UZS)
}
XATO JAVOBLARI
{ "success": false, "error": "months faqat 3, 6 yoki 12 bo'lishi mumkin" }
{ "success": false, "error": "Balans yetarli emas. Kerak: 150000 UZS, Mavjud: 50000 UZS" }
{ "success": false, "error": "Premium xatosi" }
π¨
Xato kodlari
| HTTP | success | Sabab |
|---|---|---|
| 200 | true | Muvaffaqiyatli |
| 400 | false | Parametr xato yoki yetishmayapti (action, country, amount, months) |
| 401 | false | api_key noto'g'ri, ko'rsatilmagan, yoki status='inactive' |
| 402 | false | Balans yetarli emas β to'ldiring |
| 404 | false | Davlat mavjud emas, raqam topilmadi, yoki buyurtma topilmadi |
| 408 | false | SMS 30 daqiqada kelmadi β pul avtomatik qaytariladi |
| 429 | false | 60 so'rov/daqiqa limiti oshdi β biroz kuting |
| 500 | false | DB ga ulanib bo'lmadi β server ichki xatosi |
| 502 | false | Provayder API javob bermadi yoki noto'g'ri javob qaytardi |
| 503 | false | Faol provayder topilmadi (providers jadvali bo'sh yoki hammasi o'chiq) |
π»
Misol (PHP)
PHP
Balans β Raqam β SMS β Stars β Premium
PHP β To'liq misol
$base = "https://smm.surkhandc.ru/api/v2";
$key = "YOUR_API_KEY";
// ββ Yordamchi funksiya βββββββββββββββββββββββββββββ
function api($base, $params) {
$url = $base . '?' . http_build_query($params);
return json_decode(file_get_contents($url), true);
}
// 1. Balansni tekshirish βββββββββββββββββββββββββββ
$b = api($base, ['action' => 'getBalance', 'api_key' => $key]);
if ($b['success']) {
echo "Balans: " . $b['balance'] . " UZS\n";
}
// 2. Davlatlar ro'yxatini olish (2-server) ββββββββ
$c = api($base, ['action' => 'getCountries', 'api_key' => $key, 'server' => 2]);
if ($c['success']) {
foreach ($c['countries'] as $code => $info) {
echo "$code: " . $info['price'] . " UZS";
if (!empty($info['qty'])) echo " (qty: " . $info['qty'] . ")";
echo "\n";
}
}
// 3. Raqam sotib olish (2-server, Uzbekistan) βββββ
$r = api($base, [
'action' => 'getNumber',
'api_key' => $key,
'server' => 2,
'country' => 'UZ'
]);
if (!$r['success']) {
die("β Raqam xatosi: " . $r['error'] . "\n");
}
$order_id = $r['order_id'];
echo "π Raqam: " . $r['number'] . " (order_id: $order_id)\n";
// 4. SMS kodni polling (har 60 soniyada) ββββββββββ
$code = null;
for ($i = 0; $i < 30; $i++) {
sleep(60);
$g = api($base, [
'action' => 'getCode',
'api_key' => $key,
'order_id' => $order_id
]);
if (!empty($g['status']) && $g['status'] === 'ok') {
$code = $g['code'];
echo "β
SMS kod: $code\n";
break;
}
if (!$g['success'] && isset($g['error'])) {
echo "β° " . $g['error'] . "\n"; // timeout β pul qaytarildi
break;
}
echo "β Kutilmoqda... " . ($g['remaining'] ?? '') . "\n";
}
// 5. Stars sotib olish ββββββββββββββββββββββββββββ
$s = api($base, [
'action' => 'buyStars',
'api_key' => $key,
'username' => 'monk',
'amount' => 100
]);
if ($s['success']) {
echo "β " . $s['stars'] . " stars β " . $s['price'] . " UZS\n";
echo "Qolgan balans: " . $s['new_balance'] . " UZS\n";
} else {
echo "β Stars xatosi: " . $s['error'] . "\n";
}
// 6. Premium sotib olish βββββββββββββββββββββββββ
$p = api($base, [
'action' => 'buyPremium',
'api_key' => $key,
'username' => 'monk',
'months' => 6
]);
if ($p['success']) {
echo "π " . $p['months'] . " oy Premium β " . $p['price'] . " UZS\n";
echo "Qolgan balans: " . $p['new_balance'] . " UZS\n";
} else {
echo "β Premium xatosi: " . $p['error'] . "\n";
}