Hakkımızda Tarifeler İletişim
Yurtdışı SMS APIAna Sayfa
Sistem Gereksinimleri
Anlaşmalı Uluslararası Operatörler
Kullanıcı Bilgilerinin Kontrolü
Raporlama
Kullanılacak Karakterlere İlişkin Uyarılar
Hata Kodları
Mesaj (SMS) Gönderme
SMS İletilmeme Nedenleri


Yurtdışı SMS API Kullanım Kılavuzunu indirmek için TIKLAYINIZ!

Genel

Mobildev XML / JSON Interfaces, XML veya JSON belgeleriyle çalışan yazılım geliştiricilerin, uygulamalarına SMS gönderimini XML veya JSON üzerinden entegre etmelerini sağlamak amacıyla geliştirilmiştir.

Her işletim sistemi platformunun desteklediği bir araç olması ve her IDE ile kullanılabilir olması nedeniyle, yazılım geliştiricilerin tercih ettiği çözümümüzdür. Bu araçla 30.000 (önerilen) adede kadar aynı içerikli ya da farklı içerikli SMS mesaj gönderimi yapabilirsiniz.

Yazılım geliştiriciler, bu belgede belirtilen şekilde hazırlamış oldukları XML ifadelerini http://gateway.mobildev.com/xml veya JSON ifadelerini http://gateway.mobildev.com/json (Bundan sonra Gateway olarak anılacaktır.) adresine, kendi çözümlerinde bir HTTP/ XML veya HTTP/JSON POST isteği oluşturarak gönderirler. Gönderilen XML veya JSON ifadesi Mobildev SMS Parser tarafından işlenir. Eğer XML/JSON ifadesinde ya da XML/JSON 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/JSON 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.


Kullanılacak Karakterlere İlişkin Uyarılar

Mobildev XML API çözümü aşağıdaki uyarılar göz önünde bulundurularak kullanılmalıdır:
Örnek Tablo
Format
Uluslararası
Ulusal
532XXXXXXX
Geçerli
Geçerli
542XXXXXXX
Geçerli
Geçerli
0090542XXXXXXX
Geçerli
Geçerli
0090532XXXXXXX
Geçerli
Geçerli
0044XXXXXXXXXX
Geçerli
Geçersiz
90542XXXXXXX
Geçerli
Geçersiz
90532XXXXXXX
Geçerli
Geçersiz
44XXXXXXXXXX
Geçerli
Geçersiz


Anlaşmalı Uluslararası Operatörler

Anlaşmalı uluslararası operatörlere ait tabloya ulaşmak için TIKLAYINIZ.


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
Admin yetkisiyle ulaşılabilecek bir alana Admin yetkisi olmayan biri ulaşmaya çalıştı
13
Rapor istenen kullanıcı yok


Kullanıcı Bilgileri Kontrolü

Aşağıdaki XML / JSON ifadesini parametre düğümlerine istenen bilgileri ekleyerek Gateway'e yolladığınızda kullanıcı kontör bilgisi ve orijinatör tanımları geri dönüş değerleri olarak gönderilir:

XML

<MainReportRoot>
<UserName>username-company_code</UserName>
<PassWord>password</PassWord>
<Action>4</Action>
</MainReportRoot>

JSON

{
"MainReportRoot": {
"UserName": "username-company_code",
"PassWord": "password",
"Action": "4"
}
}


Yukarıdaki XML ve JSON ifadelerinde: 
Parametre
Açıklama
UserName
Mobiltim 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. Bknz. Örnek 5.4.1 

Örnek 5.4.1:
 Kullanıcı bilgileri kontrolü için hazırlanmış XML ve JSON İfadeleri ifadesi

XML

<MainReportRoot>
<UserName>test-mb1000</UserName>
<PassWord>XXXXX</PassWord>
<Action>4</Action>
</MainReportRoot>


JSON

{
"MainReportRoot": {
"UserName": "test-mb1000",
"PassWord": "XXXXX",
"Action": "4"
}
}

Not: "mb1000" değeri her kanal için farklıdır. Mobildev'in sunduğu SMS Hizmetleri'yle son kullanıcı şeklinde çalışıyorsanız company_code parametre değeri olarak "mb1000", kanal şeklinde çalışıyorsanız sizin adınıza tanımlanmış olan değeri kullanmalısınız. Yukarıdaki XML ifadesini Bir HTTP XML veya HTTP JSON isteği oluşturup Gateway'e gönderdiğinizde aşağıdaki geri dönüş değerlerini alırsınız: 

