Sayfa: /
SMS Geçidi HTTP API sürüm 2.2
Uygulama Adresi:
http://api.teknomart.com.tr/direct/
DNS sorunlarından etkilenmemek için IP adresini kullanmanız önerilir;
Komut: sendsms
bu komutla tek mesaj tek numaraya, tek mesaj birden fazla GSM numarasına ya da birden fazla mesaj birden fazla GSM numarasına gönderilebilir. Baslik parametresini göndermezseniz, API ilk başlığı seçecektir.
Tek tek gönderim örneği (çok düşük performans):
cmd=sendsms&kullanici=test&sifre=test&gsm=5326416373&mesaj=Test SMS test&baslik=TEST
gelen sonuç:
2008123462542735
Aynı mesajı birden fazla gsm numarasına gönderme örneği (yüksek performans):
cmd=sendsms&kullanici=vtest&sifre=vastestz&baslik=TEST&gsm=5322110000|5322110001&mesaj=Test
gelen sonuç:
2008123462542736,2008123462542739 (ayrıştırma karakteri: Chr=124)
Ayrı Ayrı mesajları ayrı ayrı GSM numararlarına gönderme örneği (normal performans):
cmd=sendsms&kullanici=vtest&sifre=vastestz&baslik=TEST&gsm=5322110000|5322110001&mesaj=test1 SMS test|test2 SMS test
gelen sonuç:
2008123462542737,2008123462542738
Belirli bir tarihte sms gönderme örneği:
cmd=sendsms&kullanici=vtest&sifre=vastestz&baslik=TEST&GSM=5326416373&mesaj=Test SMS test&tarih=30.10.2005&saat=21:15
gelen sonuç:
2008123462542738
TC kimlik numarasina sms atmak icin, (Turkcell Abonesi ve uzerine sadece bir GSM numarasi kaydi varsa / bu islem icin extradan tanimlatma yapmalisiniz. Tel: (216) 469 40 40)
cmd=sendsms&kullanici=xxx&sifre=xxx&mesaj=test&tckno=29936520680
gelen sonuç:
2008130897410000
Komut: sendwappush
cmd=sendwappush&kullanici=vtest&sifre=vastestz&baslik=TEST&gsm=5320000000|5320000001&mesaj=Test1|Test2&wurl=wap.teknomart.com.tr|wap.teknomart.com.tr
gelen sonuç:
2008123462542737,2008123462542738
Komut: getsms
Örnek:
cmd=getsms&kullanici=vtest&sifre=vastestz
gelen sonuç:
gsm=5320000000&mesaj=TEST&zaman=20080202193940
Komut: getmultisms
Örnek:
cmd=getmultisms&kullanici=vtest&sifre=vastestz
gelen sonuç:
gsm=5320000000|5320000000|53200000000|...&mesaj=TEST1|TEST2|TEST3|TEST4...&zaman=20080202193940|20080202193942|20080202193948|20080202193948...
Komut: kontor
cmd=kontor&kullanici=vtest
Komut: status
du komutla atılan mesajların durumunu sorgulayabilirsiniz.
(Önemli: en erken sorgulamayı mesaj id yi aldıktan 5 dakika sonra en geç sorgulamayı mesaji attiktan 2 gün sonra sorgulama yapmayınız, her sorgulama arası da 10 dakika olmalıdır)
Örnek:
cmd=status&mesajid=2008123462542738
gelen sonuç:
2008123462542738,1,999 (Mesajın Durumu, Hata Kodu)
Örnek:
cmd=status&mesajid=2008123462542738|2008123462542739|2008123462542740
gelen sonuç:
2008123462542738,1,999,2008123462542739,1,999,2008123462542740,1,999
Mesaj Durumu
-2 : Geçersiz Mesaj id (yada rapor henüz oluşturulmadı)
-1 : Geçersiz Mesaj id (yada rapor henüz oluşturulmadı)
0 : Sms mesajı iletildi.
1 : Sms mesajı iletilemedi.
2 : Sms mesajı gönderilmeyi bekliyor.
Hata Kodu
000 – 008 Service temporary not available ->Serviste geçiçi kesinti -> Yeniden denenebilir
|
009 Illegal error code
|
010 Network time-out
|
100 Facility not supported
|
101 Unknown subscriber ->Numara Turkcell Network’ünde tanımlı değil -> Yeniden denenmemeli
|
102 Facility not provided
|
103 Call barred ->SMS servis kullanımı kısıtlanmış -> Yeniden denenmemeli
|
104 Operation barred ->Yeniden denenmemeli
|
105 SC congestion
|
106 Facility not supported
|
107 Absent subscriber ->Mobil istasyon kapalı, yakın zamanda açılmayacağı düşünülerek denenmemeli.
|
108 Delivery fail ->Mesaj başarısız -> uygulama deneyip denemeyeceğine karar vermelidir.
|
109 Sc congestion ->Yeniden denenmemeli
|
110 Protocol error ->Yeniden denenmemeli
|
111 MS not equipped ->Yeniden denenmemeli
|
112 Unknown SC ->Yeniden denenmemeli
|
113 SC congestion ->Yeniden denenmemeli
|
114 Illegal MS ->Mobil istasyonda sorun var, hemen düzelmeyeceği düşünülerek -> Yeniden denenmemeli
|
115 MS not a subscriber ->Yeniden denenmemeli
|
116 Error in MS ->Yeniden denenmemeli
|
117 SMS lower layer not provisioned ->Yeniden denenmemeli
|
118 System fail ->Sistem hatası, uygulama deneyip denemeyeceğine karar verebilir
|
119 PLMN system failure ->Yeniden denenmemeli
|
120 HLR system failure ->Yeniden denenmemeli
|
121 VLR system failure ->Yeniden denenmemeli
|
122 Previous VLR system failure ->Yeniden denenmemeli
|
123 Controlling MSC system failure ->Yeniden denenmemeli
|
124 VMSC system failure ->Yeniden denenmemeli
|
125 EIR system failure ->Yeniden denenmemeli
|
126 System failure ->Sistem hatası, uygulama deneyip denemeyeceğine karar verebilir
|
127 Unexpected data value ->Yeniden denenmemeli
|
200 Error in address service centre ->Yeniden denenmemeli
|
201 Invalid absolute Validity Period
|
202 Short message exceeds maximum
|
203 Unable to Unpack GSM message
|
204 Unable to convert to IRA ALPHABET ->Yeniden denenmemeli
|
205 Invalid validity period format
|
206 Invalid destination address
|
207 Duplicate message submit
|
208 Invalid message type indicator
| Türkçe ve Özel karakterler:
Ç
|
@@C;
|
|
Ö
|
@@O;
|
|
!
|
@@33;
|
ç
|
@@c;
|
|
ö
|
@@o;
|
|
“
|
@@34;
|
İ
|
@@I;
|
|
Ğ
|
@@G;
|
|
#
|
@@35;
|
ı
|
@@i;
|
|
ğ
|
@@g;
|
|
%
|
@@37;
|
Ü
|
@@U;
|
|
RETURN (chr-13)
|
~
|
|
&
|
@@38;
|
ü
|
@@u;
|
|
SPACE (chr-32)
|
%20;
|
|
‘
|
@@39;
|
Ş
|
@@S;
|
|
|
|
|
*
|
@@42;
|
ş
|
@@s;
|
|
|
|
|
+
|
@@43;
|
|
|
|
|
|
|
€
|
@@Euro;
| Şeklinde değiştirilerek (REPLACE) gönderilmelidir. Örnek 1:
Text İstanbul’da %50 indirim, 1000€
Gönderilecek Text @@I;stanbul@@39;da%20@@37;50%20indirim,%201000@@Euro;
(ayni sekilde ALFANUMERIK basliklardaki bosluklarda %20 olarak gonderilmelidir. Ve karisiklik olmamasi icin space en son replace yapilmalidir.)
2 bit sayılan karakterler: ^ € { } [ ] \ ~ (tilda) işareti return olarak kullanılmıştır.
2 bit kaplayan karakterleri çift olarak gönderirseniz (hesap kolaylığı olsun diye API uygulamasında böyle yapılmıştır.) karakterler düzgün gönderilecektir
Örnek: Test SMSi [[5]] 2^^5 {{105}} ~~2ST (38 karakter)
.NET Örnek Kodlar
Imports System.Net ' System.Net Namespaces 'iniimport ediyoruz
Imports System.IO ' System.IO Namespaces 'iniimport ediyoruz
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Asagidaki Kodlardan Herhangi Birini Herhangi Bir Event'da Gerçeklestirebilirsiniz
'Tek Sms Gönderimi
Dim DosyaYolu1 As String = http://api.teknomart.com.tr/direct/?cmd=sendsms&kullanici=vtest&sifre=vastestz&baslik=TEST&gsm=5322110000&mesaj=Test SMS test
Dim h1 As HttpWebRequest = HttpWebRequest.Create(DosyaYolu1)
Dim r1 As HttpWebResponse = h1.GetResponse
Dim s1 As New StreamReader(r1.GetResponseStream)
Dim input1 As String = s1.ReadLine()
Dim output1 As String = ""
While Not (input1 = Nothing)
output1 &= input1 ‘ gelen sonuç output1 değişkenine atanıyor
input1 = s1.ReadLine()
End While
s1.Close()
'Tek Mesaj Cok Numara
Dim DosyaYolu2 As String = http://api.teknomart.com.tr/direct/?cmd=sendsms&kullanici=vtest&sifre=vastestz&baslik=TEST&gsm=5322110000|5322110001&mesaj=Test SMS test
Dim h2 As HttpWebRequest = HttpWebRequest.Create(DosyaYolu2)
Dim r2 As HttpWebResponse = h2.GetResponse
Dim s2 As New StreamReader(r2.GetResponseStream)
Dim input2 As String = s2.ReadLine()
Dim output2 As String = ""
While Not (input2 = Nothing)
output2 &= input2 ‘ gelen sonuç output2 değişkenine atanıyor
input2 = s2.ReadLine()
End While
s2.Close()
Thread:
API birçok pakede aynı anda cevap verebilmektedir, 500 X 10 threadle 5000SMS bir kerede gönderilebilir. Ancak, internet bağlantısının sorunlara yol açacağı düşünülerek pakette bulunan SMS sayısı düşük tutulursa sorun yaşama riski daha az olacaktır.
|