主动给用户发消息-微信公众号模版消息
2017-04-26 13:52
169 查看
微信公众号模版消息最大的作用就是用户在平台上提交订单或发生其它行为时,平台可以给用户发送简要的交易信息,且公众平台主动给用户发送消息目前最多的就是1.模版消息;2.客服消息。
其次,发送模版消息必须要用户的openid,获取教程可参考之前的获取用户信息篇
请根据自身业务,适配上述代码。详细参数解释看下面
出处:blog.csdn.NET/afanxingzhou
公众号配置
首先申请一个需要的模版消息其次,发送模版消息必须要用户的openid,获取教程可参考之前的获取用户信息篇
后台代码
我的模版消息是用来提醒交易状态的,故以网站中以交易业务流程为例万能调用
//微信通知 $id = get_order_id($out_trade_no);//获取订单的ID $uid = get_uid_fromorderid($id);//获取该订单的用户ID-uid send_template_msg( get_user_openid($uid),//获取已保存的用户openid C('DOMAIN').U('wap/order/detail',array('id'=>$out_trade_no)),//订单详情页完整域名 "#FF0000",//特殊语句的自定义16进制颜色 "亲爱的".get_name($uid).",您的订单已提交,出货ing...", "已支付,等待发货", get_order_total($id),//该笔订单总价 "支付宝", $out_trade_no );
请根据自身业务,适配上述代码。详细参数解释看下面
send_template_msg方法
/** * 发送模版数据,仅限公众平台关注用户使用 * @param string $openid:用户openid * @param string $url:点击后跳转地址 * @param string $color:需要变更的颜色,如#FF0000 * @param string $first:第一句话,如亲爱的xx顾客 * @param unknown $status:订单状态,如已提交并支付 * @param unknown $totalprice:总价 * @param string $paytype:支付方式,默认微信支付 * @param string $remark:标注,订单号等 * @return mixed */ function send_template_msg($openid,$url="",$color="#000000",$first,$status,$totalprice,$paytype,$remark=""){ $data = teml($openid,$url,$color,$first,$status,$totalprice,$paytype,$remark); $basetoken = getAccesstoken(); //获取基础token方法参看之前的微信篇博客 $urls = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$basetoken; $res = http_request($urls,urldecode($data)); return json_decode($res,true);//array }
//模版原始数据组装 function teml($openid,$url="",$color="#000",$first="",$status,$totalprice,$paytype="微信支付",$remark="祝您生活愉快!"){ $template = array( 'touser' => $openid, 'template_id' => "Cy6RGHhEui2woL0vmus45hYwDUFsrlVsGRpafdtbppI",//模版id 'url'=>$url, 'topcolor'=>"#7B68EE", 'data'=>array( 'first' => array( 'value' => urlencode($first), 'color' => $color, ), 'keyword1' => array( 'value' => urlencode($status), 'color' => $color, ), 'keyword2' => array( 'value' => date("Y-m-d H:i:s",NOW_TIME), 'color' => "#000000", ), 'keyword3' => array( 'value' => urlencode("点击详情查看"), 'color' => "#000000", ), 'keyword4' => array( 'value' => $totalprice.'元', 'color' => "#000000", ), 'keyword5' => array( 'value' => urlencode($paytype), 'color' => "#000000", ), 'remark' => array( 'value' => urlencode($remark), 'color' => "#000000", ) ) ); return json_encode($template); }
/** * * @param $url 请求地址 * @param string $data 请求数据post时使用 * @return 数组 */ function http_request($url,$data=null){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if(!empty($data)){ curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; }
结果图
出处:blog.csdn.NET/afanxingzhou
相关文章推荐
- yershop商城系统Thinkphp开发(四)——微信篇3:主动给用户发消息-微信公众号模版消息
- php微信公众号模板消息主动推送
- 用spring搭建微信公众号开发者模式下服务器处理用户消息的加密传输构架(java)
- 微信公众号消息加解密方式用于接收用户发来的消息并做回应
- Java模拟登录微信平台,主动推送消息给用户,自动绑定url、token等
- C#微信公众号全攻略(5)--群发消息时的openid对应的用户是谁呢
- 微信公众号开发(一、接收用户消息自动回复)
- 微信公众号被动回复用户消息
- php实现微信公众号主动推送消息
- C#微信公众号接口开发,灵活利用网页授权、带参数二维码、模板消息,提升用户体验之完成用户绑定个人微信及验证码获取
- 手把手教学java微信公众号模版消息开发
- 微信公众号发送模版消息
- php简陋版实现微信公众号主动推送消息
- MSN机器人读取网站api实现主动推送消息给网站用户
- php实现微信公众号主动推送消息
- zabbix 布署实践【6 使用微信公众号-消息模版推送告警】
- java实现微信公众号发送模版消息
- asp.net mvc 获取微信公众号用户输入的消息
- php实现微信公众号主动推送消息
- 微信主动推送消息给用户