| Türkçe Karakterli SMS API Kullanım Kılavuzunu indirmek için TIKLAYINIZ! |
Genel
Toplu SMS gönderim hizmetimizi kullanmak isteyen yazılım geliştiricilerin, sistemimize entegre olmalarını sağlayacak XML API aracının nasıl kullanıldığını açıklamak için hazırlanmıştır.
Mobildev XML API, XML teknolojisi ve HTTP protokolü kullanılarak gerçekleşen, fiziksel üç katmanlı mimariye sahip Mobildev SMS Gateway’e istemci ucundan gelen taleplerin belirli standartlara uygun olarak gönderilmesini sağlamak amacıyla geliştirilmiştir.
Yazılım geliştiriciler, bu belgede belirtilen şekilde hazırladıkları XML ifadelerini, http://8bit.mobilus.net/ (Gateway) adresine, kendi çözümlerinde bir XMLHTTP isteği oluşturarak gönderirler. Gönderilen XML ifadesi Mobildev XML Parser tarafından islenir. Eğer XML ifadesinde ya da XML ifadesi içinde bulunan parametre düğümlerinin herhangi birinde bir hata oluşmuşsa, yakalanan hata HTTP üzerinden önceden tanımlı bir kod olarak göndericiye iletilir. Eğer bir hata oluşmamışsa gönderilmiş olan XML ifadesinin işlevine uygun geri dönüş ifadesi hazırlanıp HTTP üzerinden göndericiye iletilir. Önceden tanımlı Hata Kodları, belgenin ilgili ayrımında ayrıntılı olarak açıklanacaktır.
Sistem Gereksinimleri
Mobildev XML API çözümünü kullanabilmeniz için gereken minimum sistem gereksinimleri aşağıda belirtilmiştir.
-
Windows 98 SE, ME, 2000, XP, UNIX, Linux ya da MacOS İşletim Sistemi
-
Internet Explorer 6 SP1 (Windows Platformu için)
-
cURL kütüphanesi (PHP kullanan geliştiriciler için)
Kullanım Şekli
Mobildev XML API çözümü aşağıdaki uyarılar göz önünde bulundurularak kullanılmalıdır:
-
Mesaj içeriğinde, LineFeed, Enter, Tab,"~", "€" gibi karakterler bulunmamalıdır.
-
GSM numaraları 05326541220, 5326541220 ya da 905326541220 şeklinde olmalıdır.
-
Mobildev SMS Gateway, Toplu Mesaj gönderimleri için tasarlanmış bir çözümdür. Yollanacak mesajlar mümkün olduğunca tek bir XML ifadesi hazırlanarak Gateway’e yollanmalıdır.
Hata Kodları
Hata Kodu | Açıklama |
01 | Hatalı kullanıcı adı – şifre – bayi kodu |
02 | Mesaj Gönderimi: Yetersiz kredi Geçersiz ID: Böyle bir mesaj (ID) kodu yok Raporlama: Paket işlenmemiş ya da Gateway tarafında beklemede |
03 | Tanımsız Action parametresi |
04 | Gelen XML yok |
05 | XML düğümü eksik ya da hatalı |
06 | Tanımsız Orijinatör bilgisi |
07 | Mesaj kodu (ID) yok |
08 | Verilen tarihler arasında SMS gönderimi yok |
09 | Tarih alanları boş - hatalı |
10 | SMS gönderilemedi |
11 | Tanımlanamayan hata |
12 | Mesaj Metni alanı boş |
13 | Mesaj metni alanı 268 karakterden uzun |
14 | GSM Numara(ları) boş bırakılamaz |
15 | Hatalı Gönderim Tarihi |
Kullanıcı Bilgileri Kontrolü
Aşağıdaki XML ifadesini parametre düğümlerine istenen bilgileri ekleyerek Gateway’e yolladığınızda kullanıcı kontör bilgisi ve originator tanımları geri dönüş değerleri olarak gönderilir:
<MainReportRoot>
<UserName>username-companycode</UserName>
<PassWord>password </PassWord>
<Action>4</Action>
</MainReportRoot>
Yukarıdaki XML ifadesinde:
Parametre |
Açıklama |
UserName |
Mobildev SMS servislerinde tanımlı kullanıcı adınızı, |
PassWord |
Tanımlı olan kullanıcı adınıza ait şifreyi, |
Action |
Gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini ifade eder. |
NOT: UserName parametre düğümüne değişken aktarılırken dikkat edilmesi gerekmektedir. Aktarılan
parametre değeri username-company_code şeklinde olmalıdır. Buradaki username parametresi
kullanıcı adınızı, company_code parametresi ise bağlı olduğunuz kanalı ifade etmektedir.
Kullanıcı bilgileri kontrolü için hazırlanmış XML ifadesi
<MainReportRoot>
<UserName>test-mb1000</UserName>
<PassWord>testpassword </PassWord>
<Action>4</Action>
</MainReportRoot>
Mesaj Gönderimi
Mobildev XML API SMS gönderimi için aşağıdaki XML ifadelerini sunmaktadır:
-
SMS To Many
-
SMS To Many Concat
-
SMS MultiSenders
-
SMS MultiSenders Concat
SMS To Many
SMS To Many ifadesi, aynı mesajı birden fazla GSM numarasına göndermek için kullanılır. Önerilen
SMS paketi boyutu 30.000 adettir.
Aşağıdaki örnekte SMS To Many XML ifadesi gösterilmektedir.
<?xml version="1.0" encoding="UTF-8"?>
<MainmsgBody>
<UserName>test-mb1000</UserName>
<PassWord>testsifresi</PassWord>
<Action>0</Action>
<Mesgbody>Türkçe karakter SMS Gönderimi</Mesgbody>
<Numbers>5321234567,5331234567</Numbers>
<Originator></Originator>
<SDate>310520132000</SDate>
</MainmsgBody>
Yukarıdaki XML ifadesinde:
Parametre | Açıklama |
UserName | Sistemimizde tanımlı olan kullanıcı adınızı, |
PassWord | Sistemimizde tanımlı olan kullanıcı adınıza ait şifreyi, |
Action | Gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini, |
Mesgbody | Gönderilecek mesaj içeriğini, |
Numbers | Mesajın gönderileceği GSM numaralarını, |
Originator | Mesajın gönderildiği GSM numarasında gönderen kısmında çıkacak ifadeyi, |
SDate | ggaayyyyssdd (GünAyYılSaatDakika) şeklinde gönderim zamanını ifade eder. |
Eğer Originator parametre düğümüne herhangi bir değer girmezseniz kullanıcıya ait tanımlanmış olan ilk Originator bilgisi kullanılır. Eğer SDate parametre düğümüne bir değer girmezseniz mesaj gönderim işlemi hemen başlar. Bir değer belirtirseniz mesaj gönderim işlemi o tarihte yapılır.
XML ifadesi Gateway'e ulaştığında iki çeşit geri dönüş değeri alınır:
-
İşlem başarılıysa: "ID: 3152005" şeklinde mesaj gönderim paketine ait TimerID bilgisi döner.
-
Hata oluşmuşsa: Bknz. Hata Kodları-Tablo
SMS ToMany Concat
SMS To Many ifadesi, aynı mesajı birden fazla GSM numarasına göndermek için kullanılır. Önerilen
SMS paketi boyutu 30.000 adettir.
Aşağıdaki örnekte SMS To Many XML ifadesi gösterilmektedir.
<?xml version="1.0" encoding="UTF-8"?>
<MainmsgBody>
<UserName>test-mb1000</UserName>
<PassWord>testsifresi</PassWord>
<Action>40</Action>
<Mesgbody>Türkçe karakter SMS Gönderimi Türkçe karakter SMS Gönderimi Türkçe karakter SMS Gönderimi Türkçe karakter SMS Gönderimi Türkçe karakter SMS Gönderimi </Mesgbody>
<Numbers>5321234567,5331234567</Numbers>
<Originator></Originator>
<SDate>310520132000</SDate>
</MainmsgBody>
Yukarıdaki ifadelerde:
Parametre | Açıklama |
UserName | Sistemimizde tanımlı olan kullanıcı adınızı, |
PassWord | Sistemimizde tanımlı olan kullanıcı adınıza ait şifreyi, |
Action | Gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini, |
Mesgbody | Gönderilecek mesaj içeriğini, |
Number | Mesajın gönderileceği GSM numarasını, |
Originator | Mesajın gönderildiği GSM numarasında gönderen kısmında çıkacak ifadeyi, |
SDate | ggaayyyyssdd (GünAyYılSaatDakika) şeklinde gönderim zamanını ifade eder. |
Eğer Originator parametre düğümüne herhangi bir değer girmezseniz kullanıcıya ait tanımlanmış olan ilk Originator bilgisi kullanılır. Eğer SDate parametre düğümüne bir değer girmezseniz mesaj gönderim işlemi hemen başlar. Bir değer belirtirseniz mesaj gönderim işlemi o tarihte yapılır.
XML ifadesi Gateway'e ulaştığında iki çeşit geri dönüş değeri alınır:
-
İşlem başarılıysa: "ID: 3152005" şeklinde mesaj gönderim paketine ait TimerID bilgisi döner.
-
Hata oluşmuşsa: Bknz. Hata Kodları-Tablo
Mesaj metnini yazdığınızda:
1 > <= 70 Karakter arası 1 mesaj |
70 > <= 134 Karakter arası 2 mesaj |
134 > <= 201 Karakter arası 3 mesaj |
201 > <= 268 Karakter arası 4 mesaj şeklinde gidecektir. |
SMS MultiSenders
SMS MultiSenders ifadesi, farklı mesajları farklı GSM numaralarına göndermek için kullanılır. Önerilen SMS paketi boyutu 30.000 adettir.
Aşağıdaki örnekte SMS MultiSenders XML ifadesi gösterilmektedir.
<?xml version="1.0" encoding="UTF-8"?>
<MainmsgBody>
<UserName>username-companycode</UserName>
<PassWord>password</PassWord>
<Action>1</Action>
<Messages>
<Message>
<Mesgbody>Türkçe karakter SMS Gönderimi</Mesgbody>
<Number>5321234567</Number>
</Message>
<Message>
<Mesgbody>Türkçe karakter SMS Gönderimi</Mesgbody>
<Number>5331234567</Number>
</Message>
</Messages>
<Originator></Originator>
<SDate></SDate>
</MainmsgBody>
Yukarıdaki XML ifadesinde:
Parametre | Açıklama |
UserName | Mobildev'de tanımlı olan kullanıcı adınızı, |
PassWord | Mobildev'de tanımlı olan kullanıcı adınıza ait şifreyi, |
Action | Gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini, |
Mesgbody | Gönderilecek mesaj içeriğini, |
Numbers | Mesajın gönderileceği GSM numaralarını, |
Originator | Mesajın gönderildiği GSM numarasında gönderen kısmında çıkacak ifadeyi, |
SDate | ggaayyyyssdd (GünAyYılSaatDakika) şeklinde gönderim zamanını ifade eder. |
Eğer Originator parametre düğümüne herhangi bir değer girmezseniz kullanıcıya ait tanımlanmış olan ilk Originator bilgisi kullanılır. Eğer SDate parametre düğümüne bir değer girmezseniz mesaj gönderim işlemi hemen başlar. Bir değer belirtirseniz mesaj gönderim işlemi o tarihte yapılır.
XML ifadesi Gateway'e ulaştığında iki çeşit geri dönüş değeri alınır:
-
İşlem başarılıysa: "ID: 3152005" şeklinde mesaj gönderim paketine ait TimerID bilgisi döner.
-
Hata oluşmuşsa: Bknz. Hata Kodları-Tablo
SMS MultiSenders Concat
SMS MultiSenders ifadesi, farklı mesajları farklı GSM numaralarına göndermek için kullanılır. Önerilen SMS paketi boyutu 30.000 adettir.
Aşağıdaki örnekte SMS MultiSenders XML ifadesi gösterilmektedir.
<?xml version="1.0" encoding="UTF-8"?>
<MainmsgBody>
<UserName>username-companycode</UserName>
<PassWord>password</PassWord>
<Action>41</Action>
<Messages>
<Message>
<Mesgbody>Türkçe karakter SMS Gönderimi</Mesgbody>
<Number>5321234567</Number>
</Message>
<Message>
<Mesgbody>Türkçe karakter SMS Gönderimi</Mesgbody>
<Number>5331234567</Number>
</Message>
</Messages>
<Originator></Originator>
<SDate></SDate>
</MainmsgBody>
Yukarıdaki XML ifadesinde:
Parametre | Açıklama |
UserName | Mobildev'de tanımlı olan kullanıcı adınızı, |
PassWord | Mobildev'de tanımlı olan kullanıcı adınıza ait şifreyi, |
Action | Gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini, |
Mesgbody | Gönderilecek mesaj içeriğini, |
Numbers | Mesajın gönderileceği GSM numaralarını, |
Originator | Mesajın gönderildiği GSM numarasında gönderen kısmında çıkacak ifadeyi, |
SDate | ggaayyyyssdd (GünAyYılSaatDakika) şeklinde gönderim zamanını ifade eder. |
Eğer Originator parametre düğümüne herhangi bir değer girmezseniz kullanıcıya ait tanımlanmış olan ilk Originator bilgisi kullanılır. Eğer SDate parametre düğümüne bir değer girmezseniz mesaj gönderim işlemi hemen başlar. Bir değer belirtirseniz mesaj gönderim işlemi o tarihte yapılır.
XML ifadesi Gateway'e ulaştığında iki çeşit geri dönüş değeri alınır:
-
İşlem başarılıysa: "ID: 3152005" şeklinde mesaj gönderim paketine ait TimerID bilgisi döner.
-
Hata oluşmuşsa: Bknz. Hata Kodları-Tablo
Mesaj metnini yazdığınızda:
1 > <= 70 Karakter arası 1 mesaj |
70 > <= 134 Karakter arası 2 mesaj |
134 > <= 201 Karakter arası 3 mesaj |
201 > <= 268 Karakter arası 4 mesaj şeklinde gidecektir. |
Raporlama
Mobildev XML API, gönderilen SMS mesajlarının raporlanması için iki çeşit raporlama seçeneği sunmaktadır:
-
Tarih Bazında Raporlama
-
Gönderilen Mesaj Bazında Raporlama
Tarih Bazında Raporlama
Tarih Bazında Raporlama, belirtilen iki tarih arasında yapılan SMS gönderim hareketlerinin toplu halde raporlanmasında kullanılır.
Aşağıdaki örnekte tarih bazında raporlama için gereken XML ifadesi gösterilmektedir.
<MainReportRoot>
<UserName>username-company_code</UserName>
<PassWord>password</PassWord>
<Action>2</Action>
<FDate>2012-06-28</FDate>
<LDate>2012-07-28</LDate>
</MainReportRoot>
Yukarıdaki ifadelerde:
Parametre | Açıklama |
UserName | Mobildev'de tanımlı olan kullanıcı adınızı, |
PassWord | Mobildev'de tanımlı olan kullanıcı adınıza ait şifreyi, |
Action | Gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini, |
FDate | Raporun başlangıç tarihini ("Yıl-Ay-Gün" şeklinde), |
LDate | Raporun bitiş tarihini ("Yıl-Ay-Gün" şeklinde) ifade etmektedir. |
XML ifadesi Gateway'e ulaştığında iki çeşit geri dönüş değeri alınır:
1. İşlem başarılıysa: "TimerID<32>GSM Numarası<32>Durum<10*>" şeklindedir.
Örnek: Tarih bazında raporlama geri dönüş değeri
1234<32>905358838799<32>2<10>
1234<32>905428838799<32>3<10>
1234<32>905558838799<32>1<10>
Not: Durum bilgisinde: "1" mesajın beklemede olduğunu, "2" gönderildiğini, "3" ise iletilmediğini belirtir. Geri dönüş değerlerinin tümünde bulunan <32> boşluk karakterini, <10> LineFeed karakterini temsil etmektedir.
2. Hata oluşmuşsa: Bknz. Hata Kodları-Tablo
TimerID Bazında Raporlama
TimerID (Mesaj Kodu) bazında raporlama bir SMS paketine ait mesaj gönderim hareketlerini raporlamada kullanılır.
Aşağıdaki örnekte TimerID bazında raporlama için gerekli ifadeler gösterilmektedir.
<MainReportRoot>
<UserName>username-company_code</UserName>
<PassWord>password</PassWord>
<Action>3</Action>
<MsgID>TimerID</MsgID>
</MainReportRoot>
Yukarıdaki ifadelerde:
Parametre | Açıklama |
UserName | Mobildev'de tanımlı olan kullanıcı adınızı, |
PassWord | Mobildev'de tanımlı olan kullanıcı adınıza ait şifreyi, |
Action | Gönderilen XML ifadesinin hangi işlev için gönderildiği bilgisini, |
MsgID | Rapor almak istenilen SMS paketine ait TimerID bilgisini ifade etmektedir. |
XML ifadesi Gateway'e ulaştığında iki çeşit geri dönüş değeri alınır:
1. İşlem başarılıysa:
"TimerID<32>GSM Numarası<32>Durum<10*>" şeklindedir.
Örnek: TimerID bazında raporlama geri dönüş değeri
1234<32>905448838799<32>2<10>
1234<32>905378838799<32>3<10>
1234<32>905058838799<32>1<10>
Not: Durum bilgisinde: "1" mesajın beklemede olduğunu, "2" gönderildiğini, "3" ise iletilmediğini belirtir. Geri dönüş değerlerinin tümünde bulunan <32> boşluk karakterini, <10> LineFeed karakterini temsil etmektedir.
2. Hata oluşmuşsa: Bknz. Hata Kodları-Tablo