iletimerkezi.com API'lerini kullanarak toplu sms gönderme ve raporlama işlemlerini yapabilmek için hazarlanan Ruby Gem'idir.
$ gem install 'iletimerkezisms'
iletimerkezi.com üzerinden toplu sms servisi kullanabilmeniz için verilen kullanıcı adı ve şifre bilgileri
- username: "username"
- password: "password"
- Desteklenen telefon numara formatları: ["905xxxxxxxxx"," +90 5xx xxx xx xx", "5xxxxxxxxx"]
- sender: iletimerkezi.com yönetim panelinden tanımlamış ve iletimerkezi.com tarafından onaylanmış, maksimum 11 karakterden oluşan başlık bilgisidir. Gönderilen mesaj, alıcıya bu parametre ile belirtilen başlık ile yollanır. İstek yapılırken gönderilmesi zorunludur. URL encode işleminden geçirilmelidir
require 'iletimerkezisms'
argv = {
sender: "ILETI MRKZI",
message: "Lorem ipsum ...",
sendDateTime: "11/03/2016 15:00", #opsiyonel
numbers: ["905xxxxxxxxx"," +90 5xx xxx xx xx", "5xxxxxxxxx"]
}
# Note: sendDateTime argümanı opsiyoneldir. Zamanlanmış sms gönderimleri için kullanılır.
# Argüman olarak eklenilmeği sürece gönderim zamanı olarak o anki zaman otamatik olarak atanır.
IletimerkeziSMS.send(username, password, argv)
OR
sms = IletimerkeziSMS::SMS.new(username, password)
sms.send(argv)
response => {
"status"=>{"code"=>"200", "message"=>"İşlem başarılı"},
"order"=>{"id"=>"order_id"}
}
require 'iletimerkezisms'
argv = {sender: "ILETI MRKZI",
sendDateTime: "11/03/2016 15:00",#opsiyonel
messages: [
{text: "Deneme mesajı bir", numbers: ["905xxxxxxxxx"," +90 5xx xxx xx xx", "5xxxxxxxxx"]},
{text: "Deneme mesajı iki", numbers: ["905xxxxxxxxx"," +90 5xx xxx xx xx"]},
{text: "Deneme mesajı üç", numbers: ["905xxxxxxxxx"]}
]
}
# Note: sendDateTime argümanı opsiyoneldir. Zamanlanmış sms gönderimleri için kullanılır.
# Argüman olarak eklenilmeği sürece gönderim zamanı olarak o anki zaman otamatik olarak atanır.
IletimerkeziSMS.multi_send(username, password, argv)
OR
sms = IletimerkeziSMS::SMS.new(username, password)
sms.multi_send(argv)
response => {
"status"=>{"code"=>"200", "message"=>"İşlem başarılı"},
"order"=>{"id"=>"order_id"}
}
- Not: order_id: Sms gönderme işlemi sonrasında sunucu tarafından gelen cevaptan bulabilirsiniz.(order_id = response["order"]["id"])
require 'iletimerkezisms'
IletimerkeziSMS.cancel(username, password, order_id)
OR
sms = IletimerkeziSMS::SMS.new(username, password)
sms.cancel(order_id)
Gönderilen sms(ler) hakkında rapor elde edebilmek için kullanılır
- page: Rapor sayfasını ifade eder. İstek yapılırken gönderilmesi zorunlu değildir. Varsayılan değeri 1’dir.
- rowCount: Bir rapor sayfasındaki mesaj adedini belirtir. İstek yapılırken gönderilmesi zorunlu değildir.Varsayılan değeri 1000’dir. Maksimum değeri #1000’dir. Bir siparişte 1000’den fazla mesaj gönderilmişse ayrı bir istek ile diğer rapor sayfaları sorgulanmalıdır.
require 'iletimerkezisms'
argv = {id: order_id, page: 1, rowCount: 1000}
IletimerkeziSMS.report(username, password, argv)
OR
report_object = IletimerkeziSMS::REPORT.new(username, password)
report_object.report(argv)
response => {
"status"=>{"code"=>"200", "message"=>"İşlem başarılı"},
"order"=>
{
"id"=>"7930802",
"status"=>"114",
"message"=>{"number"=>"+905xxxxxxxxx", "status"=>"111"}
}
}
- Hesabınızda kalan bakiye ve sms bilgisini elde etmenizi sağlar.
require 'iletimerkezisms'
IletimerkeziSMS.balance(username, password)
OR
report_object = IletimerkeziSMS::REPORT.new(username, password)
report_object.balance
response => {
"status"=>{"code"=>"200", "message"=>"İşlem başarılı"},
"balance"=>{"amount"=>"0.0000", "sms"=>"4"}
}
Geliştirmeleri yaparken kullanılan API dökümanı
Status Code | Status Message |
---|---|
110 | Mesaj gönderiliyor |
111 | Mesaj gönderildi |
112 | Mesaj gönderilemedi |
113 | Siparişin gönderimi devam ediyor |
114 | Siparişin gönderimi tamamlandı |
115 | Sipariş gönderilemedi |
200 | İşlem başarılı |
400 | İstek çözümlenemedi |
401 | Üyelik bilgileri hatalı |
402 | Bakiye yetersiz |
404 | API istek yapılan yönteme sahip değil |
450 | Gönderilen başlık kullanıma uygun değil |
451 | Tekrar eden sipariş |
452 | Mesaj alıcıları hatalı |
453 | Sipariş boyutu aşıldı |
454 | Mesaj metni boş |
455 | Sipariş bulunamadı |
456 | Sipariş gönderim tarihi henüz gelmedi |
457 | Mesaj gönderim tarihinin formatı hatalı |
503 | Sunucu geçici olarak servis dışı |
İletişim ve öneriler için, irfansubas08@gmail.com