钉钉应用内部机器人支持身份鉴权、消息回调和更丰富的消息模板,适合需要双向交互或代表具体业务身份的场景。群 webhook 机器人仅支持单向通知,配置简单但功能受限,适合简单的监控报警。
先说结论:内部机器人适合业务系统集成,webhook 适合轻量通知
- 适合:需要接收用户回复或使用复杂卡片消息的场景
- 重点看:应用权限配置与 AccessToken 获取流程
- 别忽略:内部机器人需要创建应用并可能涉及授权安装
快速选型思路
选择机器人类型主要取决于是否需要双向交互和身份标识。如果只需要发送报警信息,webhook 足够;如果需要用户回复或显示具体业务名称,必须用内部机器人。
为什么会这样
架构设计不同导致权限与能力差异。Webhook 机器人基于 URL 触发,无身份上下文;内部机器人基于 OAuth2.0 和应用身份,具备更完整的权限体系。
分步处理
按照需求匹配类型可避免后期重构。第一步确认是否需要接收用户消息,第二步确认是否需要显示具体发送者身份,第三步评估开发成本。
怎么验证是否生效
发送测试消息并检查发送者身份与回调响应。Webhook 机器人显示为自定义头像,内部机器人显示为应用名称和头像,且内部机器人可配置回调地址接收用户回复。
常见坑
秘钥保管不当会导致安全风险。Webhook 的 secret 关键字若泄露可能导致伪造消息,内部机器人的 AppSecret 需服务器端保管,严禁前端暴露。
常见问题
内部机器人需要收费吗
基础功能通常免费,具体看企业版本。钉钉开放平台基础开发能力对个人和企业开发者免费,部分高级接口可能涉及企业认证。
webhook 机器人能发给用户吗
不能,只能发到群聊。Webhook 机器人绑定的是群聊地址,无法直接向单用户发送消息,内部机器人可通过用户 ID 发送单聊消息。
内部机器人开发难度大吗
难度高于 webhook,需要服务端支持。Webhook 只需 HTTP POST,内部机器人需要计算签名、获取 AccessToken 并处理回调。
参考来源
钉钉开放平台 - 机器人开发文档
URL: https://open.dingtalk.com/document/robots