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