Quyida SMS-xabar berishni avtomatlashtirish uchun sayt, xizmat yoki ilovani GETSMS.UZ tizimi bilan integratsiyalash bo‘yicha qisqacha qo‘llanma keltirilgan. Integratsiyani soddalashtirish uchun biz dasturlash tillarida kod namunalarini ishlab chiqdik.
Boshlashdan oldin:
Loyihangiz cURL-ni qo'llab-quvvatlashiga ishonch hosil qiling.
So'rovlar yuboriladigan serverning statik IP manzili haqida texnik xizmatga xabar bering, aks holda noma'lum xostlardan ulanishlar rad etiladi.
Loyihangiz cURL-ni qo'llab-quvvatlashiga ishonch hosil qiling.
So'rovlar yuboriladigan serverning statik IP manzili haqida texnik xizmatga xabar bering, aks holda noma'lum xostlardan ulanishlar rad etiladi.
Quyida manba kodida ishlatiladigan o'zgaruvchilarning ta'riflari keltirilgan:
LOGIN — texnik xizmat tomonidan berilgan login
PASSWORD — login bilan berilgan parol
NUMBER — oluvchining xalqaro formatdagi telefon raqami, ortiqcha (+)siz
TEXT — UTF-8 kodlashda SMS xabar matni
REQUEST_ID — so‘rov identifikatori
Ulanish uchun texnik hujjatlar
<?php
/**
* (c) 2018 http://getsms.uz
*
SMS yuborish uchun qayta ishlovchiga havola:
http://185.8.212.184/smsgateway/
Parametrlar POST usulida quyidagi shaklda yuboriladi
login = loginingiz
password = parolingiz
nickname = tizimda ilgari o'rnatilgan alfa nomlaringizdan biri. Odatda, SMS qisqa raqamdan yuboriladi.
data =
[
{
"phone":"998909711322", "text":"testli sms 1"
},
{
"phone":"998909711322", "text":"testli sms 2"
}
]
100 tagacha yuboriladigan sms massivi (json-obyektlari)
Muvaffaqiyatli so’rovga javoban,
tizim quyidagi ma’lumotlarni beradi:
[
{
"recipient": 998971234567,
"text": "testli sms 1",
"user_id": 1,
"date_received": 1499493672,
"message_id": 16854781,
"request_id": 52480252,
"client_ip": "185.8.212.184"
}
]
Agar telefon raqami noto'g'ri bo'lsa, javob quyidagicha bo'ladi:
[
{
"error": 1,
"error_text": "is NOT a phone number",
"error_no": 300,
"recipient": "+998909711322",
"text": "text1",
"user_id": 1,
"date_received": 1499493758,
"message_id": 20766930,
"request_id": 76181024,
"client_ip": "185.8.212.184"
}
]
Eslatma: Abonentga SMS yetib borganligini tekshirish uchun SMS shlyuz
javobidan olingan request_id json obyekt elementi
(qizil bilan ajratilgan) talab qilinadi
Yuborilgan SMS statusini tekshirish uchun
ishlov beruvchiga havola:
http://185.8.212.184/smsgateway/status/
SMS yetkazib berish holatini tekshirish uchun
abonent POST usuli bilan quyidagi parametrlar bilan
so'rov yuborishi kerak:
login = loginingiz
password = parolingiz
data =
[
{
"request_id ":"3853471"
}
]
ilgari olingan (SMS yuborishda so'rovga javobda)
Id so'rovga ega 1 json obyektini o'z ichiga olgan massiv
muvaffaqiyatli so'rovga javoban, xizmat quyidagi
ma'lumotlarni beradi:
[
{
"recipient": "998909711322",
"text": "Ваш текст смс",
"user_id": "1",
"date_received": "2018-07-08 10:40:34",
"date_sent": "2018-07-08 10:40:34",
"date_delivered": "2018-07-08 10:40:52",
"message_id": "38457358",
"request_id": "93786401",
"status": "delivered",
"count_messages": "1",
"client_ip": "185.8.212.184",
"description": "OK"
}, {
"recipient": "998909711322",
"text": "Ваш текст смс",
"user_id": "1",
"date_received": "2017-07-08 10:40:34",
"date_sent": "2017-07-08 10:40:34",
"date_delivered": "2017-07-08 10:40:42",
"message_id": "12911573",
"request_id": "93786401",
"status": "delivered",
"count_messages": "1",
"client_ip": "185.8.212.184",
"description": "OK"
}
]
Agar noto'g'ri ma'lumotlar yuborilgan bo'lsa,
xizmatdan javob quyidagicha:
[
{
"error":1,"text":"Incorrect Login or Password","error_no":101
}
]
Xatolarning quyidagi turlari mavjud:
{
"error": 1,
"error_text": "Login or Password is NULL",
"error_no": 100
}
{
"error": 1,
"error_text": "Incorrect Login or Password",
"error_no": 101
}
{
"error": 1,
"error_text": "Account blocked",
"error_no": 102
}
{
"error": 1,
"error_text": "Limit is over",
"error_no": 103
}
{
"error": 1,
"error_text": "Array is not a JSON",
"error_no": 200
}
{
"error": 1,
"error_text": "Array is invalid",
"error_no": 201
}
{
"error": 1,
"error_text": "Nickname didn\'t set",
"error_no": 202
}
{
"error": 1,
"error_text": "Incorrect nickname",
"error_no": 203
}
{
"error": 1,
"error_text": "request_id is wrong",
"error_no": 400
}