可以设计,但接口必须从“交付物接口”改成“可执行接口”:文档只作为输入,真正约束双方的是数据、权限、动作和验收信号。若供应商连只读账号或测试环境都不给,这套设计会失效,因为缺少可验证的输入,任何接口约定都只能停留在纸面。
供应商只交文档时,先别急着补合同条款,而要分清你缺的是“数据”还是“权限”。数据缺失表现为文档里没有字段含义、枚举值、状态流转条件;权限缺失表现为你有文档,但没有账号、密钥、后台入口或日志查看权。两者的接口设计完全不同:前者要补可复现的样例,后者要补可回退的授权。
如果只能拿到文档,最小动作是把文档里的每个功能点改写成一条“输入—处理—输出”记录,并标注哪些字段来自你方、哪些来自供应商。这个动作的结果会直接影响下一步:能写清输入来源的条目可以先做接口草图,写不清的条目必须列入待确认清单,不能默认供应商会补。
面向只交文档的供应商,接口不应写成“你们负责实施”,而应拆成三类条目,每类都有明确的触发方和验收信号。
假设一个场景:供应商文档写“支持批量导入”,但没有字段顺序、编码格式和失败返回。此时可执行接口应写成:你方提供CSV,首行固定字段名,供应商系统返回逐行成功或失败标识;若对方只肯确认文档,不肯确认返回格式,则该项只能作为“待联调”,不能进入实施排期。这个例子说明,接口设计的核心不是把文档写得更长,而是把不可验证的描述压缩成可验证的最小单元。
如果供应商只交文档,同时拒绝提供任何测试环境、只读账号或脱敏样例,并且合同里也没有约定“不提供即视为未交付”,那么上述接口设计会失效。原因不是方法不对,而是缺少可观测信号:没有账号就无法验证权限接口,没有样例就无法验证数据接口,没有返回格式就无法验证动作接口。此时继续细化文档只会增加双方的理解成本,不会增加可实施性。
另一个失效条件是文档本身覆盖不了你方现有系统。比如你方已有会员体系,而供应商文档只写“对接会员”,既没有字段映射也没有同步频率。这种情况下,接口设计应先停在“差异清单”,而不是直接进入开发。
把上述三类条目整理成一页接口清单,只保留字段、触发方、验收信号三列,发给供应商确认。确认结果分三种,对应三种下一步:
这个动作的结果会直接改变下一步:拿到样例和账号,才谈联调排期;拿不到,就先把缺口写进验收条件。需要说明的是,文档齐全、账号开通或样例返回都不能单独证明实施已经完成,它们只是进入联调的必要输入。
只交文档的供应商最容易在验收时产生分歧,因为“文档写了”和“系统可用”是两件事。接口设计里应至少有一个可重复执行的验收信号,例如:用给定样例数据导入后,系统返回逐行结果;用只读账号登录后,能看到指定字段;触发一次动作后,状态从A变为B。信号必须能被你方独立复现,不能依赖供应商口头解释。
如果供应商坚持只交文档,你方仍可执行的最小动作是:把每个接口条目对应的验收信号写成一句可判断真假的陈述,并标注“需要账号”“需要样例”“需要返回格式”。这些标注就是下一步谈判和排期的依据,而不是对实施结果的承诺。