订阅通知接口
# 开放接口
开发者可调用接口完成模板选用和消息下发,同时可以授权给第三方开发。
1 addTemplate 选用模板
2 deleteTemplate 删除模板
3 getCategory 获取公众号类目
4 getPubTemplateKeyWordsById 获取模板中的关键词
5 getPubTemplateTitleList 获取所属类目的公共模板
6 getTemplateList 获取私有模板列表
7 send 发送订阅通知
同时可以接收事件推送
# addTemplate选用模板
从公共模板库中选用模板,到私有模板库中
请求地址
POST https://api.weixin.qq.com/wxaapi/newtmpl/addtemplate?access_token=ACCESS_TOKEN
请求参数
返回值
Object
返回的 JSON 数据包
errcode 的合法值
请求数据示例
{
"tid":"401",
"kidList":[1,2],
"sceneDesc": "测试数据"
}
返回数据示例
{
"errmsg": "ok",
"errcode": 0,
"priTmplId": "9Aw5ZV1j9xdWTFEkqCpZ7jWySL7aGN6rQom4gXINfJs"
}
# deleteTemplate删除模板
删除私有模板库中的模板
请求地址
POST https://api.weixin.qq.com/wxaapi/newtmpl/deltemplate?access_token=ACCESS_TOKEN
请求参数
返回值
Object
返回的 JSON 数据包
errcode 的合法值
请求数据示例
{
"priTmplId": "wDYzYZVxobJivW9oMpSCpuvACOfJXQIoKUm0PY397Tc"
}
返回数据示例
{
"errmsg": "ok",
"errcode": 0
}
# getCategory获取公众号类目
获取公众号所属类目,可用于查询类目下的公共模板
请求地址
GET https://api.weixin.qq.com/wxaapi/newtmpl/getcategory?access_token=ACCESS_TOKEN
请求参数
返回值
Object
返回的 JSON 数据包
data 的结构
errcode 的合法值
请求数据示例
{
}
返回数据示例
{
"errcode": 0,
"errmsg": "ok",
"data": [
{
"id": 616,
"name": "公交"
}
]
}
# getPubTemplateKeyWordsById获取模板中的关键词
获取公共模板下的关键词列表
请求地址
GET https://api.weixin.qq.com/wxaapi/newtmpl/getpubtemplatekeywords?access_token=ACCESS_TOKEN
请求参数
返回值
Object
返回的 JSON 数据包
data 的结构
errcode 的合法值
请求数据示例
参数在 URL 的 query 里面,例如: https://api.weixin.qq.com/wxaapi/newtmpl/getpubtemplatekeywords?access_token=ACCESS_TOKEN&tid=99
{
"tid": "99"
}
返回数据示例
{
"errcode": 0,
"errmsg": "ok",
"data": [
{
"kid": 1,
"name": "物品名称",
"example": "名称",
"rule": "thing"
}
]
}
# getPubTemplateTitleList获取类目下的公共模板
获取类目下的公共模板,可从中选用模板使用
请求地址
GET https://api.weixin.qq.com/wxaapi/newtmpl/getpubtemplatetitles?access_token=ACCESS_TOKEN
请求参数
返回值
Object
返回的 JSON 数据包
data 的结构
errcode 的合法值
请求数据示例
参数在 URL 的 query 里面,例如:https://api.weixin.qq.com/wxaapi/newtmpl/getpubtemplatetitles?access_token=ACCESS_TOKEN&ids="2,616"&start=0&limit=1
{
"ids": "2,616",
"start": 0,
"limit": 1
}
返回数据示例
{
"errcode": 0,
"errmsg": "ok",
"count": 55,
"data": [
{
"tid": 99,
"title": "付款成功通知",
"type": 2,
"categoryId": "616"
}
]
}
# getTemplateList获取私有模板列表
获取私有的模板列表
请求地址
GET https://api.weixin.qq.com/wxaapi/newtmpl/gettemplate?access_token=ACCESS_TOKEN
请求参数
返回值
Object
返回的 JSON 数据包
data 的结构
errcode 的合法值
请求数据示例
{
}
返回数据示例
{
"errcode": 0,
"errmsg": "ok",
"data": [
{
"priTmplId": "9Aw5ZV1j9xdWTFEkqCpZ7mIBbSC34khK55OtzUPl0rU",
"title": "报名结果通知",
"content": "会议时间:{{date2.DATA}}\n会议地点:{{thing1.DATA}}\n",
"example": "会议时间:2016年8月8日\n会议地点:TIT会议室\n",
"type": 2
}
]
}
# send发送订阅通知
发送订阅通知
请求地址
POST https://api.weixin.qq.com/cgi-bin/message/subscribe/bizsend?access_token=ACCESS_TOKEN
请求参数
page 和 miniprogram 同时不填,无跳转;page 和 miniprogram 同时填写,优先跳转小程序;
返回值
Object
返回的 JSON 数据包
errcode 的合法值
请求数据示例
{
"touser": "OPENID",
"template_id": "TEMPLATEID",
"page": "mp.weixin.qq.com",
"miniprogram":{
"appid":"APPID",
"pagepath":"index?foo=bar"
},
"data": {
"name1": {
"value": "广州腾讯科技有限公司"
},
"thing8": {
"value": "广州腾讯科技有限公司"
},
"time7": {
"value": "2019年8月8日"
}
}
}
返回数据示例
{
"errcode": 0,
"errmsg": "ok",
}
订阅通知参数值内容限制说明
符号表示除中文、英文、数字外的常见符号,不能带有换行等控制字符。 时间格式支持HH:MM:SS或者HH:MM。 日期包含年月日,为y年m月d日,y年m月、m月d日格式,或者用‘-’、‘/’、‘.’符号连接,如2018-01-01,2018/01/01,2018.01.01,2018-01,01-01。 每个模板参数都会以类型为前缀,例如第一个数字模板参数为number01.DATA,第二个为number02.DATA
例如,模板的内容为
姓名: {{name01.DATA}}
金额: {{amount01.DATA}}
行程: {{thing01.DATA}}
日期: {{date01.DATA}}
则对应的json为
{
"touser": "OPENID",
"template_id": "TEMPLATE_ID",
"page": "index",
"data": {
"name01": {
"value": "某某"
},
"amount01": {
"value": "¥100"
},
"thing01": {
"value": "广州至北京"
},
"date01": {
"value": "2018-01-01"
}
}
}
# 事件推送
用户操作订阅通知弹窗
场景:用户在图文等场景内订阅通知的操作
SubscribeStatusString 的合法值
PopupScene 的合法值
XML 示例
<xml>
<ToUserName><![CDATA[gh_123456789abc]]></ToUserName>
<FromUserName><![CDATA[otFpruAK8D-E6EfStSYonYSBZ8_4]]></FromUserName>
<CreateTime>1610969440</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe_msg_popup_event]]></Event>
<SubscribeMsgPopupEvent>
<List>
<TemplateId><![CDATA[VRR0UEO9VJOLs0MHlU0OilqX6MVFDwH3_3gz3Oc0NIc]]></TemplateId>
<SubscribeStatusString><![CDATA[accept]]></SubscribeStatusString>
<PopupScene>2</PopupScene>
</List>
<List>
<TemplateId><![CDATA[9nLIlbOQZC5Y89AZteFEux3WCXRRRG5Wfzkpssu4bLI]]></TemplateId>
<SubscribeStatusString><![CDATA[reject]]></SubscribeStatusString>
<PopupScene>2</PopupScene>
</List>
</SubscribeMsgPopupEvent>
</xml>
用户管理订阅通知
场景:用户在服务通知管理页面做通知管理时的操作
SubscribeStatusString 的合法值
XML 示例
<xml>
<ToUserName><![CDATA[gh_123456789abc]]></ToUserName>
<FromUserName><![CDATA[otFpruAK8D-E6EfStSYonYSBZ8_4]]></FromUserName>
<CreateTime>1610969440</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe_msg_change_event]]></Event>
<SubscribeMsgChangeEvent>
<List>
<TemplateId><![CDATA[VRR0UEO9VJOLs0MHlU0OilqX6MVFDwH3_3gz3Oc0NIc]]></TemplateId>
<SubscribeStatusString><![CDATA[reject]]></SubscribeStatusString>
</List>
</SubscribeMsgChangeEvent>
</xml>
发送订阅通知
场景:调用 bizsend 接口发送通知
*失败仅包含因异步推送导致的系统失败
XML 示例
<xml>
<ToUserName><![CDATA[gh_123456789abc]]></ToUserName>
<FromUserName><![CDATA[otFpruAK8D-E6EfStSYonYSBZ8_4]]></FromUserName>
<CreateTime>1610969468</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe_msg_sent_event]]></Event>
<SubscribeMsgSentEvent>
<List>
<TemplateId><![CDATA[VRR0UEO9VJOLs0MHlU0OilqX6MVFDwH3_3gz3Oc0NIc]]></TemplateId>
<MsgID>1700827132819554304</MsgID>
<ErrorCode>0</ErrorCode>
<ErrorStatus><![CDATA[success]]></ErrorStatus>
</List>
</SubscribeMsgSentEvent>
</xml>