一、模板申请
1.1、微信公众号网址
微信公众平台微信公众平台,给个人、企业和组织提供业务服务与用户管理能力的全新服务平台。https://mp.weixin.qq.com/
1.2、申请模板消息的流程
1、找到:广告与服务-->模板消息
2、申请自定义模板版本
- 进入到模板库
- 点击:帮助我们完善类目模板库
3、申请模板:设置好标题和参数
-
事务 参数类型: 限制20字符
- 字符串 参数类型:限制32字符,不能带中文
- 常量 参数类型:只能写固定的内容信息
4、等待审核通过
5、审核通过后,申请模板,选择自定义的模板
- 点击从类目模板库中添加
- 选择需要的模板,设置好参数
6、查看模板的详情
- 可以到"我的模板库",点击"详情",查看
- 后续,发送模板时,这些参数就是字典的key
二、公众号和小程序的appid与secret
3.1、微信公众号appid和secret
-
登录公众号后台 网址:微信公众平台
-
进入菜单栏 左侧点击:设置与开发-->开发接口管理
-
查看 AppID 和 AppSecret
-
AppID 直接显示
-
AppSecret 默认是隐藏的,点击【重置】按钮进行查看(需要管理员微信扫码验证)
-
⚠️注意事项:
-
重置
AppSecret
会使旧的接口调用失效,请在重置后立即更新服务器配置。 -
AppSecret
是非常敏感的凭据,请妥善保存,不要上传至代码仓库。
3.2、微信小程序appid和secret
-
登录微信小程序后台 网址:微信公众平台
-
切换到小程序账号
-
进入菜单栏
开发
→开发设置
-
查看 AppID 和 AppSecret
-
AppID 直接可见
-
AppSecret 点击显示,需要管理员扫码验证
-
⚠️注意:
-
同样,
AppSecret
只用于服务器端,不要暴露给客户端。 -
小程序默认无法使用网页授权相关接口,仅用于服务端 API 调用。
三、接口使用
2.1、获取access_token接口
method = get
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=&secret=
#公众号的appenid 和secret
响应结果:
响应结果:
# 成功
{"access_token":"ACCESS_TOKEN","expires_in":7200}
# 失败
{"errcode":40013,"errmsg":"invalid appid"}
2.2、获取公众号下的标签组接口
method = get
https://api.weixin.qq.com/cgi-bin/tags/get?access_token=
# 1中请求的access_token
响应结果:
#返回值是标签组对应的名字、id和用户数量
{
"tags": [
{
"id": 2,
"name": "星标组",
"count": 4
}
]
}
2.3、获取公众号指定标签组下的用户openid
method = post
https://api.weixin.qq.com/cgi-bin/user/tag/get?access_token=
# 1中请求的access_token
# 请求体:
{
"tagid": 2, # 标签组id
"next_openid": ""
}
响应结果:
#返回值
{
"count": 4,
"data": {
"openid": [
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf98",
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf984",
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf98",
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf98"
]
},
"next_openid": "hk6Nqs63j86DPkhv2kThgkjjowjf98"
}
2.4、获取公众号所有用户的openid
method = get
https://api.weixin.qq.com/cgi-bin/user/get?access_token=
# 1中请求的access_token
响应结果:
# 响应结果
{
"total": 5,
"count": 5,
"data": {
"openid": [
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf98",
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf98",
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf98",
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf98",
"oF-hk6Nqs63j86DPkhv2kThgkjjowjf98"
]
},
"next_openid": "oF-hk6Nqs63j86DPkhv2kThgkjjowjf98"
}
2.5、发送模板消息
接口:
method = POST
https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
# access_token
# 请求体
请求体:
{
'touser': '用户openid',
'template_id': '模板ID',
# 'url': 'http://weixin.gq.com/download', 可跳转到web应用-优先小程序
"miniprogram": {
"appid": self.appid,
"pagepath": "pages/map/map?alertId=" + url_id
# "pages/map/map" 跳转到小程序的具体页面路径
},
# 模板消息内容
'data': {
# 告警时间
'thing1': {
'value': "机房"
},
# 设备编号
'thing2': {
'value': "线路"
},
# 告警地点
'thing3': {
'value': "地址"
},
'character_string4': {
'value': "长度"
},
'time5': {
'value': "2025-12-23 12:20:30"
},
}
}
响应结果:
# 成功
{
'errcode': 0,
'errmsg': 'ok',
'msgid': 3676174897220255752
}
#失败
{
'errcode': 47003,
'errmsg': 'argument invalid! data.character_string4.value invalid rid: 681dc559-42fad8ea-51313ccb'
}