|
企业微信的企业webhook地址,说白了就是微信一个带key的URL。你把它复制到任何能发HTTP请求的企业地方,就能往群里推消息。微信不用登录企业微信后台,企业不用申请什么应用权限,微信甚至不需要是企业企业成员——只要拿到这个地址,谁都能往那个群里发东西。微信 我见过不少团队把它当内部通知的企业“万能胶”。比如运维把Zabbix告警接进来,微信服务器一挂,企业群里立刻炸出红色消息;运营把每日数据报表定时推过去,微信早上九点准时出现,企业比人还准点。微信这东西的企业方便程度,有点像当年用Webhook往Slack里灌消息的感觉,只不过企业微信在国内的办公场景里更接地气。 获取地址的路径不复杂。群聊右上角点进去,找到“群机器人”,添加一个。企业微信会给你一串长得像 发消息的格式支持文本、markdown、图片、图文卡片,甚至文件。文本最简单,一个POST请求,body里塞JSON就行。markdown稍微讲究点,企业微信支持的语法比标准markdown少一些,比如表格不支持,但加粗、链接、引用块、字体颜色都能用。颜色这个事挺实用——黄色表示警告,绿色表示正常,灰色表示备注。运维同学特别喜欢用颜色区分告警级别,一眼扫过去就知道该不该紧张。 频率限制是绕不过去的。每个机器人每分钟最多发20条消息。这个数字对大多数通知场景够用,但要是拿它当日志流使,很快就会被限流。被限流之后不会报错,消息直接丢弃,你连个响都听不到。所以重要通知最好加个重试机制,或者干脆换其他通道兜底。 有个细节值得留意:webhook机器人发的消息,在群里显示的是机器人名字和头像,但不会占用群成员的位置。你可以给不同用途创建不同机器人,比如“告警机器人”“日报机器人”“审批机器人”,各自用不同的头像,群里一眼就能区分消息来源。这个做法比所有通知都塞进一个机器人要清晰得多。 安全方面,key泄露是最大的风险。企业微信没有提供IP白名单之类的额外防护,拿到key就能发。所以别把key硬编码在客户端,尽量放在服务端。如果非要在前端用,至少做个中转服务,别让key裸奔。另外,企业微信的webhook不支持撤回消息,发出去就发出去了,发错了只能再发一条解释。这点不如Telegram Bot灵活。 实际用下来,企业微信webhook最适合的场景是:低频、重要、需要人看到的通知。比如CI构建失败、线上告警、审批待办、每日数据摘要。它不适合高频日志、不适合大段文本、不适合需要交互的对话。把它用在对的地方,它能省掉很多来回切换应用的时间;用错了地方,它就是个静悄悄的丢消息黑洞。 最后说个观察:很多团队一开始只用文本消息,后来慢慢加颜色、加@人、加链接跳转,最后把整个值班流程都搬进去了。webhook本身很简单,但围绕它长出来的使用习惯,往往比技术本身更有意思。 |
