如何在多商戶系統中增加或者修改微信模板消息,本文針對的是需二開或者有一定代碼基礎的人群;
具體實現的邏輯是:
1. 在微信公眾號后臺選定需要使用的模板;
2. 選擇模板需要的字段;
3. 在crmeb數據庫中增加模板相關信息;
4. 在代碼中增加模板消息的數據整理;
5. 在需要使用的地方添加模板消息發送的調用。
一、 模板選擇和創建。
1. 登錄微信后臺: https://mp.weixin.qq.com
2. 找到模板消息,然后搜索你需要的模板,例如:訂單支付成功
3. 進入模板的詳情,看看那個模板的字段符合我們的需求,例如:一下模板有我們需要用到的字段;
4. 選擇好后確認,就會在我的模板中;
5. 點擊詳情,就能看到具體信息,這里需要用到的是:
模板ID、模板編號、詳細內容
二、 將獲取到的信息添加到crmeb系統之中。
1. 找到數據庫中 eb_system_notice_config 數據表,使用到以下字段,將上一步中獲取的信息填寫到這個表中;
wechat_tempkey 模板ID
wechat_content 詳細內容
wechat_tempid 模板編號
?? 注意: 這里的詳細內容格式不要變,需要保持當前這個樣式
2. 如果是新添加一條信息,這里就需要補氣其他信息,如:
const_key 發送這條消息的主健;
notice_wechat 微信模板消息狀態;
notice_sms 短信狀態;
notice_routine 小程序訂閱消息狀體??;
上面三個狀態字段的值為:
1 開啟,即:發送消息;
0 關閉,即:不發送消息;
-1 無此模板消息,即:沒有相關的配置,也就是沒有相關的消息提醒。
3. 當這里添加完成以后,就可以在平臺后臺查看到這條消息的配置了;
點開設置,就能看到我們剛才填寫的信息了;
如果上一步中某個狀態未 -1 ,則下圖中就沒有開啟關閉這個操作按鈕;
三、修改代碼
1. 確認模板需要使用的地方,使用隊列的方法調用,例如:訂單支付成功;
Queue::push(SendSmsJob::class, [
'tempId' => 'ORDER_PAY_SUCCESS', //就是數據庫中 eb_system_notice_config 數據表 const_key 字段對應的值
'id' => $groupOrder->group_order_id, //模板需要使用到的參數
'params' => [] //模板參數組合額外參數
]);
2. 找到 根目錄\crmeb\services\WechatTemplateMessageService.php文件,找到 templateMessage 方法;
3. 增加一個模板消息的所需數據的組合。
??注意:
最外層data必須是二維數組;
uid 是需要發送給有個用戶的用戶ID,必須是微信用戶或者關聯微信用戶;
link 是發送模板消息,用戶點擊詳情跳轉的H5鏈接地址;
四、測試發送
1. 測試必須是線上測試,發送的服務器ip必須在微信公眾號的白名單中;
2. 用戶必須是微信用戶;
3. 再有其他錯誤根據具體錯誤查看,具體的發送操作是在這里;
4. 如果獲取不到錯誤信息,將下圖的 try 操作注釋,就可以看到報錯消息。