Class: Mobak::Sender

Inherits:
Object
  • Object
show all
Defined in:
lib/mobak/sender.rb

Class Method Summary collapse

Class Method Details

.send_sms(options = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/mobak/sender.rb', line 5

def self.send_sms(options={})

  uri = URI("http://client.mobak.ru/api/messages/xml")

  xml = '<?xml version="1.0" encoding="utf-8"?>'
  xml += '<request uid="{uid}" sender="{sender}">'
  xml += '<security><login value="{login}"/><sign value="{signature}" /></security>'
  xml += '<message><text>{message}</text><abonent phone="{phone}"/></message></request>'

  md5 = Digest::MD5.new
  md5.update options[:uid] + config.password
  h = md5.hexdigest

  xml = xml.sub('{uid}', options[:uid])
  xml = xml.sub('{login}', config.)
  xml = xml.sub('{signature}', h)
  xml = xml.sub('{sender}', options[:sender])
  xml = xml.sub('{message}', options[:message])
  xml = xml.sub('{phone}', options[:phone])

  # puts xml

  Net::HTTP.start(uri.host, uri.port) do |http|
    request = Net::HTTP::Post.new uri
    request.set_form_data('xml' => xml)

    response = http.request request

    response.body
  end

end