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.login)
xml = xml.sub('{signature}', h)
xml = xml.sub('{sender}', options[:sender])
xml = xml.sub('{message}', options[:message])
xml = xml.sub('{phone}', options[:phone])
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
|