Class: Alidayu::Client
- Inherits:
-
Object
- Object
- Alidayu::Client
- Defined in:
- lib/alidayu.rb
Instance Method Summary collapse
- #endpoint_generator(base_url, ssl) ⇒ Object
- #generate_sign_by(params) ⇒ Object
-
#initialize(app_key, app_secret, base_url = 'gw.api.taobao.com/router/rest', ssl = false) ⇒ Client
constructor
A new instance of Client.
- #send_verify_sms(code, product, phones, template_code) ⇒ Object
Constructor Details
#initialize(app_key, app_secret, base_url = 'gw.api.taobao.com/router/rest', ssl = false) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/alidayu.rb', line 7 def initialize(app_key, app_secret, base_url='gw.api.taobao.com/router/rest', ssl=false) @app_key = app_key @app_secret = app_secret endpoint = endpoint_generator base_url, ssl @http_client = RestClient::Resource.new endpoint end |
Instance Method Details
#endpoint_generator(base_url, ssl) ⇒ Object
49 50 51 52 |
# File 'lib/alidayu.rb', line 49 def endpoint_generator base_url, ssl scheme = ssl ? 'https' : 'http' "#{scheme}://#{base_url}" end |
#generate_sign_by(params) ⇒ Object
43 44 45 46 47 |
# File 'lib/alidayu.rb', line 43 def generate_sign_by params sorted_params_hash = params.sort_by{|k,v| k}.to_h joind_string = sorted_params_hash.map { |k, v| "#{k}#{v}" }.join('') Digest::MD5.hexdigest("#{@app_secret}#{joind_string}#{@app_secret}").upcase end |
#send_verify_sms(code, product, phones, template_code) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/alidayu.rb', line 18 def send_verify_sms code, product, phones, template_code params = { :method => 'alibaba.aliqin.fc.sms.num.send', :app_key => @app_key, :timestamp => Time.new.strftime("%Y-%m-%d %T"), :format => 'json', :v => '2.0', :sign_method => 'md5', :sms_type => 'normal', :sms_template_code => template_code, :sms_param => "{'code':'#{code}','product':'#{product}'}", :sms_free_sign_name => '注册验证', :rec_num => phones } sign = generate_sign_by params params.merge!({:sign => sign}) res = @http_client.post params res_body = JSON.parse res.body puts res_body end |