class NeteaseSms::Client
Attributes
access_key_id[R]
access_key_secret[R]
Public Class Methods
new(access_key_id, access_key_secret)
click to toggle source
# File lib/netease_sms.rb, line 17 def initialize(access_key_id, access_key_secret) @access_key_id = access_key_id @access_key_secret = access_key_secret end
Public Instance Methods
check_status(sendid)
click to toggle source
# File lib/netease_sms.rb, line 32 def check_status(sendid) host = 'https://api.netease.im/sms/querystatus.action' http_post(host, { sendid: sendid }) end
send_sms(template_id, cellphones, params)
click to toggle source
# File lib/netease_sms.rb, line 22 def send_sms(template_id, cellphones, params) host = 'https://api.netease.im/sms/sendtemplate.action' http_post(host, { templateid: template_id, mobiles: cellphones.to_json, params: params.to_json }) end
Private Instance Methods
headers()
click to toggle source
# File lib/netease_sms.rb, line 56 def headers nonce = SecureRandom.uuid cur_time = Time.now.to_i checksum = Digest::SHA1.hexdigest(self.access_key_secret + nonce + "#{cur_time}") headers = { "nonce"=> nonce, "AppKey"=> self.access_key_id, "CurTime"=> "#{cur_time}", "CheckSum"=> checksum, "Content-Type"=> "application/x-www-form-urlencoded;charset=utf-8" } end
http_post(url, data)
click to toggle source
# File lib/netease_sms.rb, line 43 def http_post(url, data) uri = URI.parse(url) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE req = Net::HTTP::Post.new(uri.path, initheader = headers) puts headers puts data req.set_form_data(data) resp = https.request(req) puts resp.body end