公众号接入微信模板消息

一、概述

模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
关于使用规则,请注意:

所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;
需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
在所选择行业的模板库中选用已有的模板进行调用;
每个账号可以同时使用25个模板。
当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。【2014年11月18日将接口调用频率从默认的日1万次提升为日10万次,可在MP登录后的开发者中心查看】。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。

关于接口文档,请注意:

模板消息调用时主要需要模板ID和模板中各参数的赋值内容;
模板中参数内容必须以".DATA"结尾,否则视为保留字;
模板保留符号""。

二、申请开通模板消息并申请模板

2.1 申请开通模板消息

  • 登录微信公众平台,在"功能"->"添加功能插件"处申请模板消息:
    在这里插入图片描述

  • 选择公众账号服务所处的两个行业,每月可更改一次所选行业:
    在这里插入图片描述

  • 在所选择行业的模板库中选用已有的模板进行调用:
    在这里插入图片描述
    也可以申请自定义的模板,但是自定义模板申请时间需要5个工作日左右。

2.2 申请自定义模板

这里以测试公众号为例,点击“新增测试模板”:
在这里插入图片描述
在“1”处填入标题,在“2”处填写模板内容。模板内容格式:

{{first.DATA}} 
业主名称:{{keyword1.DATA}}
用电地址:{{keyword2.DATA}}
余额:{{keyword3.DATA}} 
结算时间:{{keyword4.DATA}}
 {{remark.DATA}}

".DATA"是固定格式,前面的关键字是变量名称,客户端发送模板消息时,必须严格按照该格式发送。
模板消息调用时主要需要模板ID和模板中各参数的赋值内容。请注意:

1.模板中参数内容必须以".DATA"结尾,否则视为保留字;

2.模板保留符号"{{ }}"
每一个消息模板都有一个唯一的Id,这个id后续需要使用。

三、 公众号配置

主要配置URL,Token,密钥,消息加密模式。
在这里插入图片描述
在这里插入图片描述
URL:网站域名;
Token:自定义字符串;
密钥:可随机生成,如果是明文模式用不上;
消息加密模式:推荐兼容模式。

公众号消息加解密是公众平台为了进一步加强公众号安全保障,提供的新机制。开发者需注意,公众账号主动调用API的情况将不受影响。只有被动回复用户的消息时,才需要进行消息加解密。模板消息选择明文模式或兼容模式即可。
上述准备工作完成后,我们就可以使用相关配置信息发送模板消息了。

四、测试

我们以测试公众号为例。地址:

https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

3.1 准备工作

  • 模板申请
    申请过程在上面已经介绍,需要记住模板id。
  • 关注公众号
    使用微信号关注测试公众号,后续该微信号用来接收模板消息。关注成功后,记住该微信的微信号(openid):
    在这里插入图片描述
  • 配置
    配置公众号相关信息:
    在这里插入图片描述

参数说明:
appId: 自动分配,实际使用公众号的真实appId。
appsecret: 自动分配,实际使用公众号的真实appsecret。
URL: 需要可以被访问,并能够验证微信发过来的消息,用来验证网站真实性。
Token:随便填写。
域名:网站域名。我这里使用的是花生壳域名。

  • 获取access_token
    接口(GET)地址:
https://api.weixin.qq.com/cgi-bin/token

参数:

grant_type=client_credential
appid
secret

grant_type固定,appid和secret使用上述配置的appid和secret。
注:该接口每天调用次数限制为2000次,access_token的有效期是2个小时。

  • 发送模板消息

接口地址:

 http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

POST数据示例如下:

{
           "touser":"OPENID",
           "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
           "url":"http://weixin.qq.com/download",  
           "miniprogram":{
             "appid":"xiaochengxuappid12345",
             "pagepath":"index?foo=bar"
           },          
           "data":{
                   "first": {
                       "value":"恭喜你购买成功!",
                       "color":"#173177"
                   },
                   "keyword1":{
                       "value":"巧克力",
                       "color":"#173177"
                   },
                   "keyword2": {
                       "value":"39.8元",
                       "color":"#173177"
                   },
                   "keyword3": {
                       "value":"2014年9月22日",
                       "color":"#173177"
                   },
                   "remark":{
                       "value":"欢迎再次购买!",
                       "color":"#173177"
                   }
           }
       }

参数说明

参数 是否必填 说明
touser 是 接收者openid,即关注公众号的微信号,上面有说明。
template_id 是 模板ID
url 否 模板跳转链接(海外帐号没有跳转能力)
miniprogram 否 跳小程序所需数据,不需跳小程序可不用传该数据
appid 是 所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)
pagepath 否 所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏
data 是 模板数据
color 否 模板内容字体颜色,不填默认为黑色

注:url和miniprogram都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至url。

返回码说明

在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:

 {
    "errcode":0,
     "errmsg":"ok",
     "msgid":200228332
  }

发送成功后,微信端收到推送消息:
在这里插入图片描述

五、总结

主要开发步骤:申请接口-申请模板-微信公众后台配置-编码-调试。

微信相关开发,相关接口或功能的申请审核比较慢,需要提前申请好,以免耽误调试进度。开发步骤按照官方文档来,一般没有大问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oyezitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值