钉钉机器人发送 ActionCard 类型消息的具体配置参数有哪些

文章导读
钉钉机器人发送 ActionCard 消息主要分整体跳转和独立跳转两种模式,具体参数取决于你使用的是自定义机器人 Webhook 还是企业内部应用 API,配置时需重点区分 msgtype 与 msgKey 的使用场景。
📋 目录
  1. 配置参数详解
  2. 请求报文示例
  3. 验证与错误排查
  4. 常见注意事项
A A

钉钉机器人发送 ActionCard 消息主要分整体跳转和独立跳转两种模式,具体参数取决于你使用的是自定义机器人 Webhook 还是企业内部应用 API,配置时需重点区分 msgtype 与 msgKey 的使用场景。

先说结论:ActionCard 消息配置核心在于区分机器人类型,自定义机器人直接使用 JSON body 参数,企业内部应用则需通过模板 key 调用。

钉钉机器人发送 ActionCard 类型消息的具体配置参数有哪些
  • 适合:系统通知、告警推送、需要用户点击交互的场景
  • 先看:确认机器人类型是自定义 Webhook 还是企业内部应用
  • 建议:跳转链接必须使用 https 协议,发送前先在测试群验证

配置参数详解

ActionCard 消息的核心参数如下,自定义机器人与企业内部应用在字段命名上略有差异,请对照使用。

参数名类型必填说明
msgtypeString固定为 actionCard
titleString卡片标题,建议控制在 20 字以内
textString卡片内容,支持 Markdown 格式,注意长度限制
singleTitleString整体跳转按钮文案,与 btns 互斥
singleURLString整体跳转链接,必须为 https 协议
btnOrientationString按钮排列方向,0 竖排,1 横排
btnsArray独立跳转按钮数组,包含 title 和 actionURL

请求报文示例

核心在于构造正确的 HTTP POST 请求体,以下是具体 JSON 结构。

钉钉机器人发送 ActionCard 类型消息的具体配置参数有哪些

自定义机器人(Webhook)

{
    "msgtype": "actionCard",
    "actionCard": {
        "title": "任务通知",
        "text": "## 任务状态更新 \n - 任务 ID: 12345 \n - 状态:已完成",
        "singleTitle": "查看详情",
        "singleURL": "https://example.com/detail/12345"
    }
}

企业内部应用

企业内部应用需通过 msgKey 指定模板,msgParam 传递 JSON 字符串。

钉钉机器人发送 ActionCard 类型消息的具体配置参数有哪些
{
    "robotCode": "YOUR_ROBOT_CODE",
    "msgKey": "sampleActionCard",
    "msgParam": "{\"title\": \"任务通知\", \"text\": \"## 任务状态更新\", \"singleTitle\": \"查看详情\", \"singleURL\": \"https://example.com\"}",
    "openConversationId": "cid..."
}

验证与错误排查

发送请求后,直接观察钉钉群聊窗口是否收到卡片消息。点击卡片上的按钮,确认是否能正常跳转到预设链接。如果是企业内部应用,可通过接口返回的 errorCode 判断,成功通常返回 0 或 success 状态。

错误码描述解决方案
310000Invalid Token检查 Webhook 地址或 access_token 是否过期
310001Frequency Limit请求过于频繁,建议增加发送间隔
400Param Error检查 JSON 格式及必填字段,确保链接为 https

常见注意事项

  • 跳转链接限制:ActionCard 中的跳转链接必须使用 https 协议,且域名需在企业管理后台配置白名单,否则无法跳转。
  • 内容长度限制:注意 text 字段的内容长度限制(通常不超过 20KB),过长可能导致发送失败或被截断。
  • 参数格式混淆:自定义机器人的 actionCard 是对象结构,而企业内部应用的 msgParam 往往是 JSON 字符串,两者容易弄混,导致解析失败。
  • 按钮数量与布局:独立跳转模式支持多个按钮,但需注意 btnOrientation 参数控制横排或竖排,配置错误会导致样式展示异常。
  • 权限问题:企业内部应用机器人发送消息需要相应的权限配置,如企业内机器人发送消息权限,未授权会导致接口调用被拒。