钉钉报错消息提醒:供应链集成异常的实时通知实战
旺店通金蝶云星空轻易云钉钉报错通知供应链集成WebAPI私有化
这个策略解决什么问题
在私有化部署的供应链集成环境里,物料、订单、库存等 27 条同步方案一旦某条失败,靠人工盯日志难以及时发现。我们用轻易云数据集成平台的「策略报错查询 + 钉钉机器人推送」组合,把错误状态以群消息形式实时通知到运维群,5-10 分钟内即可定位异常方案与单据编号。
数据流向与字段映射
整条链路分两步:先从轻易云内部接口拉取报错明细,再调用钉钉机器人的 webhook 发送消息。
| 阶段 | 接口 | 作用 | 关键字段 |
|---|---|---|---|
| 源 | StrategyErrorDetail(轻易云 WebAPI,POST) | 查询指定方案在最近 N 秒内、状态为「错误」的运行记录 | recentSeconds、ids(方案 ID 列表)、status |
| 中间层 | 轻易云调度器 | 变量透传 | strategy_name、lessee.name、number、response_at、problem |
| 目标 | DingTalkRobotDetail(钉钉机器人 WebAPI,POST) | 把错误信息推送到钉钉群 | access_token、name、lessee_name、number、response_at、problem |
status 字段不传则默认查询「错误」,多个值可用英文逗号分隔;recentSeconds 推荐 600 秒,与调度频率保持一致。
在轻易云上如何配置
- 新建源接口:选择 WebAPI / POST,API 选择轻易云内置的
StrategyErrorDetail,请求体填写 recentSeconds、ids、status 三个参数。ids 维护一份方案 ID 清单,建议放在轻易云的「集中参数表」中统一管理,便于后续增减方案。 - 新建目标接口:选择 WebAPI / POST,API 选择
DingTalkRobotDetail,access_token 填入钉钉机器人 webhook 的 token,其余字段用{{变量名}}引用源接口返回的字段。 - 写一条极简策略:源拉数据 → 目标推送,无需复杂清洗,轻易云会自动做变量替换。
- 调度错峰:源策略配置
1-59/10 * * * *(每 10 分钟的第 1 秒开始),目标策略配置5-59/10 * * * *(错开 5 秒),避免同一时刻并发抢占。
实施步骤
我们把这条「通知类」策略拆成三个阶段上线:
- 阶段一:静默试跑(增量起点)。先开启源接口但不推送钉钉,让轻易云把查询结果写到日志,确认 ids 覆盖了所有在跑方案,status=3 能稳定命中错误记录。
- 阶段二:全量触发。开启目标接口,手动触发 1-2 次,观察钉钉消息格式、@人、链接是否正确;同时核对变量是否正确替换。
- 阶段三:调度频率固化。投产
1-59/10源策略 +5-59/10目标策略的错峰组合,进入稳态运行。
增量与全量双轨在这里的体现是:先增量观察错误样本,再全量推送,避免上线即「轰炸」运维群。
踩坑复盘
- 典型错误是 ids 写死在请求体里。新增或下线方案后没人同步,几个月后通知范围越来越偏。稳妥的做法是把 ids 抽到轻易云的「集中参数表」或数据源里统一维护。
- access_token 与机器人绑定,容易混群。多项目共用同一轻易云租户时,务必给每个项目单独建机器人,token 与项目一一对应。
- recentSeconds 与调度频率不匹配。调度 10 分钟一次却只查 60 秒,会漏报;设太大又会重复推送。建议 recentSeconds = 调度周期 × 1.5。
- 变量未替换就发出去了。常见于目标接口没勾「自动构建请求模型」。稳妥的做法是在轻易云里开启
autoFillResponse,让返回字段自动生成变量模板。 - status 不填默认只查错误,但有时也想看「队列中堆积」。需要把 status 改成
3,5这类多值组合,轻易云支持逗号分隔。
适用场景与不适用场景
适用:私有化部署、多方案并发、需要 7×24 运维响应的供应链集成项目。不适用:只有 1-2 条同步方案的轻量场景(直接看日志即可)、对消息实时性要求秒级以下的场景(应走事件流而非轮询)。
本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-wdt-kingdee-cloud-3207-nb18b8671-4894c7ee