1. Global Haberleşme API Kullanıcı Notları
Author : Global Haberleşme
Version : 0.1
SMS Gönderimi hakkında genel bilgiler
SMS göndermek için bilinmesi gereken genel konular başında sms uzunlukları ve
kullanılabilir karakterler gelmektedir. SMS gönderirken kullanabileceğiniz karakterler
aşağıdaki gibidir.
Standart SMS gönderimi için izin verilen karakterler
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'R', 'S', 'T', 'U', 'V', 'Y', 'Z', 'Q', 'W', 'X', 'a', 'b', 'c', 'd',
'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't',
'u', 'v', 'y', 'z', 'q', 'w', 'x', '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', '.', ',', '_', '¬', '?', '!', '(', ')', ';', ':', '@', ' ', '%',
'-', '+', '/', "n", '*', ''', '&', '='
Türkçe SMS gönderimi için izin verilen karakterler
2. 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'R', 'S', 'T', 'U', 'V', 'Y', 'Z', 'Q', 'W', 'X', 'a', 'b', 'c', 'd',
'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't',
'u', 'v', 'y', 'z', 'q', 'w', 'x', '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', '.', ',', '_', '¬', '?', '!', '(', ')', ';', ':', '@', ' ', '%',
'-', '+', '/', "n", '*', ''', '&', '=', 'Ü', 'ü', 'Ö', 'ö', 'Ğ', 'ğ', 'Ç',
'ç', 'Ş', 'ş', 'ı', 'İ'
Bu karakterler dışındakiler metin içerisinden silinecektir. Mesaj uzunlukları ise şu şekildedir.
Standart ve Türkçe SMS'ler için kısa mesaj için karakter sayıları aşağıdaki gibidir.
Standart SMS 160 Karakter
Türkçe SMS 155 Karakter
Bu karater sayıları üzerindeki metinler için uzun mesaj statüsünde hesaplamalar yapılır ve
mesaj boyutuna göre kontör düşülecektir.
API Erişim Bilgileri
API'ye erişmek için key ve secret bilgilerinizi olması gerekiyor. Bu bilgileri
globalhaberlesme.com adresinden üye olarak ya da giriş yaparak öğrenebilirsiniz. API key ve
secret bilgisinin bir örneğini aşağıda bulabilirsiniz.
key : 8eaa3ca9e32334fa4527e9843598abf9
secret : a3uBxqMKlzSgrSrO3KB6YXWQ3lIwGBRmxbZE5rcHawSfFDsGZ2s1lyLQqJKv3MYv
Bu bilgiler ile API arayüzünden iletişim kurmak için isteğinize GET parametresi olarak
eklemeniz yeterlidir. key ve secret bilgilerimizin doğruluğunu kontrol etmek için aşağıdaki
komutu çalıştırıp sonuca bakalım
curl "http://sms_api/?key=6750ee46da09310b8e668fe3f785e7d4
&secret=a3uBxqMKlzFgrSrO3KB6YXWQ2lIwGBRmcbZE5rcHawSfFDsGZ2s1lyLQqJKv3MYv"
$ curl "http://API_BASE_URL/?key=8eaa3ca9e32334fa4527e9843598abf9
&secret=a3uBxqMKlzSgrSrO3KB6YXWQ3lIwGBRmxbZE5rcHawSfFDsGZ2s1lyLQqJKv3MYv"
Eğer bilgileri doğru ise {"result":true} yanıtını göreceksiniz. Eğer yanlış ise ya da
geçersiz ise {"result":"error","errors":
[{"error_code":"99","error_text":"Auth Error!"}]} yanıtını alacaksınız.
SMS Gönderimi
3. API arayüzünden sms göndermek için aşağıdaki yolu izleyebilirsiniz.
Bir numaraya sms gönderme
Tek SMS göndermek için aşağıdaki POST verisini isteğiniz ile birlikte göndermelisiniz. İstek
göndereceğiniz adres yolu /sms/send/single
Post verisi:
{
"numbers": "",
"text": "",
"originator": "",
"time": "",
"turkish_character": "",
}
Bunun için örnek bir Curl sorgusu aşağıdaki gibidir.
$ curl -XPOST --data 'data={"numbers": "5554443322","text": "Mesaj
Metni","originator": "TEST","time": "2014-11-10
12:00:00","turkish_character":"0"}' "http://API_BASE_URL/sms/send/single?
key=8eaa3ca9e32334fa4527e9843598abf9&secret=a3uBxqMKlzSgrSrO3KB6YXWQ3lIwGBRm
xbZE5rcHawSfFDsGZ2s1lyLQqJKv3MYv"
Bu sorguyu çalıştırdığınızda ise aşağıdaki gibi bir yanıt alırsınız.
{"result":true,"message_id":"74","total_numbers_count":1,"turkcell_numbers_c
ount":0,"vodafone_numbers_count":0,"avea_numbers_count":1,"total_credit":1}
Eğer bir hata oluşursa hatalı yanıt şu şekilde olacaktır.
{"result":false,"errors":[{"error_code":"232","error_text":"Originator is
not valid!"}]}
Bu hatada başlık bilgisi daha önceden kaydedilmemiş bir başlık ile sms gönderilmeye
çalışılmıştır. ve hata ile karşılaşılmıştır.
Gönderilecek verinin ve alınan cevabın düzgün hali aşağıdaki gibidir.
Post verisi:
4. {
"numbers": "5554443322",
"text": "Mesaj Metni",
"originator": "TEST",
"time": "2014-11-10 12:00:00",
"turkish_character": "0"
}
Sonuç verisi:
{
"result": true,
"message_id": "74",
"total_numbers_count": 1,
"total_vodafone_count": 0,
"total_turkcell_count": 0,
"total_avea_count": 1,
"total_credit": 1
}
Çoklu numaraya aynı sms'i gönderme
Aynı api yolu ile daha fazla numaraya SMS gönderebilirsiniz. Bunun için tek yapmanız
gereken numbers alanına birden fazla numara göndermektir. Aşağıdaki gibi bir veriyi POST
verisi olarak gönderebilirsiniz.
{
"numbers": ["5554443322", "5553334433", "5554433221"],
"text": "Mesaj Metni",
"originator": "TEST",
"time": "2014-11-10 12:00:00",
"turkish_character": "0"
}
Sonuç verisi olarak yine aynı sonuç dönecektir.
5. {
"result": true,
"message_id": "75",
"total_numbers_count": 3,
"total_vodafone_count": 0,
"total_turkcell_count": 0,
"total_avea_count": 3,
"total_credit": 3
}
Birden fazla sms'i aynı istekte göndermek
Bunun için API arayüzünden /sms/send/multi yolunu kullanabilirsiniz. Bunun için
sorgunuzun POST verisi aşağıdaki gibi olmalıdır.
[
{
"numbers": "5554433221",
"text": "Mesaj Metni 2",
"originator": "TEST",
"time": "2014-11-10 12:00:00",
"turkish_character": "0"
},
{
"numbers": "5554443322",
"text": "Mesaj Metni 1",
"originator": "TEST",
"time": "2014-11-10 12:00:00",
"turkish_character": "0"
}
]
Bu istek için eğer bir hata oluşmaz ise aşağıdaki gibi bir cevap alacaksınız.
6. {
"result": true,
"results":[
{
"result": true,
"message_id": "76",
"total_numbers_count": 1,
"total_vodafone_count": 0,
"total_turkcell_count": 0,
"total_avea_count": 1,
"total_credit": 1
}
],
[
{
"result": true,
"message_id": "77",
"total_numbers_count": 1,
"total_vodafone_count": 0,
"total_turkcell_count": 0,
"total_avea_count": 1,
"total_credit": 1
}
]
}
Başlıkları Listeleme
Başlıkları listelemek için /originator/list yolunu kullanabilirsiniz. Bu istek size aşağıdaki
gibi bir sonuç dönecektir.
Kredi sorgulama ve Kullanıcı bilgilerine erişim
Bu bilgiye erişmek için /user/info yoluna GET isteğinde bulunabilirsiniz. Bu API isteği size
iki türlü cevap dönebilir. Eğer doğru key ve secret ile erişim sağladı iseniz aşağıdaki gibi bir
cevap alırsınız.
7. {
"result":true,
"data":{
"firstname":"",
"lastname":"",
"username":"",
"email":"",
"image":"",
"credit":""
}
}
Eğer yanlış bilgiler ile çağırmaya çalışırsanız
{
"result":"error",
"errors":[
{
"error_code":"99",
"error_text":"Auth Error!"
}
]
}
Böyle bir yanıt alırsınız.
Rapor Sorgulama
Son raporlarınızı sorgulamak için /sms/report/sent yolunu kullanabilirsiniz. Bu API yolu
size son gönderdiğiniz 20 sms mesajının kaydını döndürecektir. Aşağıdaki örneğe bakarak
dönecek sonuç hakkında daha fazla bilgiye ulaşabilirsiniz.