1. 踩坑经历
1.1 拿到模板id
既然是发送模板消息,第一步就需要登录微信公众号后台新建模板消息,拿到模板id。
新建模板消息的方法如下所示:
1.2 调用发送模板消息接口
https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html
https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=
{
"template_id":"RJr0LvTwWtwKNNeorUtfBF-ClwCRCB9GAfO55H6DjtE",
"touser":"oYLSx0S7Oci-kbNIrPA461q9g1iE",
"data":{
"first":{
"color":"",
"value":"尊敬的客户,感谢您选择****,\n以下为*****交易风险提示"
},
"keyword1":{
"color":"",
"value":"沪C88V88"
},
"keyword2":{
"color":"",
"value":"2023年03月28日 15:56"
},
"keyword3":{
"color":"",
"value":"*****交易风险提示\n为保障您的财产安全,谨防法律风险,***提醒您,请遵循平台交易流程,切勿与任何非平台第三方单独/私下交易,\n如您遇到有****买家或员工向您表示想私下交易的,可向平台进行举报,经查证属实可获奖励 800 元/单。\n"
},
"remark":{
"color":"#fe2d46",
"value":"如需举报,请点击本条消息 >>>"
}
},
"miniprogram":{
"appid":"wx356234er34567dv",
"pagepath":"pages/order/detail?id=23"
}
}
说明:
2如果模板消息中的内容需要自定义字体颜色,如上面的remark里的内容,可以给color赋值为自定义的颜色。
响应报文如下所示:
{
"errcode":40165,
"errmsg":"invalid weapp pagepath rid: 64229d9f-2e863b15-2db557df"
}
2. 原因分析
看到40165这个错误码,想先去微信接口文档中查找下这个错误码的说明,结果文档中并没有找到,
发现消息发送成功了,证实消息发送失败确实是因为小程序跳转地址导致的。
所以导致发送微信模板消息一直报这个错。
3. 解决方案
开发版,还是体验版,只要不是正式版,新加的这个页面地址,发送微信模板消息就是识别不了,
正式版后,这个地址才被识别,发送消息终于成功了:
{
"errcode":0,
"errmsg":"ok",
"msgid":2868541260507217920
}
说点别的,因为发送微信模板消息跳转小程序有上面的这个问题,所以在做这种需求时,业务系统最好加个配置开关,上线时,先关闭该
正式版后,再打开开关,不然在这之前的推送会全部失败。
文章持续更新,欢迎关注微信公众号「申城异乡人」第一时间阅读!