class Eurus::WeiboRedEnvelope

Constants

ACTION

Public Class Methods

md5_with_partner_key(params,key) click to toggle source
# File lib/eurus-weibo-commercial.rb, line 82
def self.md5_with_partner_key(params,key)
  str = params.sort.map { |item| item.join('=') }.join('&')
  str << "#{key}"
  Digest::MD5.hexdigest(str)
end
new(key="") click to toggle source
# File lib/eurus-weibo-commercial.rb, line 38
def initialize(key="")
  @key = key
end

Public Instance Methods

red_envelope_template(opt="add",params) click to toggle source

params = {

title: "test-tpl",
firm_id: "you firm id from weibo",
show_id: "you id you wanna display",
share_info: "hello world",
share_url: "http://eurus.cn"

}

# File lib/eurus-weibo-commercial.rb, line 48
def red_envelope_template(opt="add",params)
  # opt includes add query update
  if WeiboRedEnvelope::ACTION.include? opt
    uri = URI "http://hb.e.weibo.com/v2/bonus/c/set/#{opt}"
    sign = self.class.md5_with_partner_key(params, @key)
    req = Net::HTTP::Post.new(uri)
    req.set_form_data(params.merge(sign: sign,sign_type: 'md5'))
    res = Net::HTTP.start(uri.hostname, uri.port) do |http|
      http.request(req)
    end
    return JSON.parse res.body
  else
    return "Invalid Operation Type"
  end
end
send_red_envelope(params) click to toggle source

params = {

out_order_id: "",
tpl_id: "",
amount: "",
uid: ""

}

# File lib/eurus-weibo-commercial.rb, line 70
def send_red_envelope(params)
  uri = URI "http://hb.e.weibo.com/v2/bonus/c/create"
  sign = self.class.md5_with_partner_key(params, @key)
  req = Net::HTTP::Post.new(uri)
  req.set_form_data(params.merge(sign: sign,sign_type: 'md5'))

  res = Net::HTTP.start(uri.hostname, uri.port) do |http|
    http.request(req)
  end
  return JSON.parse res.body
end