PHP实现微信模板消息发送给指定用户
使用公众号的模板消息功能,必须是认证过的服务号,需要发送微信号的openid,同一微信号在不同公众号下的openid是不同的,在公众号下是唯一的,获取不到微信号
进入公众平台 功能->模板消息,如果没有,添加功能组件,添加模板消息
进入模板消息,在模板库中会有官方提供的一些公共样式,找到适合的添加,也可以申请自己的,要通过微信官方的审核
进入我的模板,拿到对应模板ID,
发送消息的接口,以 json的形式发送
以审核通知为例,json格式如下
{ "touser": "这里是接收用户的OPENID", "template_id": "这里是模板ID", "url": "这里是点击详情后跳转的网址", "data": { "first": { "value": "您的提交内容已审核", "color": "#173177" }, "keyword1": { "value": "审核的内容", "color": "#FF0000" }, "keyword2": { "value": "审核成功", "color": "#173177" }, "remark": { "value": "其它提示", "color": "blue" } } }
php 数组转json发送请求
public function send($openid){ $tokens //获取token $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$tokens; $params = [ 'touser' =>$openid,//接收消息的openid 'template_id' => 'kheYi0eBdV-zDdO1qk216o9e_wTeRLA4wC-v2AS66p4',//模板ID 'url' => '', //点击详情后的URL可以动态定义 'data'=>[ 'first'=>[ 'value'=>'您的提交内容已审核', 'color'=>'#173177' ], 'keyword1'=>[ 'value'=>'新增广告审核', 'color'=>'#173177' ], 'keyword2'=>[ 'value'=>'审核已通过', 'color'=>'#173177' ], 'remark'=>[ 'value'=>'', 'color'=>'#173177' ] ] ]; $data = json_encode($params,JSON_UNESCAPED_UNICODE); $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); curl_exec($curl); curl_close($curl); }