如果供应商只交付需求说明、接口文档或数据库设计,却不参与联调与上线,双方接口必须从“描述性文档”改成“可执行契约”:把请求方法、路径、参数、状态码、错误结构和示例写进机器可读的规范,并约定由谁提供模拟服务、谁负责联调验收。否则文档看起来完整,真正对接时仍会反复返工。
常见情况是,供应商交来几十页接口说明,字段表、流程图、时序图都有,但前端或第三方系统一开始对接就卡住:字段类型对不上、分页参数含义不一致、错误码没有统一定义。文档厚度和可对接程度并不成正比。
这时通常有两种解释。第一种是文档本身缺少可执行约束,只写了“大概是什么”,没写“必须返回什么”。第二种是双方对交付边界理解不同:供应商认为交完文档即完成,需求方却默认对方要参与联调、修缺陷、配合上线。两种解释指向的应对方式完全不同。
要判断问题出在文档质量还是交付边界,可以做一个低成本验证:找一名没有参与需求讨论的开发,只拿现有文档,尝试写出一个可运行的模拟调用或本地 mock。
这个验证的意义在于:它把“文档不好”和“边界没谈清”分开。前者需要补文档规范,后者需要补协作条款。把两者混在一起谈,往往只会得到“再改改文档”这种无效结论。
如果确认要按“只交文档”的模式推进,接口文档至少要达到可被工具解析、可生成 mock 的程度。可以要求供应商提供 OpenAPI 或同等规格的描述文件,而不是只给 Word 或 PDF。最小集合包括:
假设一个订单查询接口,文档只写“传入订单号,返回订单信息”,没有说明订单号是字符串还是数字、不存在时返回空对象还是 404。实施方只能猜,猜错就要返工。若文档写成 GET /orders/{orderId},并注明订单号必填且为字符串、不存在时返回 404 与统一错误体,对接成本会明显下降。这里的数字只是说明比较方法,不代表任何真实项目指标。
技术接口只是双方接口的一半,另一半是协作接口。只交文档不实施时,建议在附件中明确以下动作及其结果如何影响下一步:
这些条款不解决技术问题,但能决定技术问题出现后由谁推进。缺少它们,接口文档再规范,也可能在联调阶段变成无人负责的悬空文件。
可以接受纯文档交付的前提通常有三条:需求方自己有开发能力;接口规范达到可生成 mock 的程度;双方约定了明确的答疑与缺陷处理窗口。三条都满足时,文档交付是可行的,甚至更高效。
反之,如果需求方没有独立实施团队、接口涉及支付或身份等高风险链路、或者上线时间与联调质量直接相关,就应把“参与联调并修复不一致”写入交付范围。此时只买文档,等于把最大的不确定性留给自己。
判断标准不是文档厚不厚,而是:拿掉供应商之后,需求方能否仅凭现有材料完成对接。能,就按文档交付设计接口;不能,就把实施支持一并纳入约定。这个判断做完,再决定接口文档要写到多细、协作条款要留多长,才不会本末倒置。