Ruby ile SMS Gönder
iletimerkezi.com API'lerini kullanarak toplu sms gönderme ve raporlama işlemlerini yapabilmek için hazırlanan Ruby istemcisidir.
Bu kütüphane İrfan Subaş https://github.com/isubas/ileti_merkezi tarafından yapılmıştır. İleti Merkezi'ne vermiş olduğu bu katkı için teşekkür ediyoruz. Repoya yıldız vermeyi unutmayınız.
Kütüphanenin bütün metodlarının açıklamalarına ulaşmak ve daha detaylı dokümantasyon için https://github.com/isubas/ileti_merkezi adresine bakabilirsiniz.
Kurulum
Bu satırı Gemfile dosyasına ekleyin.
gem 'ileti_merkezi'
Ardından aşağıdaki komutu çalıştırın:
$ bundle
Veya kendiniz aşağıdaki komut ile sisteme kurabilirsiniz:
$ gem install ileti_merkezi
Kullanım
Yapılandırma
Rails uygulamanızda config/initializers/ileti_merkezi_configure.rb
dosyası oluşturarak
aşağıdaki kodları içerisine yapıştırınız.
Eğer kimlik doğrulama işlemini kullanıcı adı ve parola üzerinden yapmak istiyorsanız username ve password bilgilerini, token tabanlı yapmak istiyorsanız public_key ve secret_key bilgilerini doldurmanız gerekmektedir.
Bu dört alanda doldurulmuş ise sistem token tabanlı doğrulama yapacaktır.
public ve secret key bilgilerini https://www.iletimerkezi.com/user/preferences adresinden oluşturabilirsiniz.
IletiMerkezi.configure do |config|
# Default: https://api.iletimerkezi.com/v1'
config.endpoint = 'https://api.iletimerkezi.com/v1'
config.sender = 'FOO'
# opsiyonel
config.request_overrides = {
use_ssl: true, # default false
verify_mode: OpenSSL::SSL::VERIFY_PEER,
read_timeout: 30, # default 30
open_timeout: 30 # default 30
}
# Kimlik Doğrulama: username ve password
config.username = 'username'
config.password = 'password'
# Kimlik Doğrulama: token tabanlı
config.public_key = 'public_key'
config.secret_key = 'secret_key'
end
Veya
- Ortam değişkeleri ile yapılandırabilirsiniz. bknz: .env
IM_ENDPOINT = 'https://api.iletimerkezi.com/v1' # Default: https://api.iletimerkezi.com/v1
# Kimlik Doğrulama: username ve password
IM_USERNAME = 'username'
IM_PASSWORD = 'password'
# Kimlik Doğrulama: token tabanlı
IM_PUBLIC_KEY = 'public_key'
IM_SECRET_KEY = 'secret_key'
IM_SENDER = 'SENDER'
SMS Gönderme - (Tek Mesaj - Çoklu Alıcı)
args = {
send_datetime: '15/01/2017 12:00', # Opsiyonel
sender: 'TEST', # Opsiyonel
phones: ['0555 555 00 01', '0555 555 00 02'],
text: 'Test Mesajı'
}
# return IletiMerkezi::Response
response = IletiMerkezi.send(args)
# veya
sms = IletiMerkezi::Sms.new(args)
response = sms.send
response.code # return 200
response.body # http raw body
response.message # return status message
response.error? # return true or false
response.to_h
# return hash
{
:status => {
:code => "200",
:message => "İşlem başarılı"
},
:order => {
:id => "order_id"
}
}
SMS Gönderme (Çoklu Mesaj - Çoklu Alıcı)
args = {
send_datetime: '15/01/2017 12:00', # Opsiyonel
sender: 'TEST', # Opsiyonel
messages: [
{
text: 'Test Mesajı Bir',
phones: ['0555 555 00 01', '0555 555 00 02'],
},
{
text: 'Test Mesajı İki',
phones: ['0555 555 00 03', '0555 555 00 04'],
}
]
}
# return IletiMerkezi::Response
response = IletiMerkezi.send(args)
# veya
sms = IletiMerkezi::Sms.new(args)
response = sms.send
response.code # return 200
response.body # http raw body
response.message # return status message
response.error? # return true or false
response.to_h
# return hash
{
:status => {
:code => "200",
:message => "İşlem başarılı"
},
:order => {
:id => "order_id"
}
}