İşlem başarılıysa: 
Kontör sayısı<10>
Originator1<10>
Originator2<10>
OriginatorN 


Hata oluşmuşsa: Bknz. Hata Kodları-TabloGeri dönüş değerlerinde bulunan <10> LineFeed karakterini temsil etmektedir. Originator bilgisi SMS gönderimlerinizde hedef GSM numarasının "Gönderen" kısmında çıkacak olan bilgiyi ifade etmektedir. Bu bilgi 11 karakterlik nümerik ya da alfanümerik karakterlerden oluşan (Türkçe ve &, <, > gibi özel karakterler içermeyen) bir ifade olabilir.

Mesaj (SMS) Gönderme


XML / JSON Interfaces SMS gönderimi için iki çeşit XML / JSON ifadesi sunmaktadır: 

SMS To Many / SMS To Many 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 / JSON ifadesi gösterilmektedir. 

160 Karakterden Fazla SMS gönderimi için XML Kullanım Kılavuzu içindeki aşağıdaki  <Action>0</Action> olan kısma 40 değerini giriniz. 

NOT: Mesaj metni uzunluğunuz 160 karakter veya daha az ise action olarak 40 değerini gönderirseniz SMS gönderiminiz hataya düşecektir. 
Örnek 5.5.1.1: SMS To Many ifadesi örneği
XML

<MainmsgBody>
<UserName>username-company_code</UserName>
<PassWord>password</PassWord>
<Action>0</Action>
<Mesgbody>mesaj</Mesgbody>
<Numbers>05421234567,05321234567</Numbers>
<Originator>KurumsalSMS</Originator>
<SDate>150820041530</SDate>
</MainmsgBody>


JSON

{
"MainmsgBody": {
"UserName": "username-company_code",
"PassWord": "password",
"Action": "0",
"Mesgbody": "mesaj",
"Numbers": "05421234567,05321234567",
"Originator": "KurumsalSMS",
"SDate": "150820041530"
}
}


Mesaj metnini yazdığınızda:
1 ile 153 karakter arası 1 SMS
153 ile 306 karakter arası 2 SMS
306 ile 459 karakter arası 3 SMS
459 ile 612 karakter arası 4 SMS olmaktadır.
Not: 160 karakteri geçen mesajlarda giden her mesajın uzunluğu 153 karaktere düşmektedir.

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,
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 / 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 / JSON ifadeleri gösterilmektedir. 
160 Karakterden Fazla SMS gönderimi için XML Kullanım Kılavuzu içindeki aşağıdaki  <Action>1</Action> olan kısma 41 değerini giriniz. 
NOT: Mesaj metni uzunluğunuz 160 karakter veya daha az ise action olarak 41 değerini gönderirseniz SMS gönderiminiz hataya düşecektir. 

Örnek 5.5.2.1: SMS MultiSenders örnekleri
XML

<MainmsgBody>
<UserName>username-company_code</UserName>
<PassWord>password</PassWord>
<Action>1</Action>
<Messages>
<Message>
<Mesgbody>your message1</Mesgbody>
<Number>05427654321</Number>
</Message>
<Message>
<Mesgbody>your message2</Mesgbody>
<Number>05327654321</Number>
</Message>
</Messages>
<Originator>KurumsalSMS</Originator>
<SDate>011120120101</SDate>
</MainmsgBody>


JSON

{
"MainmsgBody": {
"UserName": "username-company_code",
"PassWord": "password",
"Action": "1",
"Messages": {
"Message": [
{
"Mesgbody": "your message1",
"Number": "05427654321"
},
{
"Mesgbody": "your message2",
"Number": "05327654321"
}
]
},
"Originator": "KurumsalSMS",
"SDate": "011120120101"
}
}


Mesaj metnini yazdığınızda:
1 ile 153 karakter arası 1 SMS
153 ile 306 karakter arası 2 SMS
306 ile 459 karakter arası 3 SMS
459 ile 612 karakter arası 4 SMS olmaktadır.

Not:
 160 karakteri geçen mesajlarda giden her mesajın uzunluğu 153 karaktere düşmektedir.
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'a 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


Raporlama

