Genel
Mobildev JAVA API, uygulama geliştiricilerin çözümlerini SMS teknolojisiyle sıfır maliyetli bir şekilde bütünleştirmelerini sağlamak ve platform bağımsız uygulamalar geliştirmelerine yardımcı olmak amacıyla geliştirilmiş bir JAVA çözümüdür.
JAVA API, http://gateway.mobilus.net/com.mobilus adresine HTTP port 80 üzerinden bağlantı yaparak SMS Gateway’a ulaşmaktadır. Eğer güvenlik duvarı uygulamalarının denetiminde olan bir ağ üzerinde çalışıyorsanız, JAVA API’nin kullanıldığı bilgisayarın bu adrese çift yönlü olarak erişimine izin verilmiş olması gerekmektedir.
Unutmayın: Mobildev JAVA API’yi kullanmak için, JAR paketini (Mobilus.jar) JAVA SDK’nın bulunduğu klasörün (Örn. C:\j2sdk1.4.2_04) altında bulunan “lib” klasörüne kopyalayın, CLASSPATH ortam değişkenine de JAR paketinin tam yolunu ekleyin (Örn. C:\j2sdk1.4.2_04\lib\Mobilus.jar). Jar Dosyasına JAVA API Örnek Kodlar başlığı altından ulaşabilirsiniz. |
Sistem Gereksinimleri
Mobildev JAVA SMS API çözümünü kullanabilmeniz için gereken minimum sistem gereksinimleri aşağıda belirtilmiştir.
-
Windows 98 SE, ME, 2000, XP, 2003, Linux, UNIX ya da MAC OS işletim sistemİ
-
İnternet Explorer 6 SP1 (Windows Platformu İçin)
-
JVM - JAVA Sanal Makinesi (Her işletim sistemi için)
Kullanıcı Bilgilerinin Kontrolü
SMS gönderimine başlamadan önce SMS kullanıcı bilgilerinin kontrolü sağlanmalıdır. Mevcut SMS hesabınız bulunmuyorsa test hesabı almak için için TIKLAYINIZ.
Mobildev JAVA API, kullanıcı bilgileri kontrolü için CreditReporter adıyla bir metot sunar. Kullanıcı bilgilerini Gateway’den kontrol ettirmek için SetUsername() yöntemine kullanıcı adınızı (username-company code), SetPassword() yöntemine kullanıcı adınıza ait şifreyi parametre olarak girip SendMessage() yöntemini çağırdığınızda geri dönüş değeri olarak kredi ve originator bilgilerini alırsınız. Aşağıdaki örnekte CreditReporter metodunun kullanımı gösterilmektedir.
CreditReporter Metodu
import com.Mobilus.Sms.*;
class merhaba
{ public static void main(String[] args)
{
try
{
CreditReporter cr = new CreditReporter();
cr.SetUsername("test-mb1000");
cr.SetPassword("1234");
Object[] o = cr.SendMessage();
System.out.println((String)o[0]);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
CreditReporter metodunun örnekte belirtildiği gibi Gateway’a 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
-
Gateway'e gönderilen bilgilerin kontrolü gerçekleştirildiğinde; bilgiler hatalıysa 01 Hata Kodu döner. Hata Kodu 01, Hatalı Kullanıcı Adı – Şifre – Bayi Kodu bilgilerinden birinin ya da tamamının hatalı olduğu anlamına gelir. Bu durumda Mobildev Teknik Destek Ekibi ile iletişime geçip bilgilerinizi kontrol etmelisiniz.
Kullanılacak Karakterlere İlişkin Uyarılar
Gönderim sırasında;
- Türkçe karakterler (ç,ş,ü,ö,ğ,Ç,Ü,Ş,Ğ,Ö,İ)
- ~, ^^, &, <, >, €, £, ã, Ã, ‰, €, ©, ®, ∞, ° simgeleri
- LineFeed, Enter, Tab komutları
kesinlikle kullanılmamalıdır. Mesaj metni içerisinde sadece ( ) [ ] { } = * ? \ / % + # ! ” : ; _ | simgeleri kullanılabilir.
GSM Numarası Formatına İlişkin Uyarılar
GSM numaraları 05321234567, 5321234567, 905321234567 şeklinde ve Numbers parametre düğümü içerisinde yazılmalıdır. GSM numaraları uygun olmayan formatta yazılırsa 04 Hata Kodu alınır. Hata Kodu 04, GSM numarası formatının hatalı olduğu anlamına gelir. Bu durumda GSM Numarası Formatına İlişkin Uyarılar başlığı altındaki bilgileri kontrol etmelisiniz.
Unutmayın: +905321234567, 532 123 45 67, +05321234567 şeklinde ve -, ( ), [ ], { } vb. karakterlerle gönderim yapılamaz! |
Gönderen Bilgisi (Alfanumerik/Originator) Kullanımına İlişkin Uyarılar
Gönderen Bilgisi (Alfanumerik/Originator), mesaj gönderimlerinde gönderici kısmında yer alan; firmaya özel tanımlanmış 11 karakterden oluşan gönderici adıdır. Gönderim sırasında hesap aktivasyonunda aktivasyon biriminin tanımladığı Gönderen Bilgisi'nin aynısı Originator Parametre düğümü içerisinde yazılmalıdır. Gönderen Bilgisi tanımlı bilgiyle eşleşmezse 06 Hata Kodu alınır. Hata Kodu 06, Tanımsız Originator bilgisi anlamına gelir.
Unutmayın: Originator ifadesinde Türkçe karakterler ve &, <, >, -, ( ), [ ], / gibi simgeler kesinlikle kullanılmamalıdır! |
Toplu SMS Gönderiminde Kullanılacak Yönteme İlişkin Uyarılar
Mobildev JAVA API, mesaj gönderimi için, iki (2) adet metot sunmaktadır. Bunlar:
-
Aynı mesajı farklı numaralara göndermek için SmsToMany
-
Farklı mesajları farklı numaralara göndermek için SmsMultiSender
Unutmayın: Mobildev olarak, JAVA API üzerinden göndereceğiniz toplu mesaj paketlerinin önerilen boyutu 30.000 adettir! |
SmsToMany Metodu
SmsToMany metodu, farklı GSM numaralarına aynı içeriğe ait mesajın gönderilmesinde kullanılır. Bunu yapmak için SmsToMany metodundan bir örnek aldıktan sonra:
-
SetUsername() yöntemine kullanıcı adını,
-
SetPassword() yöntemine kullanıcı adına ait şifreyi,
-
SetOriginator() yöntemine Originator bilgisini,
-
SetMessage() yöntemine en fazla 160 karakter uzunluğundaki (Türkçe karakterler ve &, <, >, -, ( ), [ ], / gibi simgeler içermeyen) mesaj içeriğini,
-
İleri bir tarihte gönderim gerçekleşmesini istiyorsanız SetDate() yöntemine GünAyYılSaatDakika (ggaayyyyssdd) şeklinde tarih bilgisini,
-
SetNumbers() yöntemine mesajın gönderileceği GSM numaralarını belirttikten sonra SendMessage() yöntemini çağırırsanız mesaj paketi Gateway’a gönderilir.
-
Gelen paket Gateway tarafından işlendikten sonra uygun geri dönüş değeri oluşturulur. Geri dönüş değerini SendMessage() yöntemini bir değişkene aktararak kullanabilirsiniz.
Unutmayın: SetUsername içerisine username-company_code bilgileri girilmelidir! |
SetUsername parametresi, Mobildev SMS hesabı üzerinde tanımlı kullanıcı adınızı ifade eder.
SetPassword parametresi, SMS kullanıcı adınıza ait şifreyi ifade eder.
SetOriginator parametresi, mesajın gönderildiği GSM numarasında gönderen kısmında çıkacak kullanıcı adını ifade eder.
SetDate parametresi, mesajın gönderileceği zamanı ifade eder.
SmsToMany Metodu Örneği
import com.Mobilus.Sms.*;
class merhaba
{ public static void main(String[] args)
{
try
{
SmsToMany cr = new SmsToMany();
cr.SetUsername("test-mb1000");
cr.SetPassword("1234");
cr.SetOriginator("MOBILDEV");
cr.SetMessage("yeni yiliniz kutlu olsun");
cr.SetDate("311220121350");
String[] numbers={"05321234567,5059876543"};
cr.SetNumbers(numbers);
Object[] o = cr.SendMessage();
System.out.println((String)o[0]);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
SendMessage() yöntemiyle gönderilen SMS paketi Gateway’e ulaştığında iki çeşit geri dönüş değeri alınır:
- İşlem Başarılıysa: “ID: 1234567” şeklinde SMS paketine ait TimerID bilgisi döner. TimerID, gönderilen SMS paketine sistem tarafından otomatik olarak atanan numaradır.
- Hata Oluşmuşsa: Bknz. Hata Kodları
SmsMultiSender Metodu
SmsMultiSender metodu, GSM numaralarına farklı içerikli mesajlar gönderilmesinde kullanılır. Bunu yapmak için SmsMultiSender metodundan bir örnek aldıktan sonra:
-
SetUsername() yöntemine kullanıcı adını,
-
SetPassword() yöntemine kullanıcı adına ait şifreyi,
-
SetOriginator() yöntemine Originator bilgisini,
-
AddMessage() yöntemine en fazla 160 karakter uzunluğundaki (Türkçe karakterler ve &, <, >, -, ( ), [ ], / gibi simgeler içermeyen) mesaj içeriğini ve mesajın gönderileceği cep telefonu numarasını,
-
Eğer yapacağınız gönderimin ileri bir tarihte gerçekleşmesini istiyorsanız SetDate() yöntemine GünAyYılSaatDakika (ggaayyyyssdd) şeklinde tarih bilgisini belirttikten sonra SendMessage() yöntemini çağırırsanız mesaj paketi Gateway’a gönderilir.
-
Gelen paket Gateway tarafından işlendikten sonra uygun geri dönüş değeri oluşturulur. Geri dönüş değerini SendMessage() yöntemini bir değişkene aktararak kullanabilirsiniz.
SetUsername parametresi, Mobildev SMS hesabı üzerinde tanımlı kullanıcı adınızı ifade eder.
SetPassword parametresi, SMS kullanıcı adınıza ait şifreyi ifade eder.
SetOriginator parametresi, mesajın gönderildiği GSM numarasında gönderen kısmında çıkacak kullanıcı adını ifade eder.
SetDate parametresi, mesajın gönderileceği zamanı ifade eder.
SmsMultiSender Metodu Örneği
import com.Mobilus.Sms.*;
class merhaba
{ public static void main(String[] args)
{
try
{
SmsMultiSender multisender = new SmsMultiSender();
multisender.SetUsername("test-mb1000");
multisender.SetPassword("1234");
multisender.SetOriginator("MOBILDEV");
multisender.SetDate("311220122359");
multisender.AddMessage("5321234567", "yeni yiliniz kutlu olsun");
multisender.AddMessage("5321234568", "yeni yila ozel indirimi kacirmayin");
multisender.AddMessage("5321234569", "mutlu yillar");
Object[] o = multisender.SendMessage();
System.out.println((String) o[0]);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
SendMessage() yöntemiyle gönderilen SMS paketi Gateway’e ulaştığında iki çeşit geri dönüş değeri alınır:
- İşlem Başarılıysa: “ID: 1234567” şeklinde SMS paketine ait TimerID bilgisi döner. TimerID, gönderilen SMS paketine sistem tarafından otomatik olarak atanan numaradır.
- Hata Oluşmuşsa: Bknz. Hata Kodları
Raporlamaya İlişkin Uyarılar
Mobildev JAVA API, mesaj gönderimlerinin raporlanması için SmsReporter adıyla bir metot sunar. Mesaj gönderiminden sonra geri dönüş değeri olarak aldığınız mesaj gönderim kodunu SmsReporter metodunun SetMsgid() yöntemine parametre olarak eklerseniz geri dönüş olarak gönderim raporunu alırsınız.
SMS Reporter Metodu
import com.Mobilus.Sms.*;
class merhaba
{ public static void main(String[] args)
{
try
{
SmsReporter cr = new SmsReporter();
cr.SetUsername("test-mb1000");
cr.SetPassword("1234");
cr.SetMsgid("1234567");
Object[] o = cr.SendMessage();
System.out.println((String)o[0]);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Bilgiler 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<10>”
Gönderilen Mesaj Bazında (TimerID) Raporlama Geri Dönüş Değeri
1234<32>905358765432<32>2<10>
1234<32>905428765432<32>3<10>
1234<32>905558765432<32>1<10>
Hata Oluşmuşsa: Bknz. Hata Kodları
Unutmayın: 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! |
OTP Servis Kullanımına İlişkin Uyarılar
OTP servis kullanımıyla gönderilecek mesajlarda uygulanacak API entegrasyonu Toplu SMS entegrasyonu ile aynıdır. Toplu SMS hesap aktivasyonu sağlanırken tanımlamalar OTP servisine yapılır.
Unutmayın: OTP SMS sadece güvenlik gerektiren şifre ve anlık bilgilendirme şifre gönderimlerinde kullanıldığı için Toplu SMS gönderimleri yapılmamalıdır! |
Hata Kodları
Hata Kodu | Açıklama |
01 | Hatalı Kullanıcı Adı Hatalı Şifre
Hatalı Bayi Kodu |
02 | Yetersiz kredi |
03 | Tanımsız Action değeri |
04 | Gelen XML yok |
05 | XML düğümü eksik ya da hatalı |
06 | Tanımsız Originator 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 |
13 | Rapor istenen kullanıcı yok |
Java Api Örnek Kodlar