钉钉开放平台新版机器人API怎么迁移?旧版webhook要怎么操作?

文章导读
钉钉机器人迁移需将旧版群助手 webhook 改为企业内部自建应用调用新版接口,旧版 webhook 仍可保留但需配置签名安全设置。
📋 目录
  1. A 快速处理思路
  2. B 为什么会这样
  3. C 分步处理
  4. D 怎么验证是否生效
  5. E 常见坑
  6. F 常见问题
  7. G 参考来源
A A

钉钉机器人迁移需将旧版群助手 webhook 改为企业内部自建应用调用新版接口,旧版 webhook 仍可保留但需配置签名安全设置。

先说结论:存量业务建议逐步迁移至企业内部自建应用,旧版 webhook 接口未完全停用但功能受限。

  • 适合:需要更高安全性、发送企业内消息或管理群成员的场景
  • 先准备:钉钉开放平台账号、企业管理员权限、服务器出口 IP
  • 验收:消息成功送达且后台无鉴权报错

快速处理思路

核心是替换鉴权方式和接口地址,不再直接使用 webhook URL 中的 access_token。

旧版请求:POST https://oapi.dingtalk.com/robot/send?access_token=XXX
新版请求:POST https://api.dingtalk.com/v1.0/robot/oToMessages/batchSend
鉴权变化:从 URL 参数 token 改为 header 中携带 access_token(通过 AppKey/AppSecret 换取)

为什么会这样

新版 API 提供更细粒度的权限控制和更高的安全性,旧版 webhook 缺乏身份细粒度管理。

旧版 webhook 仅靠 URL 中的 token 鉴权,一旦泄露难以单独撤销且无法区分调用来源。新版企业内部应用基于 AppKey 和 AppSecret 动态获取 access_token,支持 IP 白名单和更详细的日志审计,符合企业安全合规要求。

分步处理

按创建应用、获取凭证、修改代码、配置群聊的顺序执行迁移。

步骤 1:创建企业内部应用
登录钉钉开放平台控制台,选择“企业内部开发”,创建自建应用。记录 AppKey 和 AppSecret,这两个凭证用于后续代码鉴权。

步骤 2:配置权限和白名单
在应用详情页开通“机器人”相关权限,并将服务器出口 IP 添加到 IP 白名单中,否则接口调用会返回 IP 受限错误。

步骤 3:修改代码获取 Token
代码中移除旧 webhook URL,改为先调用获取 token 接口。请求地址通常为https://oapi.dingtalk.com/gettoken,参数传入appkeyappsecret,返回的access_token有效期通常为 7200 秒。

步骤 4:调用新版发送接口
使用获取到的 access_token 调用新版消息发送接口。注意新版接口参数结构可能与旧版 webhook 的 JSON 体不同,需参照最新文档调整 msg 字段格式。

步骤 5:重新添加机器人到群
旧版 webhook 机器人是群助手,新版应用机器人需通过“添加机器人”功能将新应用绑定到目标群组,获取新的 chatbot_id 或接收者列表。

钉钉开放平台新版机器人API怎么迁移?旧版webhook要怎么操作?

怎么验证是否生效

发送测试消息并检查开放平台后台日志,确认无报错且消息可达。

1. 执行一次代码发送流程,观察返回状态码,成功通常返回 errorCode 为 0 或 http 200。
2. 登录钉钉开放平台后台,查看“运维管理”或“日志查询”,确认接口调用记录存在且无鉴权失败记录。
3. 检查目标钉钉群,确认消息正常显示且发送者名称为新应用名称。

常见坑

Token 缓存不当、签名算法错误、IP 白名单遗漏是导致迁移失败的主要原因。

Token 过期:access_token 有有效期,代码中必须实现缓存逻辑,避免每次请求都重新获取导致频次受限。
签名计算:部分接口仍需签名计算,时间戳和签名字符串拼接错误会导致鉴权失败。
接收者 ID:新版接口发送群消息可能需要 userid 列表或群 ID,旧版 webhook 直接发给群地址,需注意参数映射。
安全设置:旧版 webhook 若开启“自定义关键词”或“加签”,迁移后不再需要,但新版应用需配置白名单。

常见问题

旧版 webhook 接口会被彻底停用吗?

目前官方未公布彻底停用时间,但新功能不再支持旧版接口。

新版 access_token 有效期是多久?

通常有效期为 7200 秒,建议在过期前主动刷新。

迁移后需要重新邀请机器人进群吗?

需要,新版自建应用机器人需重新添加到群组才能发送消息。

个人开发者可以调用新版接口吗?

部分接口需要企业认证,个人开发者权限受限,建议先确认应用类型。

参考来源

钉钉开放平台文档,页面标题:企业内部开发概览、机器人消息发送,URL:https://open.dingtalk.com/document/