SMS Detalizatsiya
Barcha yuborilgan SMS xabarlarning to‘liq auditi va yetkazilganlik holati
0
Barcha vaqt bo‘yicha0
0% yetkazilish0
Holati tekshirilmoqda0
Bormagan / Noto‘g‘ri0
0 yetkazildi| ID | Loyiha | Qabul qiluvchi | SMS Matni | Status | Yuborilgan vaqt | Yetkazilgan vaqt | Amal |
|---|---|---|---|---|---|---|---|
|
Yuklanmoqda...
|
|||||||
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
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
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.
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
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.
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
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
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
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.Uz: {kod}
Ваш код для восстановления пароля на сайте FedLogistics.Uz: {kod}
Ваш код для подтверждения регистрации на сайте MyEDS.Uz: {kod}
Ваш код для восстановления пароля на сайте 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
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.