文档:小程序订阅消息(用户通过弹窗订阅)开发指南
目录
- 步骤一:获取模板 ID
- 步骤二:小程序端获取参数
- 2.1、获取消息下发权限
- 2.2、获取登录凭证(code)
- 步骤三:后端调用接口下发订阅消息
- 3.1、获取OPENID
- 3.2、获取ACCESS_TOKEN
- 3.3、下发订阅消息
步骤一:获取模板 ID
在微信公众平台(https://mp.weixin.qq.com)手动配置获取模板 ID
步骤二:小程序端获取参数
2.1、获取消息下发权限
文档:一次性订阅消息、长期订阅消息
示例代码
const res = await wx.requestSubscribeMessage({
tmplIds: ['']
})
console.log(res)
2.2、获取登录凭证(code)
文档:接口获取登录凭证(code)
const loginRes = await wx.login()
if(loginRes.code){
console.log(loginRes.code)
}
步骤三:后端调用接口下发订阅消息
3.1、获取OPENID
使用 小程序端获取的登录凭证(code)通过服务端接口获取openid
文档:小程序登录
请求数据示例
GET https://api.weixin.qq.com/sns/jscode2session?
appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
返回数据示例
{
"openid":"xxxxxx",
"session_key":"xxxxx"
}
注意:这里和文档不一样,接口调用成功时,不会返回
unionid
、errcode
、errmsg
3.2、获取ACCESS_TOKEN
文档:获取接口调用凭据
请求数据示例
GET https://api.weixin.qq.com/cgi-bin/token?
grant_type=client_credential&appid=APPID&secret=APPSECRET
返回数据示例
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200
}
3.3、下发订阅消息
文档:一次性订阅消息、长期订阅消息,服务端接口
请求数据示例
POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
{
"touser": "OPENID",
"template_id": "TEMPLATE_ID",
"page": "index",
"miniprogram_state":"developer",
"lang":"zh_CN",
"data": {
"number01": {
"value": "339208499"
},
"date01": {
"value": "2015年01月05日"
},
"site01": {
"value": "TIT创意园"
} ,
"site02": {
"value": "广州市新港中路397号"
}
}
}
返回数据
{
"errcode":0,
"errmsg":"ok"
}