
深圳一家做工业设备的企业,去年要把 ERP 的订单、CRM 的客户、WMS 的库存打通。老板问"多久能上",IT 负责人答不上来——因为没有人先数过到底要连多少条接口。系统对接开发的工期不由"几个系统"决定,而由接口条数、接口形态、对方配合度三项共同决定。
先把粗结论摆出来:三个系统之间"打通",落到接口清单上可能只是十来条,也可能要几十条。单条接口在文档齐全、双方都能排人联调的前提下按 3-5 天估,遇到文档不全或对方厂商排期冲突,一周到两周都属于常态。任何不给接口清单就报出的工期,本质是猜的。
一、先做接口盘点,再谈工期
盘点的第一条原则是数流程,不是数系统。一家集成选型研究机构在今年 8 月的分析里把这条讲得最直白:两个系统之间的双向同步要算两条流程,因为每个方向都有独立的字段映射、失败模式和冲突处理规则。"ERP 与 CRM 打通"写在需求里是一句话,落到接口清单上通常是十几条记录。
五类常见系统的对外形态差别很大,盘点时踩的坑也不一样:
| 系统 | 常见对外接口形态 | 盘点时最该确认的坑 |
|---|---|---|
| ERP | REST 与 WebService 混合;老版本常只给数据库视图或中间表 | 单据状态机不透明,反写会卡在审批中;状态字段没有对外枚举 |
| CRM | 以 REST 为主;SaaS 版本多为 OAuth2 + 调用限流 | 客户主数据归属不清,双向同步时两边互相覆盖 |
| OA | WebService/SOAP 居多,审批入口常是厂商私有协议 | 审批回调只推一次,超时即丢失,必须自建补偿 |
| MES | 数据库直连或文件落地(CSV/XML)为主 | 工单号、批次号口径与 ERP 不一致,一对一映射不成立 |
| WMS | REST,部分厂商额外提供消息主题 | 库存变动没有事件流,只能定时轮询,实时性受限 |
每条接口在清单上至少要写清八项,少一项就是给后期埋一次返工:
- 字段口径:单位(元/分/万元)、枚举取值、时间戳时区、金额精度。
- 主数据归属:客户、物料、仓库、组织架构谁是唯一真源,谁只能读。
- 触发方式:事件推送、定时轮询、人工触发,决定实时性上限。
- 幂等要求:同一单据重复推送是否可接受,幂等键用哪个字段。
- 限流与并发:对方每秒允许多少次调用,超限是排队还是拒绝。
- 鉴权与网络:Token/证书/白名单,走公网还是专线,测试环境是否可达。
- 错误码与告警:失败后告警发给谁,是否需要人工补单界面。
- 回滚与冲正:下游失败时上游是否撤单,冲正单据怎么生成。
给一个可对照的量级。截至本次查询,本站当前可公开访问的 100 条案例页面记录中,零售商业 16 条、智能制造 15 条、仓储物流 10 条、餐饮连锁 9 条。这个计数只反映公开页面记录,不代表交付量、客户授权或项目成效,也不能外推为行业分布;但它与上面五类系统的接口形态大致对得上——需求最密集的地方,通常就是老系统最多的地方。
我们在深圳与大湾区的软件项目里遇到的老系统组合,与上面五类形态高度重合,可参考深圳软件开发的交付范围。工期估算之后紧接着要谈的就是价格与验收,这两篇可以接着看:软件定制开发报价拆解、软件开发报价与合同验收核对清单。
二、三种集成方式的工期差异:同步 API、消息队列、ETL 批量
同一批接口,用哪种方式实现,工作量可以差出一倍。差别不在"能不能通",而在出错以后谁来兜。
| 方式 | 适合的场景 | 在基础接口之上多出的工作量 | 工期特征 |
|---|---|---|---|
| 同步 API 调用 | 单据创建与校验、实时查询、状态确认(下单、查库存、查额度) | 超时、重试与退避、熔断、失败补偿与对账 | 基准。加工量集中在健壮性设计,工期可预估 |
| 消息队列异步 | 库存变动广播、状态变更通知、跨系统事件分发 | 消息主题与报文结构设计、消费端幂等、死信队列、顺序与重复处理 | 单条链路工作量高于同步调用,主要吃在幂等与补偿验证 |
| ETL 批量 | 报表取数、历史迁移、每日对账、明细汇总 | 调度与依赖、增量水位、脏数据清洗、重跑与回补机制 | 单批次看似便宜,但脏数据治理常常成为最大的一块 |
选错方式的代价是返工而不是延期。业务方要求"库存变动秒级可见",却只能用轮询实现,第一版上线后必然被推翻重做一次;反过来,每天只跑一次的报表数据用消息推送,纯属把成本花在不需要的实时性上。
一条实用判断:凡是需要在下游产生新单据的,优先同步 API(失败可以当场反馈给操作人);凡是下游只是"知道一下"的,走消息队列;凡是一次性处理历史数据或跨系统算账的,走 ETL。三者的工作量不是并列关系,异步与批量都要在同步接口之外额外建设。
三、单个接口 3-5 天是怎么算出来的
这个数字不是拍出来的。一家集成平台团队发表的公开分析,把单个接口的耗时拆到了工序级别:需求理解与对齐(0.5 天)、接口设计与文档(0.5 天)、代码开发(1-1.5 天)、联调测试(0.5-1 天)、上线与验证(0.5 天),加起来 3 到 5 天。该文的判断是,这"已经是比较乐观的估计"。下表按同一套步骤,把每一步必须到场的人和最常见的拖延点对照着看。
| 步骤 | 必须到场的人 | 最常见的拖延点 |
|---|---|---|
| 需求对齐 | 双方业务负责人 + 双方开发 | 字段口径争议,业务方本人不在场 |
| 接口设计与文档 | 主责开发 | 对方接口文档缺失,靠抓包反推 |
| 编码 | 主责开发 | 数据转换与重试逻辑,异常分支比主流程长 |
| 联调测试 | 双方开发同时在线 | 对方排期冲突,联调窗口排到两周后 |
| 上线与观察 | 主责开发 + 运维 | 生产环境白名单、证书未提前申请 |
真正把工期撑开的,是同一篇来源里点明的那句:系统接口文档不全、对方排期冲突、业务逻辑复杂需要反复确认时,一周甚至两周也是常事。也就是说,上面那个区间要成立,前提有四条:文档齐全、双方都排得出人、字段语义已对齐、生产环境准备就绪。报价单上不写这四个前提,等于把风险全留给甲方。
把单接口时间乘上条数,量级就出来了。同一篇分析给出的经验值:一家中等规模制造或零售企业,ERP 对 CRM 5-8 条、ERP 对 OA 审批 3-5 条、ERP 对 MES 5-10 条、CRM 对营销 3-5 条,加上财务、SRM、WMS、BI,保守估计 30 到 50 个接口是常态,上百个接口并不罕见。
按 30 条 × 3 天 = 90 人天算,两名开发要连续做一个半月,且不含后续维护与变更。需要说明的是,这是一家集成平台厂商的公开分析,结论方向可用,具体数字带有其产品立场。
海外项目基准可以作为交叉验证。一家海外集成商的 ERP 集成页,依据其公开的交付经验给出区间:集成费用从 2,500 美元起到 37,500 美元以上,周期 2 到 22 周。这个区间宽到几乎无法直接报价,恰恰说明问题:决定工期的是接口复杂度与配合条件,而不是"对接一个系统"这个动作本身。
四、吃掉工期的三处,都不在编码里
第一处是字段语义。上面那篇分析的例子很典型:订单金额在 A 系统叫 total_amount,在 B 系统叫 order_value,需要翻译。更麻烦的是同名不同义——两边的"已发货"可能分别指出库完成和客户签收,字段名一样、含义错位,联调时数据看着对,对账时全错。这类问题只能在需求对齐阶段逐个字段确认;拖到编码阶段才发现,要连带改转换逻辑、重跑联调、重新对账,返工量远超一次对齐会议的时间。
第二处是对方厂商的配合排期。联调窗口属于第三方资源,不在你的排期表里。ERP 厂商的顾问同时在跑几个项目,能给你的联调时段可能是下下周的某个下午;OA 厂商年底封版,期间不受理接口变更。你的开发可以并行,联调必须串行,这一段是整个项目最不可压缩的部分,也是"合同里必须写清联调窗口"的原因。
第三处是主数据与历史脏数据。客户重名、物料一物多码、仓库在三个系统里有三套编号、历史单据状态字段为空。接口本身能跑通,但第一次全量同步就会暴露这些问题,而治理脏数据的工作量往往落在业务部门,不受技术排期控制。ETL 批量方式尤其容易在这里翻车:代码一天写完,清洗规则谈了两周。
这三处的共同点是:它们都不产生代码,因此不出现在报价的工作量清单里,却实实在在吃掉工期。做法只有一个——把它们写进盘点的八项要素里,让它们在签约前就显形。
五、合同怎么写,工期才不失控
接口类项目扯皮,多数不是能力问题,而是范围没定义清。以下几条是可直接写进合同的骨架,不构成法律意见,具体条款请由双方法务确认。
- 接口清单作为附件,逐条编号。每条包含源系统、目标系统、方向、触发方式、字段级映射表。清单之外的需求一律走变更,这是唯一能挡住"顺手再加一个"的机制。
- 单接口报价 + 变更单价分开写。新增接口按条计价,字段变更与逻辑变更按变更单价计价。两者单价不同,因为变更要回归测试已有链路。
- 联调责任边界写清楚。谁开测试环境、谁提供测试账号与仿真数据、联调窗口由谁协调、对方超时未响应如何处理。第三方厂商的配合义务应当由甲方在其采购合同中约束,乙方只承诺自己的响应时限。
- 验收口径量化。按单据类型约定数据一致性抽样比例与允许偏差(例如抽样 200 条,字段级差异为 0);约定失败重试次数与退避策略、超时定义、告警接收人与响应时限;约定上线后观察期长度与观察期内的缺陷处理方式。
- 接口文档不全的定责方式。约定"文档交付前不进入编码"作为前置条件,由甲方负责取得对方接口文档;若因文档缺失导致乙方需通过抓包、反推或与厂商反复确认来完成对接,超出部分按变更计价。这一条不是推卸责任,而是把不可控成本放到桌面上。
- 知识交付随代码走。接口清单、字段映射表、错误码字典、部署与回滚手册随交付物一并提交,否则第二期换人或自研接手时会重做一遍盘点。
六、系统对接开发该用 iPaaS 连接器还是定制代码
分界线不在"要不要买平台",而在谁承担长期维护。该分析引用的咨询机构生命周期模型,给了一条很有用的决策规则:一条集成的运行与变更成本通常显著高于建设成本;维护、监控、故障响应与整体变更占总成本的约 80%,而建设只是提案上看得见的那 20%。该文据此提出判断:如果维护才是大头,那么"建设最快"的方案并不自动等于最便宜,"把维护义务最小化"的方案通常才是。
需要如实交代口径:这些比例来自咨询机构与厂商披露的代表性区间,属于行业经验值而非实测基准,不同系统规模下差异很大。但方向是一致的——只比建设期报价,通常会选错方案。
落到具体选择,可以用五个问题过一遍:
- 这批接口三年内会不会大改?会被频繁改的业务逻辑,放在代码里比放在图形化流程里更好维护。
- 对接的系统是不是主流 SaaS 产品?有官方连接器和版本兼容承诺的,连接器胜。该集成商的建议也是先从 iPaaS 起步,再用定制代码逐步补齐。
- 数据能不能出内网?涉及客户隐私或生产数据的,本地部署或专线方案会改变整个技术选型。
- 接口条数会不会持续增长?条数多的活,连接器的复用价值才显现;只有三条接口就上平台,平台费和维护费不划算。
- 团队里有没有人能长期维护这套流程?没有人维护的连接器配置,两年后就是没人敢动的黑盒。
一个务实的划分:标准单据搬运(订单、库存、客户、发票)用连接器或平台配置;核心业务口径的转换(MES 工单批次、行业特有的计价规则、结算分摊)用定制代码,并把转换规则文档化。混合方案通常是成本最低的那条路。
常见问题:工期、报价与对接范围
系统对接要多久?能给个常见范围吗?
按接口条数估才靠谱。单条接口在文档齐全、联调顺畅时的常态区间、文档不全时的膨胀幅度,以及按中等规模企业条数折算出来的量级,第三部分已经逐一给过,这里不重复。真正要先做的是把接口清单拉出来:条数一清楚,工期区间才有讨论的基础。给出"几周上线"的承诺前,先问对方要接口清单。
接口开发报价为什么差这么多?
因为报的常常不是同一件事。有的报价只含编码与自测,联调、上线观察、数据清洗、告警配置另计;有的包含第三方厂商协调;有的把 iPaaS 订阅费摊进项目费。比较报价时,把接口清单条数、联调窗口责任、验收口径、上线后观察期四项对齐,价格才有可比性。
单点登录对接要多久?
不按接口条数算,按协议和账号归属算。先确认三件事:对方支持 OIDC、SAML 还是 CAS;账号主数据归谁(HR、AD 还是业务系统);是否需要按角色做权限映射。前两项明确后,标准协议的对接通常比业务接口轻;没有标准协议、只能靠 Cookie 或页面模拟实现的,工作量和风险都会显著上升,这类方案也更容易在对方系统升级后失效。
ERP 与小程序对接,要注意什么?
小程序侧的限制在 ERP 侧都不存在:会话时长、请求域名白名单、不能长连接。因此实时性要求高的场景(库存、价格)要用短轮询加缓存,单据提交要有明确的失败回执与重试入口,不能让用户"点一下没反应"。安全上,小程序的登录态必须映射到 ERP 的操作员身份,否则审批留痕和权限控制都会失效。
数据同步方案怎么选?
按"下游拿数据做什么"选。下游要产生新单据或给用户即时反馈,走同步 API;下游只是感知状态变化,走消息队列;下游是报表、对账或历史迁移,走 ETL 批量。三种方式可以并存,但每一种都要单独约定幂等键、失败重试与告警接收人,否则数据不一致时无法定位是哪条链路出的问题。
下一步:先拿一份接口清单
如果你的项目正卡在"给不出工期"这一步,最有价值的动作不是找更多供应商报价,而是花两三天把接口盘出来:五类系统各有什么形态、每条接口的八项要素、谁是主数据。这份清单既是你内部排期的依据,也是对外询价时唯一能让报价可比的东西。
优码云在深圳,做的是 AI 转型咨询与软件定制开发,接口集成与老系统打通是我们交付里最常见的部分。我们可以按上面的框架协助做一次接口盘点,把工期的不确定性先摊开再谈报价:联系我们沟通接口盘点,或者先看已公开的案例页面了解我们的交付范围。
参考
- KPaaS 集成扩展:《从 3 天到 0.5 天:接口开发效率提升 70% 的实战方法》,ITPUB,2026-06-16。 http://m.blog.itpub.net/70042744/viewspace-3172807/
- Trango Tech Enterprise:《ERP 集成服务》,更新于 2026-08-03。 https://enterprise.trangotech.com/erp-integration-services/
- StackScout:《原生连接器、集成平台与定制 API 的 2026 年选型对比》,2026-08-30。 https://www.stackscout.net/articles/cc_20260829_174207.html
