钉钉集成
为钉钉配置 Stream 模式或 webhook 模式。
钉钉支持两种入站模式:
- Stream 模式(推荐)
- Webhook 模式(可选)
Stream 模式
优点:不依赖公网 webhook,适合稳定收消息/事件回调。
环境变量(Stream)
DINGTALK_ENABLED=true
DINGTALK_STREAM_ENABLED=true
DINGTALK_STREAM_SUBSCRIBE_EVENTS=false
DINGTALK_CLIENT_ID=<应用 appKey>
DINGTALK_CLIENT_SECRET=<应用 appSecret>
DINGTALK_ROBOT_CODE=<机器人 robotCode>
DINGTALK_OPEN_BASE_URL=https://api.dingtalk.com平台侧配置(钉钉开放平台)
- 创建企业内部应用(机器人)
- 获取
appKey/appSecret - 获取
robotCode - 启用 Stream 事件接收能力(消息相关)
不同钉钉控制台版本的按钮名称可能有差异,但核心是“应用 + 机器人 + Stream 接收”。
发送路径说明
- 入站:通过 Stream 长连接接收
- 出站:优先使用 OpenAPI(依赖
DINGTALK_CLIENT_ID/SECRET/ROBOT_CODE)
Webhook 模式(可选)
当你不使用 Stream 时可启用 webhook 回调。
环境变量(Webhook)
DINGTALK_ENABLED=true
DINGTALK_STREAM_ENABLED=false
# 可选,建议配置
DINGTALK_WEBHOOK_TOKEN=<自定义校验 token>回调地址
POST /api/v1/webhooks/dingtalk- 示例:
https://your-domain.example.com/api/v1/webhooks/dingtalk
DINGTALK_WEBHOOK_TOKEN 启用后,请确保请求中带同值(支持 query token、请求头 X-DingTalk-Token 或 payload 字段 token)。
钉钉出站兜底 webhook(可选)
DINGTALK_WEBHOOK_URL=<群自定义机器人 webhook>该配置仅作为出站兜底通知通道,推荐仍优先使用 OpenAPI。
联调测试
- 私聊或群聊
@机器人后发送/help - 发送
/new <任务描述> - 验证任务通知是否能回推到钉钉
说明:群聊场景中,钉钉通常要求 @机器人 才会被处理。