ThinkPHP3.2.3发送微信模板消息
一、开通模板消息功能
所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;
需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
在所选择行业的模板库中选用已有的模板进行调用;
每个账号可以同时使用25个模板。
当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。【2014年11月18日将接口调用频率从默认的日1万次提升为日10万次,可在MP登录后的开发者中心查看】。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。
二、选择模板
根据平台业务选择相应模板例如:提现成功提示模板
三、调用模板,发送消息
1、将所有业务模板配置ID配置到配置文件config.php
'TMPLMSG_ID' => array( 'withdraw'=>'jI41Jdc4nqiXcQkmDihK26YmsHjzIee0CJtm-tEq-RQ', //提现成功通知模板 ),
2、将调用发送消息写到公用方法文件,方便统一调用
/** * 发送微信消息 * @param $openId 用户OPENID * @param $template_id 模板ID * @param $url 详细链接 * @param $data 模板数据 */ function sendWxMessage($openId,$template_id,$url,$data){ vendor('Wxshare.jssdk'); $jssdk = new \JSSDK(C('WX_APPID'), C('WX_APPSECRET')); $access_token = $jssdk->getAccessToken(); $content = array('touser'=>$openId, 'template_id'=>$template_id, 'url'=>$url, 'data'=>$data); request('https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$access_token,json_encode($content)); }
3、在业务中调用发送消息方法
$data = array('first'=>array('value'=>'您的提现已成功处理,请关注“微信支付”入账消息,或到微信零钱中查收'), 'money'=>array('value'=>$order['order_price'].'元'), 'timet'=>array('value'=>date('Y-m-d H:i:s',time()))); sendWxMessage(session('wx_openid'),C('TMPLMSG_ID.withdraw'),C('YOU_OFFICIAL_WEBSITE').'/You/My/mybilllist.html',$data);