选择模板
在微信后台选择对应的消息模板
小程序点击订阅
参考文档地址
在页面设置按钮,只有当用户点击,才会弹框提醒,且允许后生效.
点击一次,可发送一次订阅消息
订阅消息
官方文档地址
订阅消息
API
参数
注意
data
里面的
data
参数名和上述的模板消息字段匹配,如
thing1,thing2
data = {
# 用户的openId
"touser": 'ok2Q65Fte6lDt7ELrXYQ-JQIx2l8',
# 订阅消息模板id
"template_id": "KDyVpbwZxn09Jm9LVGrhTTSEnHceEBKI3cRFIU-Z-fE",
# 要跳转的页面
"page": "pages/mine/index",
# 模板消息对应的内容设置
"data": {
"thing1": {
"value": "您的xx服务已到期"
},
"thing2": {
"value": "剩余2天时间"
},
"thing3": {
"value": "请尽快充值续期"
},
"thing4": {
"value": "巴拉巴拉"
}
}
}
服务端
post
请求
此处使用项目为
python flask
服务端token参考地址(后台接口调用凭据,全局唯一)
# 服务端token
serverToken = '33_0YjkW9kCMa-0N10emqbOcEzI4G9VCWT_r9E8cU0JfKdtu8EpgAnyGe62DQix7CKvHLtyzBY3eUV1ZSMj2RyzvaPIDuckkozn_MHLahXW11pl3PvVdxxdbVgWY4If78UjYeEOUr0ZW49gUsI3RSGhAAAUVJ'
# 要请求的微信API
url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token={serverToken}'.format(serverToken = serverToken)
# 数据格式化(从这里开始对上面的data进行格式化,转成符合post的json参数形式)
data = json.dumps(data)
# 数据格式化
data = bytes(data, 'utf8')
# 数据格式化
request = urllib.request.Request(url)
# post服务器请求
result = urllib.request.urlopen(request, data).read()
# 打印结果
print(result)
推送效果
当服务端发起微信订阅
API
时,对应
openid
的用户就会收到指定的订阅消息
效果如图
END.