消息推送数据源

消息推送模块使用文档 #

SmartChart 支持通过数据源配置直接发送钉钉、企业微信、飞书三家平台的消息。本文档说明各模块的配置方式与消息写法。


命名规范 #

后缀 含义 鉴权方式
Msg 企业应用消息(需创建企业应用) AppID/CorpID + Secret → 换取 access_token
Webhook 机器人 Webhook(只需一个 URL) 直接 POST 到 Webhook 地址,可选签名

简单场景优先用 Webhook,无需创建企业应用,在群聊里添加机器人即可获取 URL。


一、钉钉 #

1.1 dingdingMsg(企业应用消息) #

通过钉钉企业自建应用发送工作通知,接收方为应用可见范围内的员工。

前置准备 #

  1. 登录 钉钉开放平台 → 应用开发 → 创建企业自建应用
  2. 记录 AppKey(即 corpid)和 AppSecret
  3. 在应用详情页获取 AgentID
  4. 在「权限管理」中开通「工作通知」权限

数据源配置 #

字段 填写值 说明
驱动类型 dingdingMsg
host 接收人 userid,多个用 , 分隔;@all 表示全员 例如 zhangsan,lisi
用户 corpid 或 AppKey
密码 AppSecret
db AgentID(数字) 必填

消息写法 #

-- ① 纯文本 / Markdown → 自动包装为 markdown 类型
## 告警通知
> **CPU 使用率 95%**,请及时处理

-- ② 完整钉钉消息 JSON(含 msgtype 字段)→ 直接使用
{"msgtype":"text","text":{"content":"hello"}}

-- ③ JSON 中也可以指定接收人(覆盖数据源配置)
{"msgtype":"markdown","markdown":{"title":"日报","text":"今日数据正常"},"userid_list":"zhangsan"}

支持的消息类型 #

text / markdown / image / file / link / oa / action_card / feed_card


1.2 dingdingWebhook(机器人 Webhook) #

在钉钉群聊中添加「自定义机器人」,获取 Webhook 地址后直接发消息。

