Ruby geliştiricileri için GlobalHaberlesme.com API lerini kullanan Ruby Gem'idir. GlobalHaberlesme.com tarafından sunulan API dokümantasyonundaki çağrıların (neredeyse) tamamını içerir.
Uygulama içerisinde kullanmak için aşağıdaki satırı Gemfile'a ekleyin:
gem 'globalsms'
Sonra kurulmasını sağlayın:
$ bundle
Ya da kendiniz kurun:
$ gem install globalsms
Mesaj göndermek için tanımlanmış fonksiyonlara argüman olarak hash verilir. Fonksiyon geriye hash döner.
Ön tanımlı değerler:
turkish_character: "0"
time: "now"
turkish_character: "0"
olarak verilmesine karşın, mesaj Türkçe karakter içeriyorsa Türkçe karakterler değiştirilerek gönderilir. Örneğin TÜRKÇE KARAKTER İÇEREN BİR MESAJ
olarak gönderilen bir mesaj TURKCE KARAKTER iCEREN BiR MESAJ
olarak iletilir.
Kullanıcının gireceği değerler:
numbers: "5493666154"
text: "Mesaj Metni"
Nesne üretme:
SMS gönderme işlemi yapmak üzere GlobalSMS:SMS sınıfından bir nesne üretirken argüman olarak hash verilir. Örneğin,
init_args = {
api_key: "api-key",
api_secret: "api-secret",
originator: "USTAD",
turkish_character: "1"
}
sms = GlobalSMS::SMS.new(init_args)
require 'globalsms'
sms = GlobalSMS::SMS.new(init_args)
args = {
numbers: "5493666154",
text: "Mesaj Metni",
turkish_character: "1",
time: "2015-10-07 12:35:00" # Geleceğe dönük mesaj atılması istendiğinde, geleceğe dair bir tarih/saat verilir.
Öntanımlı şu an `now` olarak verilmiştir.
}
sms.single_send(args)
# {
# "result" => true, "message_id" => "239916", "numbers" => ["5493666154"], "total_numbers_count" => 1, "turkcell_numbers_count" => 0, "vodafone_numbers_count" => 1, "avea_numbers_count" => 0, "total_credit" => 1, "0" => ""
# }
NOT: Tek mesaj gönderme yöntemiyle aynıdır. Sadece numbers
değerine dizi olarak birden fazla numara verilir. Tek bir message_id
üretir.
require 'globalsms'
sms = GlobalSMS::SMS.new(init_args)
args = {
originator: "DENEME",
numbers: ["5493666154", "5493666155", "5493666156", "5493666157"],
text: "Mesaj Metni",
turkish_character: "1"
}
sms.single_send(args)
# {
# "result" => true, "message_id" => "239922", "numbers" => ["5493666154", "5493666155", "5493666156", "5493666157", "..."], "total_numbers_count" => 5, "turkcell_numbers_count" => 0, "vodafone_numbers_count" => 5, "avea_numbers_count" => 0, "total_credit" => 5, "0" => ""
# }
NOT: 4'den fazla numaraya mesaj gönderilirken dönen cevapta 4'den sonraki numaralar "..."
olarak kısaltılır.
require 'globalsms'
sms = GlobalSMS::SMS.new(init_args)
args = [
{ numbers: "5493666154",
text: "Mesaj Metni",
turkish_character: "1"
},
{ numbers: "5493666155",
text: "Bir Başka Mesaj Metni",
turkish_character: "1"
},
{ numbers: "5493666156",
text: "Ve Bir Başka Mesaj Metni",
turkish_character: "1"
},
{ numbers: "5493666157",
text: "Ve De Bir Başka Mesaj Metni",
turkish_character: "1"
}
]
sms.multi_send(args)
# {
# "result" => true, "results" => [{
# "result" => true, "message_id" => "239928", "numbers" => ["5493666154"], "total_numbers_count" => 1, "turkcell_numbers_count" => 0, "vodafone_numbers_count" => 1, "avea_numbers_count" => 0, "total_credit" => 1, "0" => ""
# }, {
# "result" => true, "message_id" => "239929", "numbers" => ["5493666155"], "total_numbers_count" => 1, "turkcell_numbers_count" => 0, "vodafone_numbers_count" => 1, "avea_numbers_count" => 0, "total_credit" => 1, "0" => ""
# }, {
# "result" => true, "message_id" => "239930", "numbers" => ["5493666156"], "total_numbers_count" => 1, "turkcell_numbers_count" => 0, "vodafone_numbers_count" => 1, "avea_numbers_count" => 0, "total_credit" => 1, "0" => ""
# }, {
# "result" => true, "message_id" => "239931", "numbers" => ["5493666157"], "total_numbers_count" => 1, "turkcell_numbers_count" => 0, "vodafone_numbers_count" => 1, "avea_numbers_count" => 0, "total_credit" => 1, "0" => ""
# }]
# }
İleri tarihli(gelecekte) gönderilmesi planlanmış bir SMS-in gönderimini iptal etmek için kullanılır. Argüman olarak tek
bir veya birden fazla message_id
alabilir.
require 'globalsms'
sms = GlobalSMS::SMS.new(init_args)
sms.cancel(3614893)
# {"result":true,"message_id":"3614893","credit_change":"1"}
Gönderilmiş mesajlara ait raporları almak için fonksiyonlara argüman olarak tek bir çağrı için message_id
, birden fazla çağrı için message_id
leri içeren bir array verilir. Fonksiyon geriye hash döndürür.
Nesne üretme:
Rapor görüntüleme işlemi yapmak üzere GlobalSMS:REPORT sınıfından bir nesne üretirken argüman olarak hash verilir. Örneğin,
init_args = {
api_key: "api-key",
api_secret: "api-secret"
}
report = GlobalSMS::REPORT.new(init_args)
require 'globalsms'
report = GlobalSMS::REPORT.new(init_args)
report.message(239916, limit=250)
# {
# "result" => true, "data" => [{
# "id" => "34163245", "created_datetime" => "2015-05-05 14:54:32", "gsm_no" => "5493666154", "gsm_operator" => "2", "sent_status" => "2", "sent_datetime" => "2015-05-05 14:54:37", "out_status" => "255", "out_datetime" => "2015-05-05 14:54:37", "report_message" => "COMMAND_ERROR", "name" => nil
# }], "totals" => {
# "total_number" => "1", "message_id" => "239916", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "paid_coin" => "1"
# }
# }
NOT: limit
değişkeni 250 ile ilklenmiştir.
Argüman verilmezse, ön tanımlı olarak en son yollanan (1) mesaja ait raporu döndürür.
require 'globalsms'
report = GlobalSMS::REPORT.new(init_args)
report.last_n(10)
# {
# "result" => true, "data" => [{
# "id" => "239931", "created_datetime" => "2015-05-05 15:00:52", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Ve De Bir Başka Mesaj Metni", "time_to_send" => "2015-05-05 15:00:52"
# }, {
# "id" => "239930", "created_datetime" => "2015-05-05 15:00:52", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Ve Bir Başka Mesaj Metni", "time_to_send" => "2015-05-05 15:00:52"
# }, {
# "id" => "239929", "created_datetime" => "2015-05-05 15:00:52", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Bir Başka Mesaj Metni", "time_to_send" => "2015-05-05 15:00:52"
# }, {
# "id" => "239928", "created_datetime" => "2015-05-05 15:00:52", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Mesaj Metni", "time_to_send" => "2015-05-05 15:00:52"
# }, {
# "id" => "239926", "created_datetime" => "2015-05-05 14:59:06", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Ve De Bir Başka Mesaj Metni", "time_to_send" => "2015-05-05 14:59:06"
# }, {
# "id" => "239925", "created_datetime" => "2015-05-05 14:59:06", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Ve Bir Başka Mesaj Metni", "time_to_send" => "2015-05-05 14:59:06"
# }, {
# "id" => "239924", "created_datetime" => "2015-05-05 14:59:06", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Bir Başka Mesaj Metni", "time_to_send" => "2015-05-05 14:59:06"
# }, {
# "id" => "239923", "created_datetime" => "2015-05-05 14:59:06", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Mesaj Metni", "time_to_send" => "2015-05-05 14:59:06"
# }, {
# "id" => "239922", "created_datetime" => "2015-05-05 14:57:10", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "4", "pieces" => "1", "total_sent" => "4", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Mesaj Metni", "time_to_send" => "2015-05-05 14:57:10"
# }, {
# "id" => "239916", "created_datetime" => "2015-05-05 14:54:32", "originator" => "DENEME", "originator_id" => "1616", "total_num" => "1", "pieces" => "1", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Mesaj Metni", "time_to_send" => "2015-05-05 14:54:32"
# }], "totals" => {
# "total_message" => "33", "total_reached" => "21", "total_sms" => "42"
# }
# }
Bu fonsiyon argüman olarak hash alır ve sonuç olarak hash döner. 'limit' değeri sorgu cevabının boyutunu ayarlar. Azami değeri 200-dür. 200-den fazlası için cevap dönmez veya 20 adet döner. Bu sebeple 'start' değeri kullanılarak sayfalama yapılır. Örneğin 'limit' değeri 100 ve 'start' değeri 100 ise 2. sayfa(100 ve 200 arası değerler) döner. 'limit' ve 'start' değerleri girilmezse ilk 200 kayıt listelenir.
Ön tanımlı değerler:
start_time: "00:00:00"
end_time: "23:59:59"
limit: "200"
start: "0"
Kullanıcının gireceği değerler:
start_date: "2015-05-06"
end_date: "2015-05-06"
require 'globalsms'
report = GlobalSMS::REPORT.new(init_args)
args = {
start_date: "2015-05-06",
end_date: "2015-05-06",
start_time: "20:21:20",
end_time: "20:22:00"
}
report.between(args)
# {
# "result" => true, "data" => [{
# "id" => "243408", "created_datetime" => "2015-05-06 20:21:30", "originator" => "DENEME", "originator_id" => "1649", "total_num" => "2", "pieces" => "1", "total_sent" => "2", "num_reached" => "2", "num_not_reached" => "0", "num_waiting_for_time" => "0", "text" => "Mesaj Metni", "time_to_send" => "2015-05-06 20:21:30"
# }], "totals" => {
# "total_message" => "1", "total_reached" => "2", "total_sms" => "2"
# }
# }
Nesne üretme:
Bilgi alma işlemi yapmak üzere GlobalSMS:INFO sınıfından bir nesne üretirken argüman olarak hash verilir. Örneğin,
init_args = {
api_key: "api-key",
api_secret: "api-secret"
}
info = GlobalSMS::INFO.new(init_args)
Bu fonksiyon argüman almaz.
require 'globalsms'
info = GlobalSMS::INFO.new(init_args)
info.originator_list
# {
# "result" => true, "data" => [{
# "originator_id" => "1616", "title" => "DENEME", "created_datetime" => "2015-04-27 20:25:39", "updated_datetime" => "2015-04-27 20:25:44", "approved_datetime" => "2015-04-27 20:25:44", "description" => "", "status" => "1"
# }]
# }
require 'globalsms'
info = GlobalSMS::INFO.new(init_args)
info.user_info
# {
# "result" => true, "data" => {
# "firstname" => "Salih", "lastname" => "Özdemir", "username" => "salihozd", "email" => "me@salihozdemir.net", "image" => nil, "credit" => "8"
# }
# }
Bu Gem, GlobalHaberlesme.com dan bağımsız bir geliştirici tarafından oluşturulmuştur.
Geliştirmeye yapacağınız öneri ve katkılarınızı bekliyoruz.
Bu Gem, MIT Lisansı ile korunur.
Orijinal API Dokümantasyonu http://uye.globalhaberlesme.com/uploads/api_user.pdf
RubyGems https://rubygems.org/gems/globalsms