最近有个项目是用WordPress+B2魔改的,得利于这两个的底子都挺强大。所以功能改起来嘎嘎快,没有的功能就手搓数据库实现,这篇文章分享一下最终上线后的优化细分之:通过WebHook在飞书内发送通知(或对业务数据进行别的操作)。
业务需求:
新用户注册后,通过webhook钩子发送到飞书,飞书收到后处理(比如通过飞书机器人发送消息并@全体、写到飞书多维表格、日程中等)
所以我们要做的就是把WordPress相应的钩子准备好,当需要触发了就触发,并且通过WebHook将参数传递给飞书。
写了几个例子,这里做一个分享记录。
WordPress新用户注册通知:
效果如下:其中几个字段都是简单通过数据库或ACF查询的,ip这里是获取到注册或登录ip后通过高德api查询。
代码:
用户提交内容
由于业务中每一个用户提交的内容,都是往要付费的方向去的,所以每当有自然用户提交后就需要销售立即去跟。所以做了个新内容提交的通知。
我这里的内容模型用的不是默认的文字post,而是用b2的shop商品内容模型魔改的。所以这里是要用户新提交shop后触发。
代码:
审核发布/更新需求
当shop提交后进入后台待审状态,员工审核后,为了让工作留痕,所以也会把一些必要的字段结果同步更新到群内。如图:
代码:
支付通知
最后的收款群内通知,也是不能落下的。
效果如图:
在介绍支付通知之前,我们先来看下B2自带的支付钩子:
在B2\Modules\Common\Msg 类中定义了多个钩子(hooks),这些钩子用于处理商城订单支付成功后的操作。钩子通过 add_filter 函数注册。
- 打赏(ds)
- 商品出售(gx)
- 充值(cz)
- 隐藏内容(w)
- 资源出售(x)
- 积分购买(cg)
- 视频出售(v)
- 认证申请(verify)
- 圈子相关(circle_join、circle_read_answer_pay、circle_hidden_content_pay)
b2_order_callback_gx: 商品出售成功的钩子。
b2_order_callback_ds: 打赏成功的钩子。
b2_order_callback_cz: 充值成功的钩子。
b2_order_callback_w: 隐藏内容出售成功的钩子。
b2_order_callback_x: 资源出售成功的钩子。
b2_order_callback_cg: 积分购买成功的钩子。
b2_order_callback_v: 视频出售成功的钩子。
b2_order_callback_verify: 认证申请的钩子。
b2_order_callback_circle_join: 加入圈子的钩子。
b2_order_callback_circle_read_answer_pay: 付费查看回答的钩子。
b2_order_callback_circle_hidden_content_pay: 付费查看隐藏内容的钩子。
代码:
使用说明
上方代码仅供参考逻辑,部分敏感内容已经脱敏,如我的字段名称、WebHook地址等。
你可以结合你的业务自行修改一下,然后放到functions.php即可生效。
飞书的WebHook获取在:飞书机器人助手
在顶部新建一个执行,然后选择WebHook触发即可,如图:
至于执行的动作,选择发送飞书消息(你可以自建一个飞书机器人应用或直接用飞书官方的机器人),剩下的根据官方文档来就行:
暂无评论内容