Mobildev XML Interfaces, gönderilen SMS mesajlarının raporlanması için iki çeşit raporlama seçeneği sunmaktadır:


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 ve JSON ifadeleri gösterilmektedir.

Örnek 5.5.1.1: Tarih bazında raporlama için gerekli ifadeler
XML

<MainReportRoot>
<UserName>username-company_code</UserName>
<PassWord>password</PassWord>
<Action>2</Action>
<FDate>2012-06-28</FDate>
<LDate>2012-07-28</LDate>
</MainReportRoot>


JSON

{
"MainReportRoot": {
"UserName": "username-company_code",
"PassWord": "password",
"Action": "2",
"FDate": "2012-06-28",
"LDate": "2012-07-28"
}
}


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 veya JSON ifadesi Gateway'a ulaştığında iki çeşit geri dönüş değeri alınır:

İşlem başarılıysa:  "TimerID<32>GSM Numarası<32>Durum<32>İletim Tarihi<32>İletilmeme nedeni<10>"  şeklindedir. 

Örnek: Tarih bazında raporlama geri dönüş değeri
1234<32>905358838799<32>2<10>2012-11-01 11:11:00<10> <32>
1234<32>905428838799<32>3<10>2012-11-01 12:00:00<10>101<32>
1234<32>905558838799<32>1<10>1900-01-01 00:00:00<10> <32>

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. İletim tarihi iletilen ve iletilemeyen gönderimler için verilir. Diğer durumda 1900-01-01 00:00:00 değeri gelir. İletilmeme nedeni ise sadece iletilemeyen SMS'lerde gelir, operatör tarafından verilen bu nedenlerin listesi için Bkz. SMS İletilmeme Nedenleri - Tablo

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.
XML

<MainReportRoot>
<UserName>username-company_code</UserName>
<PassWord>password</PassWord>
<Action>3</Action>
<MsgID>TimerID</MsgID>
</MainReportRoot>

JSON

{
"MainReportRoot": {
"UserName": "username-company_code",
"PassWord": "password",
"Action": "3",
"MsgID": "TimerID"
}
}


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 veya JSON ifadesi Gateway'a ulaştığında iki çeşit geri dönüş değeri alınır:

İşlem başarılıysa:  "TimerID<32>GSM Numarası<32>Durum<32>İletim Tarihi<32>İletilmeme nedeni<10>"  şeklindedir. 

Örnek: Tarih bazında raporlama geri dönüş değeri
1234<32>905358838799<32>2<10>2012-11-01 11:11:00<10> <32>
1234<32>905428838799<32>3<10>2012-11-01 12:00:00<10>101<32>
1234<32>905558838799<32>1<10>1900-01-01 00:00:00<10> <32>

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. İletim tarihi iletilen ve iletilemeyen gönderimler için verilir. Diğer durumda 1900-01-01 00:00:00 değeri gelir. İletilmeme nedeni ise sadece iletilemeyen SMS'lerde gelir, operatör tarafından verilen bu nedenlerin listesi için Bkz. SMS iletilmeme Nedenleri -Tablo 

Hata oluşmuşsa: Bknz. Hata Kodları-Tablo


SMS İletilmeme Nedenleri

Hata Kodu
Açıklama
000
Unknown subscriber ->Numara Turkcell Network'ünde tanımlı değil -> Yeniden denenmemeli
001
Service temporary not available ->Serviste geçici kesinti -> Yeniden denenebilir
002
Service temporary not available ->Serviste geçici kesinti -> Yeniden denenebilir
003
Service temporary not available ->Serviste geçici kesinti -> Yeniden denenebilir
004
Service temporary not available ->Serviste geçici kesinti -> Yeniden denenebilir
005
Service temporary not available ->Serviste geçici kesinti -> Yeniden denenebilir
006
Service temporary not available ->Serviste geçici kesinti -> Yeniden denenebilir
007
Service temporary not available ->Serviste geçici kesinti -> Yeniden denenebilir
008
Service temporary not available ->Serviste geçici 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


Test Hesabı AlProjem Var!
toplu sms api, toplu mesaj api, toplu mesajlaşma api, yurtdışı sms api, api nedir, toplu sms apisi, yurdışına sms api, yurtdışına sms göndermek, yurtdışı sms gönderme, yurtdışı toplu sms gönderme


Follow @mobildev_tweets