企业管理系统向飞书发送消息
阅读 29

本篇将讲解如何在企业管理系统中,发送消息到飞书等平台。
问题背景
企业有自己内部的企业管理系统或ERP系统。但是,提醒常常使用站内提醒、邮件提醒等方式,实时性不好。要查看消息,也没有那么方便。飞书、钉钉、企业微信等作为企业办公软件,有着非常强大的实时消息提醒功能。那能不能将两者结合到一起,强强联合呢?
答案是可以的。
第一步:创建一个用于发送消息的应用
进入飞书管理后台,选择 应用管理,点击 创建应用 按钮,点击 创建企业自建应用 :

完成后,点击发布。这样,应用就创建好了。
第二步:为应用添加机器人
为了实现给某个用户或某个群组发送消息,需要用到机器人🤖️,所以,我们需要给应用添加一个机器人。
也很简单,在 添加应用能力 中,选择 机器人 就可以了。
另外,还需要在上方导航栏或左侧导航栏的 应用发布 > 版本管理与发布,点击 创建版本。然后,发布即可。
第三步:开通发送消息所需的权限
在 权限管理 中,选择 以应用的身份发消息。完成后,就可以了。
到这里为止,准备工作就已经完成,接下来,就是测试看看是否正常。
第四步:调用发送消息 API
就最简单的方式,就是使用飞书提供的 API 调试台。

界面如上。
- 首先,选择
tenant_access_token,接着,点击 获取Token,就能得到该应用的tenant_access_token。 - 其次,查询参数中,选择 open_id,接着,点击 快速复制 open_id,选择某个企业员工,就能得到该员工的open_id,记录下来。
- 最后,就是填写请求体:
{
"receive_id": "ou_a71cfd8e2507a9c1e12362d0a1234567",
"msg_type": "text",
"content": "{\"text\":\"test content\"}"
}其中,这个receive_id的值,就填写上面获得的open_id的值。
点击 开始调试。如果顺利,就可以在飞书中收到一条这个机器人发送给该员工的消息了,内容类型为文本,内容为"test content"。
这是最简单的情况,在实际开发中,换成相关编程语言就可以了。这里以Node.js为例:
const lark = require('@larksuiteoapi/node-sdk');
const client = new lark.Client({
appId: 'app id',
appSecret: 'app secret',
disableTokenCache: true
});
client.im.v1.message.create({
params: {
receive_id_type: 'open_id',
},
data: {
receive_id: 'ou_a71cfd8e2507a9c1e12362d0a1234567',
msg_type: 'text',
content: '{"text":"test content"}',
},
},
lark.withTenantToken("t-g998al7KCPA2B3FNCK763E2UOJR57DABCDEFGEG")
).then(res => {
console.log(res);
}).catch(e => {
console.error(JSON.stringify(e.response.data, null, 4));
});appId 和 appSecret 在应用凭证中可以获得。
open_id和user_id区别
核心区别在于:open_id 是“应用内”的身份,user_id 是“企业内”的身份。
- open_id:用户在“这个应用”里的专属 ID,每个应用都不同。同一个用户,在应用 A 里的 open_id 和在应用 B 里的 open_id 完全不同。优势是获取门槛较低,只要用户在应用内,通常就能拿到它。
user_id:用户在“企业”里的统一 ID,每个应用都一样,在同一个企业内,无论用户使用多少个不同的应用,他的 user_id 都是同一个。因此,它适合用来跨应用打通用户数据。但代价是,调用接口获取或使用 user_id 时,通常需要额外的敏感权限(如“获取用户 user ID”)
参考
最后编辑于: 2026-10-21