先给结论:把“文档”当成待验收的中间产品,而不是项目终点。具体做法是让供应商交付一份可执行的接口契约——字段、错误码、鉴权方式、限流规则、示例请求与响应都写清,并约定由谁在什么环境里跑通它。如果供应商坚持只交文档,你需要在合同里把“实施”拆成可独立验收的接口冻结、联调支持、缺陷修复三段,每段都有明确的完成标志和退出条件。
现象很常见:供应商按期交了一叠接口说明,你这边开发照着写代码,联调时才发现字段对不上、分页参数缺失、错误码含义不明。此时有两种解释。
解释一:文档本身合格,问题出在需求边界没冻结。供应商按初始约定写了文档,但你的业务在文档交付后又加了字段或改了流程,双方没有走变更确认,于是接口“看起来对、跑起来不通”。
解释二:文档不合格,供应商用文档篇幅掩盖了实现细节的缺失。比如只写“返回用户信息”,不写字段类型、空值规则、时间格式、鉴权失效后的行为。这种文档无法支撑任何一方独立实现。
两种解释指向完全不同的动作:前者要补变更流程和接口冻结节点,后者要补文档验收标准甚至更换交付方式。判断错方向,后续投入会继续打水漂。
能区分的证据不在文档厚度,而在可验证性。建议从以下三处取证。
这些证据的作用是决定下一步:如果是变更问题,先冻结需求再谈接口;如果是文档质量问题,接口契约必须重写并纳入验收。
面对“只交文档”的供应商,通常有两条路,各有成立条件。
路线A:文档即契约,己方实施。成立条件是:文档可独立验证、字段与错误码完整、己方有对应技术栈的开发人力、且项目允许己方承担联调成本。代价是联调期的问题定位会反复拉扯,你需要预留比正常项目更多的缓冲时间。适合接口数量少、逻辑简单、且己方团队熟悉该领域的场景。
路线B:文档加实施支持,供应商负责跑通。成立条件是:接口涉及支付、鉴权、第三方回调等高风险逻辑,或己方缺乏对应经验。代价是费用和排期都会增加,且需要把“支持”定义清楚,否则会退化成无限次答疑。适合接口复杂、错误处理要求高、或上线时间紧的场景。
选择的关键不是哪条更省事,而是谁承担联调失败的定位成本。如果定位成本主要由己方承担,就必须在文档验收上更严格;如果由供应商承担,就要在合同里写明响应时限和联调次数上限。
假设一个场景:你采购了一套订单查询接口,供应商只交文档。可以这样设计双方接口。
完成这些动作后,你会得到一个可判断的中间状态:文档是否合格、联调卡在谁那里、下一步该补需求还是补实现。这个判断结果直接决定你是继续合作、追加支持费用,还是启动替换供应商的流程。
假设某项目有12个接口,供应商只交文档,报价较低。己方开发按文档实现后,发现其中3个涉及回调的接口无法在测试环境触发。此时不要直接断定供应商失职,先核对:回调地址是否由己方提供、测试环境是否开放、文档是否写明了重试与签名规则。如果这三项都具备而仍无法触发,则更可能是文档或实现缺失;如果缺其中一项,则先补齐己方侧条件再复测。这个比较方法的价值在于,它把“谁的错”转化为“哪个条件未满足”,从而让下一步动作有依据,而不是停留在争论。