微信公众号模板消息对接全流程(含接口调用细节)

微信公众号模板消息对接全流程(含接口调用细节)

趣玩编程
46
0
0
以下是基于微信官方规则及多篇开发文档整理的标准对接流程,适用于服务号场景(订阅号不支持模板消息

一、账号准备与权限开通

  1. 注册/认证服务号
    • 登录微信公众平台,注册并完成企业资质认证(个人主体无法使用模板消息功能)。 • 接口依赖:无,需在后台完成资质审核。

  2. 开通模板消息权限
    • 进入公众平台后台 → 功能模板消息 → 点击“开通”(若未显示,需在“新功能”中添加)。 • 操作关键点:选择与业务匹配的行业类目(如电商、医疗),否则无法申请相关模板。


二、模板申请与配置

  1. 选择模板
    • 在模板库中搜索关键词(如“订单通知”),或自定义模板内容(需审核)。 • 接口依赖:无,模板ID通过后台直接获取。

  2. 模板参数配置
    • 按微信规范填写动态参数(如{{keyword1.DATA}}),设置跳转路径(小程序或H5链接)。 • 示例模板内容

    {
      "first": "订单支付成功!",
      "keyword1": "订单号:202503240001",
      "keyword2": "金额:¥99.00",
      "remark": "点击查看详情"
    }
    

三、获取用户标识(OpenID)

  1. 用户授权获取OpenID
    • 用户需关注公众号,通过OAuth2.0授权获取其公众号OpenID(非小程序OpenID)。 • 接口调用
    ◦ 授权跳转URL:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base#wechat_redirect ◦ 换取OpenID接口:GET https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=APPSECRET&code=CODE&grant_type=authorization_code

四、AccessToken获取与管理

  1. 调用凭证接口
    • 使用AppID和AppSecret获取全局AccessToken(有效期2小时)。 • 接口地址
    GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
    代码示例(Python)

    import requests
    def get_access_token():
        url = "https://api.weixin.qq.com/cgi-bin/token"
        params = {
            "grant_type": "client_credential",
            "appid": "YOUR_APPID",
            "secret": "YOUR_APPSECRET"
        }
        response = requests.get(url, params=params).json()
        return response.get("access_token")
    
  2. Token缓存策略
    • 需本地存储Token并定时刷新,避免重复调用导致频率限制(每日2000次)。


五、发送模板消息

  1. 构建消息体
    • 按模板格式填充动态参数,指定跳转链接或小程序路径。
    JSON结构示例

    {
      "touser": "USER_OPENID",
      "template_id": "TEMPLATE_ID",
      "url": "https://example.com/order-detail",
      "data": {
        "first": {"value": "订单状态更新", "color": "#173177"},
        "keyword1": {"value": "202503240001", "color": "#FF0000"},
        "remark": {"value": "感谢您的使用!"}
      }
    }
    
  2. 调用发送接口
    接口地址
    POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
    请求头Content-Type: application/json
    响应处理
    ◦ 成功:{"errcode":0, "errmsg":"ok", "msgid":123456}
    ◦ 失败:根据errcode排查(如40037为模板ID错误)。


六、调试与监控

  1. 接口调试工具
    • 使用微信公众平台接口调试工具验证参数格式。

  2. 消息送达监控
    • 记录发送日志,监控errcode分布(如频率超限、用户拒收等)。


注意事项

  1. 频率限制:单个用户每日最多接收10条模板消息;
  2. 内容合规:禁止包含营销广告、外部链接(跳转域名需备案);
  3. UnionID关联:若需跨公众号/小程序推送,需通过开放平台绑定账号并获取UnionID。

如需完整代码示例或行业模板库列表,可参考微信官方文档。

阅读 46