您的位置:首页 > 移动开发 > 微信开发

微信小程序发送模板消息

2018-02-09 16:41 751 查看
微信小程序发送模板消息,跟公众号发模板消息有区别,小程序不存在订阅(关注),所以没办法通过对话窗口给用户推送消息,小程序下发模板消息统一通过微信“服务通知”发送,如下图:



但是其实现流程跟公众号发模板消息一样,步骤如下:
1. 获取 access_token
access_token 是全局唯一接口调用凭据,开发者调用各接口时都需使用 access_token,需妥善保存。做过微信开发和公众号开发,这都是最基本的,这里获取方法跟公众号获取 access_token 一模一样,方法见: 获取微信基础接口凭证Access_token

2. 添加模板消息
跟公众号一样,需要现在小程序后台添加模板消息,然后获取到对应的模板消息ID。

3. 发送模板消息
根据模板消息ID对应的模板消息关键字,在后端构造消息内容,在用户提交表单或者支付的时候,获取到form_id(表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id),然后端将消息发送出去。消息参数如下:



代码实现示例如下:function sendtpl(){
$accessToken = 'xxxxxxxxxxxxxxxxxxxxxx';
$postData = array(
"touser" =>'xxxxxxxxxxxxxxxxxxxxxx', //用户openid
"template_id" =>'xxxxxxxxxxxxxxxxxxxxxx', //模板消息ID
"page" =>'pages/index/index',
"form_id" =>'xxxxxxxxxxxxxxxxxxxxxx', //表单提交场景下,事件带上的 formId;支付场景下,为本次支付的 prepay_id
"data" =>array(
'keyword1' => array('value'=>'港荣蒸蛋糕','color'=>'#000000'),
'keyword2' => array('value'=>'您购买的的港荣蒸蛋糕已经发货,点击进入小程序查看详情','color'=>'#000000')
),
'emphasis_keyword'=>''
);
$postData = json_encode($postData,JSON_UNESCAPED_UNICODE);
$url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token={$accessToken}";
$rtn = request($url,true,'POST',$postData);

return $rtn;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: