微信小程序发送模板消息
2018-02-09 16:41
751 查看
微信小程序发送模板消息,跟公众号发模板消息有区别,小程序不存在订阅(关注),所以没办法通过对话窗口给用户推送消息,小程序下发模板消息统一通过微信“服务通知”发送,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/09/37e74269b3dcd5d025dc4b01e4b691f8)
但是其实现流程跟公众号发模板消息一样,步骤如下:
1. 获取 access_token
access_token 是全局唯一接口调用凭据,开发者调用各接口时都需使用 access_token,需妥善保存。做过微信开发和公众号开发,这都是最基本的,这里获取方法跟公众号获取 access_token 一模一样,方法见: 获取微信基础接口凭证Access_token
2. 添加模板消息
跟公众号一样,需要现在小程序后台添加模板消息,然后获取到对应的模板消息ID。
3. 发送模板消息
根据模板消息ID对应的模板消息关键字,在后端构造消息内容,在用户提交表单或者支付的时候,获取到form_id(表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id),然后端将消息发送出去。消息参数如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/09/79ef5d14d789b1d68c04daebcb9166a5)
代码实现示例如下: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;
}
但是其实现流程跟公众号发模板消息一样,步骤如下:
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;
}
相关文章推荐
- 【微信小程序】发送消息模板教程
- 小程序模板消息发送(微信推送)
- 微信小程序 发送模板消息
- 微信小程序之 PHP 发送模板消息
- 原创:【微信小程序】发送消息模板教程(后台以PHP示例)
- 【微信小程序】发送消息模板教程
- 微信小程序之发送模板消息(通过openid推送消息给用户)
- 微信小程序 无限formId 无限发送模板消息 保存formId
- 微信小程序——发送模板消息
- 简单收集微信小程序formId,解决发送模板消息不够用的问题
- 微信小程序发送模板消息
- 微信小程序,公众号发送模板消息(java)
- 微信小程序之定时发送模板消息
- 微信小程序发送模板消息请求
- 微信小程序-发送模板消息(C#)
- 微信小程序发送模板消息
- C#开发之微信小程序发送模板消息功能
- 微信公众账号开发-发送模板消息
- 小程序支付后发送模板消息
- 微信模板消息发送