记一次微信公众号模板消息接口调用超限问题

535 阅读2分钟

事情经过: 公司生产环境,最近用户量增多,每天到14点左右,微信公众号模板消息就收不到,查询到日志调用微信公众号模板消息接口报错:错误代码:45009, 错误信息:接口调用超过限制,微信原始报文:{"errcode":45009,"errmsg":"reach max api daily quota limit rid: 6406e4a5-76e85ad4-401153f9"} 上到公众号后台查看发现接口调用次数也没有超限呀,100000次的调用次数,以现在的体量应该也不足以超限才对。当时就想着观察几天看看,之前代码也没有动过,一直都是这样调用的。看了一下微信公众号的文档,感觉是所有模板消息相关的接口都是共用调用次数的,于是为了减少接口调用次数,把每个公众号的微信模板消息都保存下来,调用时候直接从数据库获取。之前没有这样做的原因是因为客户经常不小心动了消息模板的配置,会导致数据库的数据不是最新的,所以每次都调用获取所有模板消息的接口来获取模板,再调用发送模板消息。 今天又出现这样的情况,于是再到微信公众号社区寻求答案,找到了一篇官方回复说调用openApi接口重置接口调用次数,跳到接口文档,简单查看后打开微信公众号的调试工具developers.weixin.qq.com/apiExplorer… 通过查询API调用额度,发现原来获取所有模板消息的接口额度只有1000!!!那么接口超限的罪魁祸首就是它了,调整了获取模板消息的逻辑后完美解决问题,接下来就是优化一下所有公众号消息模板同步到数据库的问题。