公众号一次性订阅消息
# 公众号一次性订阅消息
说明:服务号订阅通知功能(见左侧目录“订阅通知”)开启灰度测试,公众号一次性订阅消息能力可正常使用
开发者可以通过一次性订阅消息授权让微信用户授权第三方移动应用(接入说明)或公众号,获得发送一次订阅消息给到授权微信用户的机会。授权微信用户可以不需要关注公众号。微信用户每授权一次,开发者可获得一次下发消息的权限。(注意:同一用户在同一scene场景值下的多次授权不累积下发权限,只能下发一条。若要订阅多条,需要不同scene场景值)
消息下发位置说明:对于已关注公众号的,消息将下发到公众号会话里;未关注公众号的,将下发到服务通知。
公众号或网页使用一次性订阅消息流程如下:
第一步:需要用户同意授权,获取一次给用户推送一条订阅模板消息的机会
在确保微信公众账号拥有订阅消息授权的权限的前提下(已认证的公众号即有权限,可登录公众平台在接口权限列表处查看),引导用户在微信客户端打开如下链接:
https://mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid=wxaba38c7f163da69b&scene=1000&template_id=1uDxHNXwYQfBmXOfPJcjAS3FynHArD8aWMEFNRGSbCc&redirect_url=http%3a%2f%2fsupport.qq.com&reserved=test#wechat_redirect
参数说明
用户同意或取消授权后会返回相关信息
如果用户点击同意或取消授权,页面将跳转至:
redirect_url/?openid=OPENID&template_id=TEMPLATE_ID&action=ACTION&scene=SCENE
参数说明
第二步:通过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",
"miniprogram":{
"appid":"xiaochengxuappid12345",
"pagepath":"index?foo=bar"
},
"scene":"SCENE",
"title":"TITLE",
"data":{
"content":{
"value":"VALUE",
"color":"COLOR"
}
}
}
参数说明
注:url和miniprogram都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至url。
返回说明
在调用接口后,会返回JSON数据包。正常时的返回JSON数据包示例:
{
"errcode":0,
"errmsg":"ok"
}