提醒模板介绍
[TOC]
什么是提醒模板
提醒模板允许开发者根据自己的业务需要,把提醒内容提炼出模板,根据模板格式来发出提醒。
使用提醒模板发出的提醒,在公众号通知方式中,会直接以微信模板消息的形式发出,不会使用纯文字方式,因此也不需要激活48小时就能持续使用。另外,Lite用户(即未使用手机号注册的用户)虽然不能收到提醒中动态内容(即通过text
参数传入的内容),但是提醒模板例外,Lite用户可以收到提醒模板格式的提醒。
通过提醒模板发出的提醒,样式如下:
开发者可以在“个人中心-高级-提醒模板”找到提醒模板入口。喵提醒为你准备了几个可能大多数人用得上的提醒模板,这样可以直接使用。如果不合适,你也可以申请自己的模板。
微信对模板消息的监管相对严格,尤其对内容的合规性很敏感,因此模板消息内容需要先设计模板,提交审批,审批通过后方可使用。
提醒模板使用方法介绍如下:
设计提醒模板
开发者先向喵提醒提交模板:在提醒中显示哪些项,并指定这些项的名称,以及指定项值的类型。
例1:某游戏A辅助会定时向用户提醒游戏角色的HP,MP,疲劳状态,其中HP和MP都是数值类型的项,而疲劳状态是[正常、较少、即将耗尽、已耗尽]这4种状态之一,因此该辅助可以提交这样的提醒模板:
> 标题:游戏A辅助
> 模板项:
> HP值:(数字类型)
> MP值:(数字类型)
> 疲劳值:(枚举类型:正常、较少、即将耗尽、已耗尽)
在提醒模板的新建界面中,完成填写后的效果:
例2:某服务器监控提醒会在服务器异常时候给管理员发提醒,提醒中包括服务器编号,服务器的IP,问题描述,则可以提交这样的提醒模板:
> 标题:服务器监控
> 模板项:
> 编号:(数字类型)
> IP:(IP地址类型)
> 故障描述:(枚举类型:宕机、断网、磁盘空间不足、内存不足、CPU占用率过高、其他异常)
即,需要先设计提醒模板标题,模板中各项的名称,各项值是什么类型,发送提醒模板时候严格按照该格式发送。
目前,消息模板支持的项值类:
类型 | 示例 | 说明 |
---|---|---|
枚举 | 掉线 ,血量不足 ,金币已满 ,0 |
列出可能出现的文本,调用时仅可在这些文本中选择。可使用文本的索引代替,例如0 代表第一个文本。 |
数字 | 100 ,23.5 ,-45 ,5k ,10m ,2e |
|
IP地址 | 192.168.1.1 |
暂只支持IPV4格式。 |
MAC地址 | 00:88:22:EE:ff:aa |
|
日期时间 | 2020-04-24 ,2020-4-24 03:30:21 |
|
时间戳 | 1590665981 |
10位数,单位秒,提醒时将自动转换为日期时间格式。 |
乘积 | 1024*768 ,1280x960 |
|
分数 | 80/101 |
分子/分母格式。 |
将设计好的提醒模板提交审批,提醒模板审批通过后即可使用。
发布提醒模板
审批通过的提醒模板需要发布后才能使用。
如果审批通过的提醒模板是新建的提醒模板,则审核通过的同时,提醒模板会自动发布。 否则,如果是修改原有模板后审批通过的,需要手动点击「发布」按钮才能发布。注意:提醒模板在发布的那一刻起,新的提醒模板内容将完全替换掉旧的提醒模板内容,因此请确认在相关业务已经按新的提醒模板格式适配并发布后,才进行「发布」操作。
使用提醒模板
在请求喵提醒网址时,使用参数templ设置提醒模板,具体格式为:
templ=模板id,标识,项值1,项值2,...,项值n
即使用英文逗号(,
)分隔多个值,其中:
- 第0个值是模板id,指定要使用的提醒模板。
- 第1个值是标识,数字类型,用于区分不同的提醒对象。例:您在监控两台服务器,对第一台服务器发出的提醒可以定义为标识:1,第二台标识:2,当收到提醒时可以根据标识判断是哪台服务器发的提醒。如不需要标识,可以传空值(
''
)。 - 第2个值开始按提醒模板内各项的顺序依次排列项值。
举个例子,假设例1中的“游戏A辅助”提醒模板的模板id为p123456,HP值显示2000,MP值显示366,疲劳值是“较少”,推送给用户的喵码是t123456,由于只跑一个游戏所以不需要标识区分,则可以用以下方式发送带提醒模板的提醒:
http://miaotixing.com/trigger?id=t123456&templ=p123456,,2000,366,较少
上述例子中,再假设我在跑两个游戏A的辅助,给大号定为1号,小号定为2号,现在发出的小号的提醒,则请求地址变成
http://miaotixing.com/trigger?id=t123456&templ=p123456,2,2000,366,较少
提醒模板一旦调用成功,会替换掉原请求中的text
参数的值,并且如果该提醒的提醒渠道开启了微信公众号提醒,那么将会发出模板消息形式的提醒代替纯文字提醒,效果如下:
此时text
参数无论原来是什么,都会被替换成:
> HP值:2000 > MP值:366 > 疲劳值:较少
用户的提醒历史,短信提醒,语音电话提醒或App提醒,都使用被替换成模板内容后的text
参数(特殊情况下,用户的提醒通知方式可能没有使用公众号,此时用户不会收到微信公众号推送的模板消息,但其他渠道的提醒依然按照被替换后的text参数来发送);Lite用户虽然不能直接接收text参数的内容,但通过提醒模板替换后的text内容是可以接收的。
提醒模板会存在调用失败的情况,调用失败的情况下,公众号文字提醒不会替换为模板消息形式,text参数也不会被替换,提醒将会按没有指定提醒模板的形式发出。以下情况会使得提醒模板调用失败:
- 模板消息id不存在;
- 模板消息未审批通过;
- 输入的项值与模板消息项值类型不匹配;
- 输入的项值数量少于模板消息项数量;
由于提醒模板调用失败并不影响提醒发出,成功发出提醒后,提醒网址依然会返回“成功”,如果希望了解提醒模板调用失败原因,可以给提醒网址加上参数type=json
或type=jsonp
,此时返回json或jsonp结果中data.warning.templ
数组带有提醒模板调用失败的原因。
注意事项
- 使用前请认真阅读《服务使用协议》(位于“个人中心-我-协议”);
- 使用公众号提醒通知方式时,即便使用了提醒模板,成功发送后依然会扣除接收者的当天公众号免费提醒额度;
- 提醒模板依然需要遵循提醒频率限制;
- VIP用户使用了提醒缓冲池,缓冲池后台补推的提醒不会使用提醒模板形式推送;
- VIP用户的心跳网址同样支持提醒模板;
- 建议开发者推送带提醒模板的消息时,在
text
参数准备一份完整的提醒内容,不建议因依赖提醒模板而省略了text参数,完整的text参数可以保障在提醒模板调用失败或故障时,发出提醒对用户依然是有价值的内容。 - 除了模板id外,所有项值都支持空值,如例1中如果标识为0,MP值留空,可以设置为:
templ=p123456,0,2000,,较少
- 修改现有的提醒模板时,提交审批并通过后,需要手动点击「发布」后才会正式发布。