class Alidayu::Client

Public Class Methods

new(app_key, app_secret, base_url='gw.api.taobao.com/router/rest', ssl=false) click to toggle source
# 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

Public Instance Methods

endpoint_generator(base_url, ssl) click to toggle source
# File lib/alidayu.rb, line 49
def endpoint_generator base_url, ssl
  scheme = ssl ? 'https' : 'http'
  "#{scheme}://#{base_url}"
end
generate_sign_by(params) click to toggle source
# 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) click to toggle source
# 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