1. 踩坑經歷
最近做了個需求,需要往公司微信公眾號推送一個模板訊息,并且點擊該訊息需要跳轉到公司小程式的某個頁面,
1.1 拿到模板id
既然是發送模板訊息,第一步就需要登錄微信公眾號后臺新建模板訊息,拿到模板id,
登錄地址:https://mp.weixin.qq.com
新建模板訊息的方法如下所示:
1)在左側“廣告與服務”選單下找到“模板訊息”選單

2)點擊”從歷史模板庫中添加“按鈕

3)找到合適的模板后,點擊”詳情”,打開模板詳情頁

4)在模板詳情頁點擊”添加“按鈕,將模板添加到自己的公眾號中

5)添加完成后,就可以拿到模板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"
}
}
說明:
1)如果模板訊息中的內容需要換行,如上面的first里的內容,可以使用換行符\n,
2)如果模板訊息中的內容需要自定義字體顏色,如上面的remark里的內容,可以給color賦值為自定義的顏色,
提測后,測驗反饋一直收不到微信模板訊息,查看日志后,發現呼叫發送模板訊息介面后,一直回傳40165這個錯誤碼,訊息未發送成功,
回應報文如下所示:
{
"errcode":40165,
"errmsg":"invalid weapp pagepath rid: 64229d9f-2e863b15-2db557df"
}
2. 原因分析
看到40165這個錯誤碼,想先去微信介面檔案中查找下這個錯誤碼的說明,結果檔案中并沒有找到,
然后根據errmsg的提示猜測可能是小程式的跳轉地址,微信識別不了,所以代碼先把跳轉小程式的部分注釋了,再次發送,
發現訊息發送成功了,證實訊息發送失敗確實是因為小程式跳轉地址導致的,
和前端溝通后,得知這個跳轉地址,是本次需求新加的,處于小程式的開發版中,小程式正式版中暫時沒有該地址,
所以導致發送微信模板訊息一直報這個錯,
3. 解決方案
經過證實,不管小程式是開發版,還是體驗版,只要不是正式版,新加的這個頁面地址,發送微信模板訊息就是識別不了,
一直回傳40165這個錯誤碼,直到小程式審核通過成為正式版后,這個地址才被識別,發送訊息終于成功了:
{
"errcode":0,
"errmsg":"ok",
"msgid":2868541260507217920
}
說點別的,因為發送微信模板訊息跳轉小程式有上面的這個問題,所以在做這種需求時,業務系統最好加個配置開關,上線時,先關閉該
開關,等小程式審核通過成為正式版后,再打開開關,不然在這之前的推送會全部失敗,
文章持續更新,歡迎關注微信公眾號「申城異鄉人」第一時間閱讀!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/549128.html
標籤:其他
