微信公众平台新增“一次性订阅消息”接口
恩威科技&天府云创&融合创新7月25日消息 今天凌晨,微信公众平台为开发者们带来了全新的功能——新增“一次性订阅消息”接口,根据微信官方介绍,公众平台现开放一次性订阅消息接口将更方便开发者与微信用户之间建立联系,提供更好的服务。

详情如下▼
App内,在需要提醒用户的场景中,例如比赛开始,投诉处理反馈等。用户可订阅一条微信内的提醒消息。在事件发生时,用户可在微信内服务通知内收到一条消息通知。
公众号和微信内网页,用户也可订阅消息提醒。在未关注公众号时,可在服务通知中收到一条消息提醒,如果已关注公众号,则可以在公众号会话内收到消息提醒。
点此了解
一次性订阅消息
开发者可以通过一次性订阅消息授权让微信用户授权第三方应用(接入说明)或公众号,获得发送一次订阅消息给到授权微信用户的机会。授权微信用户可以不需要关注公众号。微信用户每授权一次,开发者可获得一次下发消息的权限。
公众号或网页使用一次性订阅消息流程如下:
第一步:需要用户同意授权,获取一次给用户推送一条订阅模板消息的机会
在确保微信公众帐号拥有订阅消息授权的权限的前提下(已认证的公众号即有权限,可登陆公众平台在接口权限列表处查看),引导用户在微信客户端打开如下链接:
https://mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid=wxaba38c7f163da69b&scene=1000&template_id=1uDxHNXwYQfBmXOfPJcjAS3FynHArD8aWMEFN
RGSbCc& redirect_url=http%3a%2f%2fsupport.qq.com&reserved=test#wechat_redirect
参数说明
| 参数 | 是否必须 | 说明 |
| action | 是 | 直接填get_confirm即可 |
| appid | 是 | 公众号的唯一标识 |
| scene | 是 | 重定向后会带上scene参数,开发者可以填0-10000的整形值,用来标识订阅场景值 |
| template_id | 是 | 订阅消息模板ID,登录公众平台后台,在接口权限列表处可查看订阅模板ID |
| redirect_url | 是 | 授权后重定向的回调地址,请使用UrlEncode对链接进行处理 |
| reserved | 否 | 用于保持请求和回调的状态,授权请后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验,开发者可以填写a-zA-Z0-9的参数值,最多128字节 |
| #wechat_redirect | 是 | 无论直接打开还是做页面302重定向时,必须带此参数 |
用户同意或取消授权后会返回相关信息
如果用户点击同意或取消授权,页面将跳转至:
redirect_url/?openid=OPENID&template_id=TEMPLATE_ID&action=ACTION&scene=SCENE
参数说明
| 参数 | 说明 |
| openid | 用户唯一标识,只在用户确认授权时才会带上 |
| template_id | 订阅消息模板ID |
| action | 用户点击动作,”confirm”代表用户确认授权,”cancel”代表用户取消授权 |
| scene | 订阅场景值 |
| reserved | 请求带入原样返回 |
第二步:通过API推送订阅模板消息给到授权微信用户
接口请求说明
http请求方式: post
https://api.weixin.qq.com/cgi-bin/message/template/subscribe?access_token=ACCESS_TOKEN
post数据示例
{
“touser”:”OPENID”,
“template_id”:”TEMPLATE_ID”,
“url”:”URL”,
“scene”:”SCENE”,
“title”:”TITLE”,
“data”:{
“content”:{
“value”:”VALUE”,
“color”:”COLOR”
}
}
}
参数说明
| 参数 | 是否必须 | 说明 |
| touser | 是 | 填接收消息的用户openid |
| template_id | 是 | 订阅消息模板ID |
| url | 否 | 点击消息跳转的链接,需要有ICP备案 |
| scene | 是 | 订阅场景值 |
| title | 是 | 消息标题,15字以内 |
| data | 是 | 消息正文,value为消息内容,color为颜色,200字以内 |
返回说明
在调用接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{
“errcode”:0,
“errmsg”:”ok”
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
