1. 引言
内部消息最容易做成全员群喊话。真正要的是:这条只到负责人、只到当事人、只到该审批节点的人。群名、部门名、职务名都不能当地址。重名和调岗会把「精准」打成「几乎」。
2. 精准的定义
一次推送能解释:哪个员工号发出、哪个会话接收、哪条业务键防重。接收方是联系人 ID 或群 ID,且类型正确。内部群能收到,证明不了当事人私聊已收到。
| 场景 | 接收方 | 错误做法 |
|---|---|---|
| 审批通过 | 申请人会话 | 打到全员群 |
| 服务器告警 | 值班人会话 | 打到客户群 |
| 部门通知 | 已绑定的内部群 ID | 每次按部门名搜索 |
| 同一告警恢复 | 不再发原文 | 按旧时间戳全量重放 |
3. 实践要点
先发给自己做通路,再发给测试同事,最后才是真实负责人。保存告警的页面不要直接发。入队、带环境、带业务键。
python
def notify_owner(device, owner_id, text, db, enqueue):
key = f"alert:{owner_id}:{hash(text)}"
if db.try_insert(key):
enqueue(device, owner_id, text)
自己发出去的回执不要再匹配成新事件。多员工时绑定带设备,A 的告警不要从 B 出去。
4. 群和私聊拆开验收
内部群机器人上午能推,只能证明内部群这条路。当事人要在自己的会话里看见原文,才叫精准。填成客户群,就是把内部故障泄露出去。
错过窗口的早安、过期告警,不要原文补发。积压恢复只补「仍有效」的状态,不补过程稿。
5. 验收
改展示名后仍到同一人;改成群地址,私聊不应出现;测试环境插一条指向生产负责人的任务,测试进程不得发送。
6. 总结
内部消息精准推送,是绑定、幂等、分会话验收。最佳实践不是把文案写得更像通知,而是把接收方写成不会变的 ID。