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