SMS Detalizatsiya

Barcha yuborilgan SMS xabarlarning to‘liq auditi va yetkazilganlik holati

SMS Paketi & Qoldiq Balans
Qolgan SMSlar:

4,896

/ 5,000 ta
104 ta ishlatildi (2.1%) 4,896 ta mavjud (97.9%)
Sentabr sarfi 55 ta
Oktabr sarfi 56 ta
Jami sarflangan 111 ta
Yetish muddati ~17 oy kuniga ~9.3 ta
Jami SMS

0

Barcha vaqt bo‘yicha
Yetkazildi (Delivered)

0

0% yetkazilish
Kutilmoqda (Sent)

0

Holati tekshirilmoqda
Xatolik (Failed)

0

Bormagan / Noto‘g‘ri
Bugun yuborilgan

0

0 yetkazildi
—
ID Loyiha Qabul qiluvchi SMS Matni Status Yuborilgan vaqt Yetkazilgan vaqt Amal
Yuklanmoqda...
0 tadan 0 ko‘rsatilmoqda
1 / 1

Oxirgi 7 kunlik statistika

Loyihalar bo‘yicha taqsimot

Test SMS Yuborish Sandbox

Hozirgi `getsms.uz` sozlamalari orqali to‘g‘ridan-to‘g‘ri telefon raqamiga test yuborib ko‘ring

Xalqaro formatda (+ siz yoki + bilan, masalan: 998901234567)
Tasdiqlangan shablonlar:
0 belgi 1 ta SMS
Eslatma: getsms.uz tizimida matnlar faqat moderatorlar tasdiqlagan shablon bilan operator orqali mijozga yetkaziladi. Yangi shablonlar uchun provayderga murojaat qilinadi.

Loyihalar va API Kalitlar

Telegram botlaringiz va saytlaringiz uchun xavfsiz avtorizatsiya tokenlari

Bot va Saytlar uchun Tayyor Kod

Yuklanmoqda...

1. Tizim Arxitekturasi va Ishlash Prinsipi

Barcha loyihalaringiz bitta markaziy shartnoma va yagona SMS balansi orqali ishlaydi

Loyihalar FedLogistics, MyEDS, Botlar, Saytlar
SMS Hub (Local Gateway) Port 4080 • API Key Auth • Real-time Logs
getsms.uz API 5,000 ta SMS paketi • Provayder
Mijoz Telefoni Yetkazildi (status: delivered)
Zaxira mexanizmi (Fail-safe Fallback):

Agar serverda kutilmaganda SMS Hub to‘xtab qolsa ham, loyihalardagi kod avtomatik tarzda to‘g‘ridan-to‘g‘ri getsms.uz (va Eskiz) ga ulanadi. Mijozlarga kod borishi aslo to‘xtamaydi.

Yagona balans & Qoldiq hisobi:

Siz sotib olgan 5,000 ta SMS barcha loyihalaringizga umumiy taqsimlanadi. Qancha ishlatilgani va qancha qolgani real vaqtda hisoblab boriladi.

2. Yangi Loyihani Ulash (3 Qadamda)

Yangi sayt, telegram bot yoki CRM tizimini ulash ketma-ketligi

1

API Kalit yaratish

Chap menyudagi "API Kalitlar" bo‘limiga o‘ting, "Yangi kalit" tugmasini bosing va loyihangiz nomini kiriting (masalan: YangiLoyiha.Uz). Tizim sizga maxsus API kalit beradi.

2

Loyihaning .env fayliga sozlamalarni yozish

Yangi loyihangizning .env fayliga quyidagi sozlamalarni qo‘shing:

SMS_PROVIDER=hub
SMS_HUB_URL=http://127.0.0.1:4080/api/v1/sms/send
SMS_HUB_KEY=siz_olgan_api_kalit
3

Kodni ulash (Dasturiy qism)

Quyidagi tillardan o‘zingizga keraklisini tanlab, kodingizga qo‘shing:

