如何在多商户系统中增加或者修改微信模板消息,本文针对的是需二开或者有一定代码基础的人群;
具体实现的逻辑是:
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 操作注释,就可以看到报错消息。
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}