
产品配置指南 · 消息推送专题
让 EDI 异常第一时间被看见 EasyLink 发送飞书消息配置指南
从飞书自建应用、权限开通,到 EasyLink 参数配置与 Groovy 脚本接入——一份把 EDI 处理状态、异常告警实时推送到飞书群的实操手册。
| 📌 来源:聚信万通市场部 · 易连EDI | 🗓 发布:2026-09-02 | ⏱ 阅读时长:约 7 分钟 |
|---|
飞书是众多企业日常内部沟通与协作的核心平台。EasyLink 支持向飞书发送消息,可以把 EDI 报文的处理状态、异常告警实时推送给运维人员,让团队第一时间发现问题、介入处理——把 “被动等客户投诉” 变成 “主动秒级感知” 。下面我们就用 EasyLink 的实战视角,把 “发飞书消息” 这件事从开通到上线,一步步拆开讲透。
对很多已经接上 EDI 的供应商来说,报文失败、状态卡住 往往要等到第二天对账才被发现,损失已经造成。EasyLink 把 “发送飞书消息” 做成平台的标准能力后,运维只要配好参数、挂上脚本,任何异常都会在发生的那一刻推到飞书用户。这背后真正要打通的,是飞书开放平台的发送能力、EasyLink 的系统参数与依赖包 三层准备。
一、飞书侧前置条件:5 步拿到消息发送能力
消息不是”开了就能发”。先在飞书开放平台把发送能力准备好,EasyLink 才能以合法身份把消息推出去。建议按下面 5 步走:
| 步骤 | 关键动作 | 要点 / 入口 |
|---|
| 1 | 登录飞书开放平台,创建「企业自建应用」 | 开发者后台 open.feishu.cn/app |
| 2 | 为应用启用「机器人」能力 | 在「应用功能」中开启,消息将以机器人身份发出 |
| 3 | 开通所需权限 | contact:user.employee_id:readonly、im:message、im:message:send_as_bot(见下表) |
| 4 | 发布应用并提交管理员审核 | 「版本管理与发布」中添加版本,等待企业管理员审核通过 |
| 5 | 获取 App ID / App Secret 与接收者 ID | 凭证在「凭证与基础信息」页;接收者 user_id 在消息发送接口调试页获取 |
💡 三步权限分别负责什么?
| 权限 | 用途 |
|---|
| contact: user.employee_id:readonly | 读取用户 ID,用于解析消息接收者 |
| im: message | 发送消息 |
| im: message:send_as_bot | 以机器人身份发送消息(能否真正”发出”的关键) |
| 💡 一句话理解:权限三件套缺一不可,尤其 im:message:send_as_bot 前两个权限解决”谁能读”,第三个权限决定”能不能通过机器人发消息”。漏开 send_as_bot,会出现”不能通过机器人发消息”——接口调用返回无权限,消息永远到不了飞书。开通后务必走完第 4 步的发布审核,否则权限不生效。 |
|---|

图 1 | 飞书侧准备顺序:应用 → 权限 → 发布 → 凭证
二、EasyLink 侧核心配置:4 个参数 + 3 个 jar 包
飞书侧就绪后,回到 EasyLink。只需在系统配置中填入 4 个参数,并把 3 个依赖包放进插件目录,发送能力就接通了。
| 参数 | 说明 | 取值 / 来源 |
|---|
| feishu_ app_id | 飞书应用的 App ID | 开发者后台「凭证与基础信息」获取 |
| feishu_ app_secret | 应用 App Secret | 同上;注意保密 |
| feishu_ receiveIdType | 接收者 ID 类型 | 固定填写 user_id |
| feishu_ receive_ids | 消息接收者 ID | 多个接收者用英文逗号 , 分隔 |
| ⚠ 两个最容易写错的点 receiveIdType 必须填 user_id(不是 open_id,也不是 email);多个接收者之间只能是英文逗号,用中文逗号、空格或分号都会导致解析失败、消息只发一半或完全发不出。 |
|---|
| 💡 依赖 jar 包部署 将以下 3 个 jar 包复制到 ec-gw\plugins 目录下(版本需与 EasyLink 当前环境匹配): |
|---|
| # Jar 清单 oapi-sdk-2.8.5.jar gson-2.9.0.jar feiShu.jar |
|---|
三、核心代码:Groovy 脚本接入飞书发送
参数就绪后,在流程中挂一段 Groovy 脚本即可触发发送。脚本从系统配置读取 4 个参数、取出消息体 feishubody,再调用飞书 SDK 的多接收者发送接口。下面是一份可直接落地的示例:
| # Groovy package send_feishu_message import ec.gw.utils.SystemUtil import ec.gw.utils.Constants import com.sinowintop.easylink.tools.feiShu import ec.gw.logic.Context import ec.gw.logic.Messages import ec.gw.repository.B2bRepository def _messages = messages as Messages def _context = context as Context def _depends = depends as Map def messageId = _context.get(“messageId”) def tracker = (_depends.repo as B2bRepository).tracker(_messages, messageId) // 读取系统配置接口地址(敏感信息不硬编码) def feishu_app_id = SystemUtil.getProperty(Constants.System.config, “feishu_app_id”) def feishu_app_secret = SystemUtil.getProperty(Constants.System.config, “feishu_app_secret”) def feishu_receiveIdType = SystemUtil.getProperty(Constants.System.config, “feishu_receiveIdType”) def feishu_receive_ids = SystemUtil.getProperty(Constants.System.config, “feishu_receive_ids”) log.info(“[{}] feishu_app_id = {}”, _messages.seq(), feishu_app_id) log.info(“[{}] feishu_receiveIdType = {}”, _messages.seq(), feishu_receiveIdType) log.info(“[{}] feishu_receive_ids = {}”, _messages.seq(), feishu_receive_ids) def feishubody = _messages.makeSure(“temporary”).get(“variables”, “feishubody”) // 调用飞书 SDK,支持多接收者 String result = feiShu.sendMessageMultiReceiver( feishu_app_id, feishu_app_secret, feishubody, feishu_receiveIdType, feishu_receive_ids) log.info(“[{}] 飞书返回结果 = {}”, _messages.seq(), result) |
|---|