前置准备 #

  1. 钉钉群 → 设置 → 智能群助手 → 添加机器人 → 自定义
  2. 复制 Webhook 地址(https://oapi.dingtalk.com/robot/send?access_token=xxx
  3. 可选:开启「加签」,复制签名密钥

数据源配置 #

字段 填写值 说明
驱动类型 dingdingWebhook
host 完整 Webhook 地址(含 access_token 参数) 必填
密码 加签密钥(字符串) 不开启加签则留空

消息写法 #

-- ① Markdown(自动识别,包装为 markdown 类型)
## 告警
> CPU 使用率 **95%**

-- ② 完整钉钉机器人消息 JSON
{"msgtype":"text","text":{"content":"hello"}}

安全设置说明 #

安全方式 password 字段
留空
关键字 留空(关键字在钉钉后台配置,不影响发送)
IP 段 留空(在钉钉后台配置)
加签 填写签名密钥

二、企业微信 #

2.1 qiweiMsg(企业应用消息) #

通过企微自建应用发送应用消息,接收方为应用可见范围内的成员。

前置准备 #

  1. 登录 企微管理后台 → 应用管理 → 创建应用
  2. 记录 企业 ID(「我的企业」→ 企业信息)
  3. 记录应用 Secret(应用详情页)
  4. 记录应用 AgentID(应用详情页)
  5. 在「可见范围」中添加接收消息的成员

数据源配置 #

字段 填写值 说明
驱动类型 qiweiMsg
host 接收人账号,多个用 | 分隔;@all 表示全员 例如 zhangsan|lisi
用户 企业 ID(corpid)
密码 应用 Secret(corpsecret)
db 应用 AgentID(数字) 必填

消息写法 #

-- ① Markdown(自动包装)
## 日报
今日数据已就绪,请查看后台

-- ② 完整企微应用消息 JSON
{"msgtype":"text","text":{"content":"hello"}}

-- ③ JSON 中指定接收人(覆盖数据源配置)
{"msgtype":"markdown","markdown":{"content":"hello"},"touser":"zhangsan"}
{
   "touser" : "1359xxxxx",
   -- "totag" : "4",
   "msgtype" : "text",
   "agentid" : xxxxxxx,
   "text" : {
       "content" : "$msg"
   },
   "safe":0
}

支持的消息类型 #

text / markdown / textcard / news / image / voice / video / file / template_card


2.2 qiweiWebhook(机器人 Webhook) #

在企微群聊中添加机器人,获取 Webhook 地址后直接发消息。

前置准备 #

  1. 企微群 → 右上角 → 群机器人 → 添加机器人
  2. 复制 Webhook 地址(https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx

数据源配置 #

字段 填写值 说明
驱动类型 qiweiWebhook
host 完整 Webhook 地址(含 key 参数) 必填
密码 留空 企微 Webhook 无签名机制

消息写法 #

-- ① 纯文本(自动识别为 text 类型)
服务器 CPU 使用率 95%,请处理

-- ② Markdown(自动识别为 markdown 类型)
## 告警
> **CPU 使用率 95%**

-- ③ 完整企微 Webhook 消息 JSON
{"msgtype":"news","news":{"articles":[{"title":"标题","url":"https://..."}]}}

支持的消息类型 #

text / markdown / image / news / file / template_card


三、飞书 #

3.1 feishuMsg(企业应用消息) #

通过飞书自建应用发送消息,支持给个人、群聊发消息。

前置准备 #

  1. 登录 飞书开放平台 → 创建企业自建应用
  2. 记录 App IDApp Secret
  3. 在「权限管理」中开通 im:message(发送消息)权限
  4. 在「事件与回调」中配置回调地址(若需接收消息)
  5. 将应用发布上线

数据源配置 #

字段 填写值 说明
驱动类型 feishuMsg
host 接收人 ID,多个用 , 分隔 见下方 ID 类型说明
用户 App ID
密码 App Secret
db receive_id_type(可选) 见下方,留空则自动推断

接收人 ID 类型说明 #

ID 前缀 自动推断为 说明
ou_ open_id 用户的 Open ID
oc_ chat_id 群聊的 Chat ID
其他 user_id 用户的 User ID(企业内唯一)

也可以在 db 字段中强制指定:open_id / user_id / chat_id / union_id

消息写法 #

-- ① 纯文本
服务器 CPU 使用率 95%

-- ② 完整飞书消息 JSON
{"msg_type":"text","content":{"text":"hello"}}

-- ③ 发送群聊消息(chat_id 以 oc_ 开头)
{"msg_type":"interactive","card":{"config":{"wide_screen_mode":true},"elements":[{"tag":"div","text":{"tag":"lark_md","content":"**告警**\nCPU 95%"}}]}}

支持的消息类型 #

text / post / image / interactive / share_chat / share_user / audio / media / file / sticker


3.2 feishuWebhook(机器人 Webhook) #

在飞书群聊中添加机器人,获取 Webhook 地址后直接发消息。

前置准备 #

  1. 飞书群 → 设置 → 群机器人 → 添加机器人
  2. 复制 Webhook 地址(https://open.feishu.cn/open-apis/bot/v2/hook/xxx
  3. 可选:在机器人设置中开启「签名校验」,复制签名密钥

数据源配置 #

字段 填写值 说明
驱动类型 feishuWebhook
host 完整 Webhook 地址 必填
密码 签名密钥(字符串) 不开启签名校验则留空

消息写法 #

-- ① 纯文本
服务器 CPU 使用率 95%

-- ② 含 Markdown 标记 → 自动转为 post 富文本类型
## 告警
> **CPU** 使用率 95%

-- ③ 完整飞书 Webhook 消息 JSON
{"msg_type":"interactive","card":{...}}

注意:飞书 Webhook 不支持 markdown 消息类型,若传入 Markdown 文本,模块会自动转为 post 富文本格式。

安全设置说明 #

安全方式 password 字段
留空
签名校验 填写签名密钥
IP 白名单 留空(在飞书后台配置)

四、快速选型参考 #

场景 推荐方式
群聊里快速发消息 Webhook(三家的 Webhook 都最简单)
给指定员工发工作通知 Msg(需要创建企业应用)
需要消息回调/交互 Msg(Webhook 不支持回调)
不想建应用,只想发群消息 Webhook

五、通用消息写法规则 #

所有模块均支持以下两种写法:

写法 A:直接传消息内容(字符串) 模块根据内容自动判断消息类型(text / markdown / post)。

写法 B:传完整平台 JSON(含类型字段) 若字符串是合法 JSON 且包含平台规定的类型字段(msgtypemsg_type),则直接 POST,不做额外包装。

平台 JSON 类型识别字段
钉钉 msgtype
企微 msgtype
飞书 msg_type