// Laravel: app/Services/SmsService.php
public static function send($phone, $message, $project = 'Mening Loyiham') {
    $cleanPhone = preg_replace('/[^\d]/', '', $phone);
    if (strlen($cleanPhone) === 9) $cleanPhone = '998' . $cleanPhone;

    $payload = json_encode([
        'phone'   => $cleanPhone,
        'text'    => $message,
        'project' => $project
    ], JSON_UNESCAPED_UNICODE);

    $ch = curl_init(env('SMS_HUB_URL', 'http://127.0.0.1:4080/api/v1/sms/send'));
    curl_setopt_array($ch, [
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $payload,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 5,
        CURLOPT_HTTPHEADER => [
            'Content-Type: application/json',
            'X-API-Key: ' . env('SMS_HUB_KEY')
        ]
    ]);
    $res = curl_exec($ch);
    $http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    return ($http === 200);
}
// Telegram Bot: bot.php
function send_sms_gateway($tel, $text, $project = 'Mening Botim') {
    $tel = preg_replace('/[^\d]/', '', $tel);
    if (strlen($tel) === 9) $tel = '998' . $tel;

    $payload = json_encode([
        'phone'   => $tel,
        'text'    => $text,
        'project' => $project
    ], JSON_UNESCAPED_UNICODE);

    $ch = curl_init('http://127.0.0.1:4080/api/v1/sms/send');
    curl_setopt_array($ch, [
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $payload,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 5,
        CURLOPT_HTTPHEADER => [
            'Content-Type: application/json',
            'X-API-Key: SIZNING_API_KALITINGIZ'
        ]
    ]);
    $res = curl_exec($ch);
    curl_close($ch);
    return $res;
}
import requests

def send_sms(phone: str, text: str, project: str = "Telegram Bot") -> bool:
    clean_phone = "".join(filter(str.isdigit, phone))
    if len(clean_phone) == 9:
        clean_phone = "998" + clean_phone

    url = "http://127.0.0.1:4080/api/v1/sms/send"
    headers = {
        "Content-Type": "application/json",
        "X-API-Key": "SIZNING_API_KALITINGIZ"
    }
    data = {
        "phone": clean_phone,
        "text": text,
        "project": project
    }
    try:
        r = requests.post(url, json=data, headers=headers, timeout=5)
        return r.status_code == 200 and r.json().get("success", False)
    except Exception as e:
        print("SMS yuborishda xato:", e)
        return False
async function sendSms(phone, text, project = 'NodeJS App') {
  const cleanPhone = phone.replace(/\D/g, '');
  const fullPhone = cleanPhone.length === 9 ? '998' + cleanPhone : cleanPhone;

  const res = await fetch('http://127.0.0.1:4080/api/v1/sms/send', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': 'SIZNING_API_KALITINGIZ'
    },
    body: JSON.stringify({
      phone: fullPhone,
      text: text,
      project: project
    })
  });
  const data = await res.json();
  return data.success;
}

3. API Reference (Texnik Ma’lumotnoma)

SMS yuborish endpoint parametrlari va qaytadigan natijalar

POST https://sms.fedlogistics.uz/api/v1/sms/send (yoki server ichidan: http://127.0.0.1:4080/api/v1/sms/send)

So‘rov Sarlavhalari (Headers):

Header Qiymati Tavsif
X-API-Key loy_... Majburiy. "API Kalitlar" bo‘limidan olingan loyiha tokeni
Content-Type application/json Majburiy. JSON formatida so‘rov yuborish uchun

So‘rov Maydonlari (JSON Body):

Maydon Turi Majburiy? Tavsif va Namuna
phone String Ha Qabul qiluvchi telefon raqami: "998901234567" yoki "901234567"
text String Ha SMS xabar matni (tasdiqlangan shablonga to‘liq mos bo‘lishi shart)
project String Yo‘q Dashboardda alohida ko‘rinishi uchun kanal nomi (masalan: "FedLogistics Sayt", "MyEDS Bot")
nickname String Yo‘q Agar getsms.uz da alohida Sender Name (Alfanumerik) bo‘lsa

Muvaffaqiyatli Javob (HTTP 200 OK):

{
  "success": true,
  "data": {
    "sms_id": 12,
    "project": "MyEDS Sayt",
    "phone": "998941906964",
    "status": "sent",
    "request_id": "363262232",
    "created_at": "2026-10-06T01:47:56.000Z"
  }
}

4. Tasdiqlangan SMS Shablonlari Qoidasi (Muhim!)

O‘zbekiston aloqa operatorlari qat’iy talab qiladigan xabar andozalari

Diqqat: Erkin matn yuborib bo‘lmaydi!

getsms.uz va mobil operatorlar (Ucell, Beeline, Uztelecom, Mobiuz) faqat moderatorlar tomonidan ro‘yxatga olingan va tasdiqlangan shablonlarni yetkazadi. Tasdiqlanmagan ixtiyoriy matn yuborilsa, operator xabarni rad etadi (status: failed).