图 2 | EasyLink 对接架构:事件源 ↔ EasyLink(飞书 SDK)↔ 飞书机器人
四、四个”坑”:配置时最常栽在这里
接口跑通只是第一步。飞书发送对权限、凭证、ID 类型、依赖包的严苛,才是让无数配置反复失败、消息”石沉大海”的根源。我们按踩坑频率排了四个:
| ⚠ ① 权限漏开 / 类型不对 尤其忘记 im:message:send_as_bot,结果是 “不能发” ;或权限开通后没走发布审核,导致权限仍未生效,调用直接返回无权限。 |
|---|
| ⚠ ② App Secret 填错或复制时多出空格、首尾引号,或干脆明文写在脚本里。应统一走系统配置接口读取(如示例中的 SystemUtil.getProperty)并妥善保管,避免泄露与硬编码。 |
|---|
| ⚠ ③ receiveIdType 与 ID 不匹配 类型没填 user_id、或接收者 ID 取自错误字段(如 open_id),都会导致解析不到人——消息发送异常。 |
|---|
| ⚠ ④ jar 包缺失 / 版本不符 ec-gw\plugins 下缺 oapi-sdk / gson / feiShu.jar,或版本与当前环境不匹配,脚本一调用飞书 SDK 就报 ClassNotFound / NoSuchMethod,发送整体失败。 |
|---|
五、配置落地路径:五步走
用 EasyLink 把飞书消息接进 EDI 运维,通常走下面这条已经跑通的路径——把”读配置 → 构造消息 → 多接收者发送”封装成标准动作,运维只需配参数、挂脚本:
| 步骤 | 关键动作 | EasyLink 提供的支撑 |
|---|
| 1 飞书侧准备 | 创建应用、开权限、发布审核、取凭证 | 提供配置说明与权限清单,避免漏开 send_as_bot |
| 2 参数配置 | 填入 4 个 feishu_* 参数 | 系统配置中心,敏感信息加密存储、不硬编码 |
| 3 jar 部署 | 复制 3 个 jar 到 ec-gw\plugins | 依赖就绪,免编译、即插即用 |
| 4 脚本接入 | 在流程中挂 Groovy 脚本 | 读取配置、构造消息体、多接收者一键发送 |
| 5 测试验证 | 触发一次异常/状态变更,确认飞书收到 | 实时触达,发送结果回写日志,闭环可观测 |
六、写在最后
EasyLink 发送飞书消息,本质上就是一套 “飞书自建应用 + 三项权限 + 4 个参数 + 3 个 jar 包 + 一段 Groovy 脚本” 的组合拳。把它接好后,EDI 的异常和状态变更会在发生的那一刻推到飞书,让问题第一时间被该看见的人看见——把 “被动救火” 变成 “主动感知” 。
| 📌 小结:EasyLink 发飞书 = 飞书开放能力(应用/权限/凭证)+ EasyLink 配置(4 参数/3 jar)+ Groovy 脚本(多接收者)。把”对接”和”可观测”一次搞定,让 EDI 异常不再过夜。 |
|---|

👉 了解易连EDI—EasyLink,获取专属配置支持