7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/wechat_template_message/sender.rb', line 7
def self.template_send access_token, openid, template_id, url, miniprogram_data, data
uri = URI.parse("#{WechatTemplateMessage.server}/cgi-bin/message/template/send?access_token=#{access_token}")
req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
req.body = {
"touser": openid,
"template_id": template_id,
"url": url,
"miniprogram": miniprogram_data,
"data": data
}.to_json.to_s
if WechatTemplateMessage.debug_mode && WechatTemplateMessage.logger
WechatTemplateMessage.logger.debug "Sending wechat template message to uri #{uri} with body #{req.body}..."
end
http.request req
end
if WechatTemplateMessage.debug_mode && WechatTemplateMessage.logger
WechatTemplateMessage.logger.debug "Get template message response status: #{res.code}, body: #{res.body}"
end
json = JSON.parse res.body
successful = res.is_a?(Net::HTTPSuccess) && json['errcode'] == 0
WechatTemplateMessage::Result.new(successful, json)
end
|