用途:划清采购平台与周边系统的边界、定义数据权威与接口契约
| 对端系统 |
方向 |
内容 |
权威源 |
| ERP |
入 |
组织、员工、预算、科目、库存 |
ERP |
| ERP |
出 |
采购订单、收货、应付暂估、发票登记 |
采购平台(业务过程)/ ERP(财务凭证) |
| 电商商城(Punchout) |
双向 |
目录、购物车、下单、订单状态、对账 |
商城(商品与价格)/ 平台(审批与预算) |
| 合同系统 |
双向 |
合同条款、签章状态、协议价格 |
合同系统 |
| WMS/物流 |
双向 |
发货通知、运单、签收 |
WMS/承运方(物流事实) |
| 质检/LIMS |
入 |
检验结果、合格数量 |
质检系统 |
| 资金/支付网关 |
出 |
付款指令、支付回执 |
资金系统 |
| 风控/征信 |
入 |
供应商风险、关联关系 |
外部数据源 |
| 主数据平台 |
入 |
物料、供应商、组织 |
主数据平台或 ERP |
- 幂等:所有写接口要求业务幂等键(如“单据号 + 操作类型 + 版本”),重复调用返回首次结果。
- 异步优先 + 状态回查:跨系统调用不要假设同步可用;提供查询接口,让对端能主动核对最终状态。
- 契约版本化:字段新增兼容、语义变更升版本,保留共存期;禁止“加字段改含义”。
- 对账兜底:任何集成都要有周期对账(笔数 + 金额 + 状态),差异进入可执行任务队列。
| 陷阱 |
表现 |
对策 |
| 主数据双头维护 |
物料/供应商两边改,谁都不认 |
明确唯一权威源与同步方向,另一端只读 |
| 状态互写 |
两边都能改同一状态字段,来回跳变 |
单一 owner + 事件驱动更新,带版本号拒绝旧写 |
| 单据号体系不同 |
外部单号与内部单号混用,检索困难 |
显式维护映射表,禁止把外部号当主键 |
| 大结果集同步 |
全量拉取打挂对端 |
增量 + 分页 + 时间窗,或走数仓 |
| 汇率与税额口径 |
金额永远差几分 |
统一舍入规则与取值时点,写入契约 |
| 忽略撤销/冲销语义 |
只能正向同步,撤回无法表达 |
接口设计包含冲销与作废动作 |
对每个外部系统建立独立适配模块:外部 DTO ↔ 内部模型的转换、字段映射配置、异常与重试策略、限流与熔断、调用留痕(请求/响应摘要)。外部字段名不出适配层,替换供应商时改造范围可控。
- 每条集成链路有独立指标:调用量、成功率、P99 延迟、重试次数、积压、对账差异数。
- 提供“按业务单号看集成全过程”的排障视图(比翻日志有效得多)。
- 对端故障时要有降级:本地暂存 + 延迟同步,而不是让业务操作失败。
| 误区 |
修正 |
| 直连对方数据库读表 |
通过接口或数据服务,避免 schema 耦合 |
| 用同步调用串起所有系统 |
链路深度导致雪崩,改异步 + 状态机 |
| 认为“有重试就一致” |
无幂等的重试会造成重复数据 |
| 集成文档只写字段不写语义与口径 |
舍入、时区、状态含义必须写清 |
| 上线后无对账 |
不一致静默累积,月末集中爆发 |
- 企业应用集成(EIP)与集成模式(Enterprise Integration Patterns,Hohpe & Woolf)
- Punchout/eCat 标准协议(cXML、OCI)公开规范