Hozirda tizimda amalda bo‘lgan tasdiqlangan shablonlar:

FedLogistics • Ro‘yxatdan o‘tish
Ваш код для подтверждения регистрации на сайте FedLogistics.Uz: {kod}
FedLogistics • Parolni tiklash
Ваш код для восстановления пароля на сайте FedLogistics.Uz: {kod}
MyEDS • Ro‘yxatdan o‘tish
Ваш код для подтверждения регистрации на сайте MyEDS.Uz: {kod}
MyEDS • Parolni tiklash
Ваш код для восстановления пароля на сайте MyEDS.Uz: {kod}

Yangi matn yoki yangi loyiha shablonini qo‘shish uchun getsms.uz qo‘llab-quvvatlash xizmati (support) ga murojaat qilib tasdiqlatish lozim.

5. HTTP Xatolik Kodlari va Muammolarni Yechish

API so‘rovlarida qaytishi mumkin bo‘lgan xatoliklar va ularning yechimlari

HTTP Status Xatolik Matni Sababi va Yechimi
400 Bad Request Telefon raqam yoki SMS matni kiritilmagan JSON body ichida phone yoki text bo‘sh yuborilgan yoki telefon 12 xonali emas (masalan: 998901234567).
401 Unauthorized X-API-Key header topilmadi So‘rov sarlavhasida (Headers) X-API-Key parametri ko‘rsatilmagan.
403 Forbidden Noto‘g‘ri yoki nofaol API Key Yuborilgan API token bazada mavjud emas yoki admin tomonidan o‘chirib (deactive) qo‘yilgan.
429 Rate Limit Juda ko‘p so‘rov Bitta IP dan 1 daqiqada 100 tadan ortiq so‘rov yuborildi. Bir necha soniya kutib qayta yuborish kerak.
502 / Provider Error getsms xatosi Provayder balansida SMS tugagan yoki yuborilgan matn tasdiqlangan shablonga to‘g‘ri kelmagan.

6. Hozirda Tizimga Ulangan Loyihalar Xaritasi

Serverdagi qaysi loyiha qaysi fayllar orqali SMS Hub ga ulanganligi

Loyiha Yo‘nalish (Kanal) Serverdagi Fayli Holati
FedLogistics.Uz Sayt (Ro‘yxatdan o‘tish & Reset) /var/www/fedlogistics.uz/app/Services/SmsService.php Faol
FedLogistics.Uz Telegram Bot /var/www/fedlogistics.uz/public/bot.php Faol
FedLogistics.Uz Telegram MiniApp /var/www/fedlogistics.uz/public/miniapp/api.php Faol
MyEDS.Uz Sayt (Ro‘yxatdan o‘tish & Reset) /var/www/myeds.uz/app/Services/SmsService.php Faol
MyEDS.Uz Telegram Bot /var/www/myeds.uz/public/bot.php Faol
MyEDS.Uz Telegram MiniApp /var/www/myeds.uz/app/Http/Controllers/Api/TelegramMiniAppController.php Faol

7. Server, PM2 va Baza Boshqaruvi

Konsoldan (SSH orqali) tizimni kuzatish va boshqarish buyruqlari

Vazifa Linux / SSH Buyrug‘i
SMS Hub holatini tekshirish pm2 status sms-hub
Jonli loglarni kuzatish pm2 logs sms-hub
Tizimni qayta ishga tushirish pm2 restart sms-hub
Nginx sozlamalarini yangilash systemctl reload nginx
Ma’lumotlar bazasi fayli /var/www/sms/data/sms.db (SQLite WAL rejimida)
Avtomatik yetkazilganlik tekshiruvchisi Har 20 soniyada fonda getsms.uz dan yetkazilganlik statusini oladi

getsms.uz Integratsiya Sozlamalari

getsms.uz tizimidan berilgan login va parolni kiriting

O‘zgartirmoqchi bo‘lmasangiz bo‘sh qoldiring
Agar provayderda ro‘yxatdan o‘tkazilgan bo‘lsa

SMS Limiti & Tarixiy Qoldiq Sozlamasi

Masalan: 5000 ta SMS paketi

Xavfsizlik & Tizim Ma'lumotlari

Server Statik IP-si

82.21.114.147

Ushbu IP `getsms.uz` texnik xizmatida oq ro‘yxatga (whitelist) kiritilgan bo‘lishi shart.


Admin Parolini Yangilash