ERP 系统是企业的数据中枢,订单、库存、采购、财务都在里面。把企业微信接进 ERP,不是要把 ERP 搬到企微上,而是让企微成为 ERP 的一个通知和查询入口——业务人员在手机上就能处理 ERP 里的事,不用切回电脑开系统。这篇讲讲 ERP 对接的具体场景和实现方法。
一、ERP 对接和 CRM 对接的区别
先说清楚差异,避免用 CRM 的思路做 ERP。CRM 对接重点在客户数据双向同步,ERP 对接重点在业务事件通知和状态查询:
| 维度 | CRM 对接 | ERP 对接 |
|---|---|---|
| 数据方向 | 双向同步客户资料 | ERP → 企微单向通知为主 |
| 实时性 | 资料变更秒级 | 业务事件触发,按需推送 |
| 接口侧重 | 联系人、标签 | 消息、链接卡片 |
| 数据量 | 客户数据持续增长 | 通知消息为主,状态查询为辅 |
简单说,ERP 对接的核心是"ERP 里发生了什么,及时告诉该知道的人"。不需要把订单数据全量同步到企微,那是没有意义的搬运。
二、典型对接场景
ERP 里值得通知到企微的业务事件:
-
订单状态变更:新订单创建、已发货、已签收、已回款
-
库存预警:库存低于安全线、断货风险
-
采购审批:采购单待审批、审批通过/驳回
-
财务提醒:应收账款逾期、付款到期
-
生产异常:工单延期、质量异常
每个事件的接收人不一样:订单状态通知销售,库存预警通知采购,审批通知对应审批人。ERP 侧的事件通过消息总线(Kafka、RabbitMQ)推给通知引擎,通知引擎按规则路由到企微。
三、通知内容的设计
ERP 通知最怕的是信息过载。把 ERP 的完整订单详情贴到企微里,没人看得下去。正确做法是摘要 + 链接卡片:
{
"appid": "we_xxx",
"conversationId": 1688855874759204,
"title": "新订单 #20260916-001",
"description": "客户:张记食品 · 金额:¥12,800 · 销售:李明",
"url": "https://erp.company.com/orders/20260916-001"
}
message/sendLink 链接卡片是这类场景的最佳选择。企微里看到摘要,点进去看 ERP 里的完整详情。摘要放三要素:什么单、谁的、多少钱/什么状态。状态相关的字段(金额、日期)建议格式化,别贴原始字段值。
文本通知也有用武之地,比如库存预警这类需要快速响应的场景,纯文本一行字最直接:
⚠️ 库存预警:SKU-A001 当前库存 50,低于安全线 100,请尽快补货
四、双向查询的实现
单向通知做完了,下一个需求通常是"能不能在企微里查 ERP"。比如销售想查某个客户的订单状态,不想切到 ERP 系统。
实现方式有两种思路:
思路一:机器人式查询。客户在企微里发"订单 20260916-001",回调收到消息后解析关键词,调 ERP 查询接口,把结果格式化成消息发回去。这种适合简单查询,实现快但体验一般。
思路二:链接卡片+H5。在企微里推送一个链接卡片,点进去是 ERP 的 H5 查询页面。H5 页面可以做得很完整,支持搜索、筛选、详情查看。体验好但开发量大。
建议从思路一入手验证需求,确认使用频率后再投入做 H5。很多看着有用的查询功能,做完发现根本没人用,先验证再投入能省很多冤枉活。
五、ERP 侧的对接改造
ERP 这边也要做适配。几个要点:
-
事件总线封装。ERP 的业务事件(订单状态变更、库存预警)要通过统一的消息总线推出来,格式要标准化。不同 ERP(用友、金蝶、自研)的事件结构差异很大,先做一层适配器统一格式
-
权限打通。企微侧的人对应 ERP 里的哪个账号,要建映射表。通知推送时按 ERP 账号查企微 user ID,查询时按企微 user ID 反查 ERP 权限
-
异步处理。ERP 的事件量可能很大(双十一这种节点),通知引擎要能扛住高峰。削峰填谷靠队列,前端看到延迟几秒不影响业务
六、对接前的准备
ERP 对接涉及的业务系统多,联调成本高。建议在开通前把几件事准备清楚:ERP 侧能推送哪些事件、每种事件的接收人规则、企微侧的 appid 归属(哪个 ERP 实例对应哪个企微号)。这些信息准备不充分就开工,联调阶段会反复返工。
想先验证流程的同学,可以在控制台开测试期,按Eyun开发文档跑通"扫码登录→发消息→收回调"的最小闭环,再开始接 ERP 的事件。链路通了,剩下的是业务逻辑的编排。
写在最后
ERP 对接的核心是"让业务事件及时触达该知道的人,让人能快速处理"。不需要把 ERP 全搬进企微,做透通知和查询这两件事,对业务人员就已经是很大的效率提升。技术上的难点不在企微接口,在 ERP 侧的事件封装和权限打通,这块花的时间会比写企微侧代码多得多。

240

被折叠的 条评论
为什么被折叠?



