CRMEB多商户更新/增加微信模板消息教程

如何在多商户系统中增加或者修改微信模板消息,本文针对的是需二开或者有一定代码基础的人群;

具体实现的逻辑是:

  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. 确认模板需要使用的地方,使用队列的方法调用,例如:订单支付成功;
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 操作注释,就可以看到报错消息。

在这里插入图片描述
这样一整个完整的流程就完成了

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用PHP Swoole实现多进程发送微信模板消息的代码示例: ```php <?php // 引入swoole库 use Swoole\Process; // 模板消息内容 $template_data = array( 'touser' => 'openid', 'template_id' => 'template_id', 'data' => array( 'keyword1' => array( 'value' => 'value1', 'color' => '#173177' ), 'keyword2' => array( 'value' => 'value2', 'color' => '#173177' ), //... ) ); // 创建进程 $worker_num = 4; // 进程数量 $workers = array(); // 进程数组 for($i = 0; $i < $worker_num; $i++) { $process = new Process(function(Process $worker) use ($template_data) { // 引入微信SDK库 require_once 'path/to/wechat-sdk/autoload.php'; // 初始化微信公众号配置 $options = array( 'token' => 'your_token', 'appid' => 'your_appid', 'appsecret' => 'your_appsecret' ); // 实例化微信公众号对象 $wechat = new WeChat($options); // 发送模板消息 $wechat->sendTemplateMessage($template_data); }, false, false); $process->name('worker_'.$i); // 设置进程名 $process->start(); // 启动进程 $workers[] = $process; // 添加进程到数组 } // 等待子进程结束 foreach($workers as $worker) { $worker->wait(); } ``` 以上示例中,我们使用了Swoole库的Process类来创建多个进程,每个进程中实例化微信公众号对象并发送模板消息。通过这种方式,可以提高模板消息的发送效率,同时避免单个进程发送过程中出现阻塞导致其他请求的延迟。 需要注意的是,在使用Swoole的多进程功能时,需要特别关注进程间的通信和数据共享问题。在本示例中,我们没有涉及到这些问题,因为每个进程内部都是独立的。如果需要进行数据共享,可以考虑使用Swoole提供的相关组件,例如Table、Atomic等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值