6.4 KiB
Notifier 管理人员配置说明
本文档面向后台管理人员,说明如何在 Django Admin 中配置 Notifier,让系统在指定业务事件发生时自动发送通知。
1. Notifier 是什么
Notifier 可以理解为一条“通知规则”。
当某个业务事件发生时,系统会根据以下条件查找可用的通知器:
- 商户一致
event_key一致is_enabled=True
找到后,系统会自动:
- 使用对应模板渲染消息内容
- 按配置的渠道发送
- 记录发送日志
当前已支持的渠道:
- 企业微信机器人
wecom_webhook
2. 当前已支持的事件
目前 mission 模块已接入以下事件:
mission.created:任务创建mission.replied:任务有新回应mission.completed:任务完成mission.reply_rejected:任务回应被撤销mission.reopened:任务被重新打开mission.cancelled:任务被取消
如果要让某个事件发送通知,只需要在后台新增对应 event_key 的 Notifier。
3. 在哪里配置
进入 Django Admin 后,找到:
通知器
然后点击“新增”即可。
4. 字段说明
创建 Notifier 时,需要填写以下字段。
4.1 merchant
所属商户。
通知器只会匹配当前商户下发生的事件。
不同商户如果都需要通知,需要分别创建各自的 Notifier。
4.2 name
通知器名称,仅用于后台识别和管理。
建议命名方式:
任务创建通知-生产群任务完成通知-老板群任务取消通知-客服群
同一商户下名称不能重复。
4.3 event_key
要监听的业务事件标识。
这是最核心的绑定字段。
它决定这条 Notifier 绑定到哪个业务信号。
例如:
mission.completed表示“任务完成时发送”mission.cancelled表示“任务取消时发送”
4.4 channel
通知渠道。
当前固定选:
wecom_webhook
4.5 template_key
消息模板标识。
系统会根据这个字段去固定目录查找模板文件。
当前模板目录为:
notifier/templates/notifier/events/
例如:
template_key = mission_completed- 对应模板文件:
notifier/templates/notifier/events/mission_completed.md
4.6 is_enabled
是否启用。
- 勾选:该
Notifier生效 - 不勾选:该
Notifier不会参与匹配和发送
4.7 config
渠道配置,使用 JSON 格式填写。
当前企业微信机器人建议配置如下:
{
"key": "你的企业微信机器人key",
"msgtype": "markdown",
"timeout_seconds": 10
}
字段说明:
key:企业微信机器人 webhook keymsgtype:消息类型,建议用markdowntimeout_seconds:请求超时时间,单位秒
4.8 description
备注说明,非必填。
建议写清楚这条通知器的用途,例如:
用于生产部任务完成通知用于客服查看任务取消
5. 配置步骤
以“任务完成时发送企业微信通知”为例:
- 进入 Admin 的
通知器 - 点击“新增”
- 选择
merchant - 填写
name - 选择
event_key = mission.completed - 选择
channel = wecom_webhook - 填写
template_key = mission_completed - 在
config中填写 webhook 参数 - 勾选
is_enabled - 保存
保存后,只要该商户下发生“任务完成”事件,系统就会自动尝试发送通知。
6. 推荐配置示例
6.1 示例一:任务创建通知
适合发到内部任务协作群。
字段建议:
name:任务创建通知-协作群event_key:mission.createdchannel:wecom_webhooktemplate_key:mission_createdis_enabled: 勾选
config 示例:
{
"key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"msgtype": "markdown",
"timeout_seconds": 10
}
6.2 示例二:任务完成通知
适合发到管理群或老板群。
字段建议:
name:任务完成通知-管理群event_key:mission.completedchannel:wecom_webhooktemplate_key:mission_completedis_enabled: 勾选
6.3 示例三:任务取消通知
适合发到客服或跟单群。
字段建议:
name:任务取消通知-客服群event_key:mission.cancelledchannel:wecom_webhooktemplate_key:mission_cancelledis_enabled: 勾选
7. 一个事件是否可以绑定多个 Notifier
可以。
例如同一个商户下,mission.completed 可以同时配置:
- 一条发到生产群
- 一条发到老板群
- 一条发到客服群
只要它们满足:
merchant相同event_key相同is_enabled=True
系统就会逐条发送。
8. 模板如何对应
当前系统已内置以下模板:
mission_createdmission_repliedmission_completedmission_reply_rejectedmission_reopenedmission_cancelled
管理人员通常只需要填 template_key,不需要改代码。
如果后续要新增模板内容或调整文案,需要由开发人员修改模板文件。
9. 如何停用某条通知
如果暂时不想让某条通知继续发送,不需要删除,只需要:
- 打开该
Notifier - 取消勾选
is_enabled - 保存
这样最安全,也方便后续恢复。
10. 常见问题
10.1 为什么事件发生了,但没有收到通知
请依次检查:
Notifier是否已勾选is_enabledmerchant是否配置正确event_key是否选对template_key是否与现有模板匹配config.key是否填写正确- Celery worker 是否已启动
10.2 为什么同一个事件发了多次
通常是因为配置了多条相同 merchant + event_key 的启用状态通知器。
这不一定是错误,也可能是有意发往多个群。
如果不希望多发,请检查是否存在重复配置。
10.3 是否建议删除 Notifier
一般不建议优先删除,建议先停用:
- 更安全
- 方便回滚
- 方便排查历史配置
11. 管理建议
建议按下面的方式维护:
- 名称中写清楚用途和群目标
- 先停用再删除
- 一个事件先配一条验证,确认无误后再扩展到多个群
description中注明负责人或用途
12. 给管理人员的最简操作结论
如果你只想快速配置一条通知,记住这 5 个关键点就够了:
- 选对
merchant - 选对
event_key - 选
channel = wecom_webhook - 填对
template_key - 在
config填正确的企业微信机器人key
这样保存后,对应事件发生时就会自动发送。