class WechatTemplateMessage::Sender
Public Class Methods
template_send(access_token, openid, template_id, url, miniprogram_data, data)
click to toggle source
# 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