Bu kütüphane ile Nirvana SMS'in API özelliklerini çok daha kolay bir şekilde kullanabileceksiniz.
Visual Studio
Visual Studio kullanıcıları Package Manager Console'a aşağıdaki komutu yazarak kütüphaneyi kurabilirler:
Install-Package NirvanaSms.Api
ya da çalıştıkları projeye Solution Explorer üzerindeyken sağ tıklayıp Manage Nuget Packages sekmesine tıkladıklarında karşılarına çıkan pencere NirvanaSms.Api kelimesini arattırarak kurabilirler.
Java Kullanıcıları
Java kullanıcıları şu anlık Java projesini indirip projelerine dahil edebilirler. Kütüphaneyi kolay bir şekilde eklemek için yakın zamanda Maven Central desteği de gelecektir.
Diğer Diller
C# ve Java dışındaki dilleri kullanan geliştiriciler HTTP isteği gönderme yöntemiyle api özelliklerimizi kullanabilirler. Bununla ilgili ayrıntılı dökümana ulaşmak için tıklayınız.
Api özelliklerini kullanabilmek için benzersiz bir şifre kullanmanız gerekir. Bu şifreyi müşteri panelinizin sol kısmındaki menüde bulunan Kullanıcı İşlemleri sekmesinin altındaki Api Ayarları sayfasından oluşturabilirsiniz.
Çalışmalarınızı yaparken test için oluşturduğumuz hesabı kullanabilirsiniz. Tüm dönüş değerleri görülebilir fakat test amaçlı hesap olduğu için sms cep numarasına gerçekte ulaşmaz.
ApiUser apiUser = new ApiUser("test", "test");
İki tip mesaj gönderme şekli vardır:
Bir metin bir veya birden fazla alıcıya ulaştırılır.
ApiUser apiUser = new ApiUser("username", "api_key");
MessageSender sender = new MessageSender();
string[] _numbers = new string[] { "905555555555","0555 555 5555","555 555 5555" };
OneToManyMessage message = new OneToManyMessage().Builder
.SetHeader("Başlık")
.SetNumbers(_numbers) //
.SetValidity(2880) //mesajın gerçelilik süresi (belirtilen dakika içerisinde mesajı alıcıya ulaştırmaya çalışır.)
.SetMessage(messageText) //mesaj metni
.SetSendDateTime("2018-09-25 11:46:00") //ileri zamanlı mesaj gönderme
.Build();
ProcessResult<string> result = sender.SendMessage(apiUser, message);
ApiUser apiUser = new ApiUser("username", "api_key");
MessageSender sender = new MessageSender();
String[] _numbers = new String[] { "905555555555","0555 555 5555","555 555 5555" };
OneToManyMessage message = new OneToManyMessage().builder()
.header("Başlık")
.numbers(_numbers) //
.validity(2880) //mesajın gerçelilik süresi (belirtilen dakika içerisinde mesajı alıcıya ulaştırmaya çalışır.)
.message(messageText) //mesaj metni
.sendDateTime("25/09/2018 11:46:00","dd/MM/yyyy HH:mm:ss") //ileri zamanlı mesaj gönderme
.build();
ProcessResult<String> result = sender.sendMessage(apiUser, message);
Her alıcıya farklı bir mesaj ulaştırılır.
ApiUser apiUser = new ApiUser("username", "api_key");
MessageSender sender = new MessageSender();
List<PhoneAndMessagePair> phonesAndMessages = new List<PhoneAndMessagePair>()
{
new PhoneAndMessagePair("0555 555 5555","TEST 1"),
new PhoneAndMessagePair("0555 555 5555","TEST 2"),
new PhoneAndMessagePair("0555 555 5555","TEST 3")
};
ManyToManyMessage message = new ManyToManyMessage().Builder
.SetHeader("Başlık")
.SetPhonesAndMessages(phonesAndMessages)
.SetValidity(2880)
.SetSendDateTime("2018-09-25 11:46:00")
.Build();
ProcessResult<string> result = sender.SendMessage(apiUser, message);
ApiUser apiUser = new ApiUser("username", "api_key");
MessageSender sender = new MessageSender();
List<PhoneAndMessagePair> phonesAndMessages = new ArrayList<PhoneAndMessagePair>();
phonesAndMessages.add(new PhoneAndMessagePair("0555 555 5555", "TEST 1"));
phonesAndMessages.add(new PhoneAndMessagePair("0555 555 5555", "TEST 2"));
phonesAndMessages.add(new PhoneAndMessagePair("0555 555 5555", "TEST 3"));
ManyToManyMessage message = new ManyToManyMessage().builder()
.setHeader("Başlık")
.setPhonesAndMessages(phonesAndMessages)
.sendDateTime("25/09/2018 11:46:00","dd/MM/yyyy HH:mm:ss") //ileri zamanlı mesaj gönderme
.setValidityTime(2880);
ProcessResult<String> result = sender.sendMessage(apiUser, message);
ApiUser apiUser = new ApiUser("username", "api_key");
BlackListOperations blackListOperations = new BlackListOperations();
PhoneNumber number = new PhoneNumber("555 555 5555");
ProcessResult result = blackListOperations.Add(apiUser, number);
ApiUser apiUser = new ApiUser("username", "api_key");
BlackListOperations blackListOperations = new BlackListOperations();
ProcessResult<?> result = null;
try {
result = blackListOperations.add(apiUser, new PhoneNumber("555 555 5555"));
} catch (NonValidPhoneNumberException e) {
System.out.println(e.getMessage());
}
ApiUser apiUser = new ApiUser("username", "api_key");
HeaderOperations headerOps = new HeaderOperations();
ProcessResult<string[]> result = headerOps.Query(apiUser);
ApiUser apiUser = new ApiUser("username", "api_key");
HeaderOperations headerOperations = new HeaderOperations();
ProcessResult<String[]> result = headerOperations.query(apiUser);
ApiUser apiUser = new ApiUser("username", "api_key");
CreditOperations creditOps = new CreditOperations();
ProcessResult<Credit> result = creditOps.Query(apiUser);
ApiUser apiUser = new ApiUser("username", "api_key");
CreditOperations creditOperations = new CreditOperations();
ProcessResult<Credit> result = creditOperations.query(apiUser);
Raporunu sorgulamak istediğiniz mesajın id'sini kullanmanız gerekir. Bu id'ye sms panelimizden ya da sms gönderme api'sinin döndürdüğü değerden ulaşabilirsiniz.
ApiUser apiUser = new ApiUser("username", "api_key");
ReportOperations reportOps = new ReportOperations();
string messageId = "";
ProcessResult<List<NumberReport>> result = reportOps.GetReport(apiUser, messageId);
ApiUser apiUser = new ApiUser("username", "api_key");
ReportOperations reportOperations = new ReportOperations();
ProcessResult<List<NumberReport>> result = reportOperations.getReport(apiUser, "message id");
Kütüphanedeki tüm işlemler ProcessResult tipinde döndürülür. ProcessResult sınıfı, işlemin başarı durumunu, açıklamasınu, sunucunun cevap değerini ve varsa işlemden dönecek değeri saklar.
Örnek:
ProcessResult<string> result = sender.SendMessage(apiUser, message);
Yukarıda mesaj gönderme fonksiyonunun string tipinde bir değer döndürdüğü belirtilir.
Bu örnekten yola çıkarsak:
if(result.IsSuccess)
{
//yapılacak işlemler
}
if(result.isSuccess()){
//yapılacak işlemler
}
string desc = result.Description
String desc = result.getDescription();
string response = result.Response;
String response = result.getResponse();
Mesaj gönderme işlemi string değer göndürdüğü için data değişkeninin tipi string olacaktır.
string messageId = result.Data;
String data = result.getData();