一个接口改来改去:做产品要学会说「这次不做」
销售易与金蝶联调收工后,接口仍在不停加「顺便」。改很多轮仍不敢称稳定——学会说这次不做,和学会做一样重要。

有一个接口,我改了很多轮。
说的是销售易往金蝶推客户、商机那几条数据。七月初联调,Postman 两边各自都绿了,我一度以为可以收工。现场一对,类型不对,枚举各说各话,历史数据还缺几条映射——一行一行磨,磨得发木。这部分我认,集成本该如此。
更耗人的,是联调之后不断冒出来的「顺便」。
同事在群里说,多返回两个字段不难;财务问能不能按部门筛;还有人提,旧版 JSON 也兼容一下。单听每一句,都像合理。可接口不是积木,塞一块,文档改一页,测试加一条。后来有人问某个状态字段填几,三个人三种说法;文档标可选,校验却拦死——一周内我见了两次。
我有时接不住,就先说好。说好之后,晚上还在改映射表。有一天搞到十一点,版本号从 1.3 涨到 1.7,仍然没人敢拍板说这版能上线。
ResAPI 那边也类似。MCP 刚上线,有人建议再加 Tool、再加聚合接口。有些该做,有些只是有了也许会用。我若照单全收,会从开放查询胀成什么都沾一点的大杂烩,维护、限流、文档,全压在自己身上。
这次不做
所以我后来逼自己说四个字:这次不做。
不是撂挑子,是把力气留给主流程——数据准、链路通、调用方看得懂。其余的记进待办,会议纪要里写一句下阶段再看,比当场点头好收场。
「做完」我觉得是幻觉。需求会变,对面系统也会升级。想一次做满、永不修改,只会永远停在开发里。我现在习惯先写清范围:这一期解决什么,不解决什么;上线,跑真实流量;下一期再动待办,不在当前版本上无限叠功能。
联调也分期。第一期只要数据准、链路通;第二期再谈缓存、聚合;第三期再谈 Agent、MCP。销售易和金蝶那次已经说明,跳步往往意味着返工。
一个接口改十遍,若十遍都在扩范围,第十遍也不会更完善;若十遍是在收敛问题、固定契约,可能第三遍就能用。产品未必做得完,但可以做到这一阶段完整。
写这篇,是写给自己。做 ResAPI、做集成、做小站,都会遇到再加一点就好的诱惑。加一点往往最快,收一点通常最难。学会说这次不做,和学会做一样重要——接口是真的,话也得是真的。