先给结论:接口设计要围绕“谁有权改动、谁负责验证”来切分,而不是围绕“文档写得多细”。如果供应商只负责出方案和文档,最常见的选择是把接口做成“变更申请单+验收回执”两段式;如果供应商还要参与线上验证,则接口必须再加一层“只读数据通道+变更审批”。选哪一种,取决于你是否愿意让供应商触碰生产环境。
这个判断决定了接口的形态。两种常见条件如下:
这两种条件下的代价不同。条件A的代价是你方要承担全部实施风险,供应商没有验证义务;条件B的代价是你要开放部分数据访问,并承担权限管理和审计成本。选择依据不是谁更专业,而是谁对最终线上结果负责。
如果供应商只交文档,接口不能只是“发文件—收文件”。要把它设计成可追踪的变更申请单。每个文档条目对应一条申请,字段至少包括:
实际动作是:你方实施后,把实施结果回填到申请单,再发给供应商确认。这个动作的结果会影响下一步——如果供应商确认“与文档一致”,说明文档接口闭合;如果供应商指出偏差,说明文档本身有歧义,需要先修订文档再进入下一轮,而不是直接改线上。
一个假设例子:供应商文档写“为列表页增加分页标记”。如果你方实施后只改了第一页,供应商确认时指出分页参数未覆盖后续页。这个回执就暴露了文档缺少边界说明,下一步应是补充“适用范围”字段,而不是继续批量改模板。
当供应商要接触线上数据,接口必须分成两条独立通道:一条只读,一条审批。
只读通道用于供应商核对现状,例如查看页面渲染结果、结构化数据输出或抓取响应。它的设计要点是:账号只能读取指定范围,不能写入;访问记录可追溯;到期自动失效。不要用共享账号,因为共享账号无法区分“谁看了什么”,后续出现争议时没有依据。
变更审批通道用于供应商提出改动建议。他们不直接改线上,而是提交变更单,由你方审批后执行。审批单要写明:改什么、为什么改、不改的后果、验证窗口。审批通过后,执行方改完再把结果回执给供应商。
这里有一个容易忽略的例外:如果供应商的文档本身就是“实施脚本”或“配置模板”,那么审批通道要额外检查脚本的幂等性——同一脚本重复执行是否会产生重复配置。这个检查不是不信任供应商,而是防止线上状态与文档描述出现偏差。
只交文档的供应商通常不承担实施验证责任。但接口设计可以改变这一点。你可以在合作约定中把验证拆成两层:
这样拆的好处是:当线上结果不符合预期时,你能快速区分是文档问题还是实施问题。如果供应商拒绝参与线上层验证,接口就停在文档层,你方需要自行承担全部实施风险。这个取舍要在合作开始前明确,而不是等到出问题再补。
在正式对接前,拿一份供应商的现有文档做一次“盲测”:让执行方只看文档、不看供应商解释,尝试完成一条变更,并记录卡住的位置。卡住的位置就是接口需要补充的字段。这个动作的结果会直接影响下一步——如果卡点集中在“验证方式”缺失,就优先补验收回执字段;如果卡点集中在“变更对象”模糊,就优先补页面或配置项的定位规则。
接口设计的目标不是让文档更厚,而是让每一次变更都能被追溯、被验证、被回退。供应商只交文档时,你方承担的实施责任更重,因此接口要更偏向申请单和回执;供应商参与验证时,接口要更偏向只读边界和审批记录。两种选择都成立,前提是你清楚自己愿意承担哪一部分风险。