API 能减少重复操作,但也会把不清楚的流程放大。接入前先确定谁负责业务规则、谁负责开发、谁处理失败订单。
系统与负责人
说明现有 WMS、ERP 或打单系统,由哪一端发起请求。指定开发联系人和运营负责人,避免接口成功后无人判断渠道是否该用。
字段与单位
整理订单唯一编号、重量、长宽高、单位、货型、服务代码和面单格式。面单格式还应区分 PDF、ZPL 等返回类型、标签纸尺寸和打印设备配置;上线前可以按面单打印与贴标检查表验证。单位转换必须在一处完成,不能让调用方和服务端各猜一次。
如果这些字段还在频繁变化,先用家庭仓表格批量打单模板跑顺数据,会比直接写接口更容易发现问题。
幂等与防重复
同一个业务订单重复请求时,应返回原结果或明确拒绝。网络超时不代表承运商侧一定没创建成功,因此重试前要先查询状态。
路由规则
先用可解释的条件:国家、区域、重量段、尺寸段和货型。不要一开始就做难以维护的自动比价黑盒。每条路由应有备用渠道和停用开关。
错误与日志
区分字段错误、余额或权限问题、渠道不可用和系统故障。日志要能通过内部订单号查到请求、响应、面单和后续账单,但不应无期限保存不必要的收件隐私。
轨迹回传也要区分“面单已生成”和“承运商已接收”,具体可参考面单生成后没有首扫的排查方法。
测试与上线
从测试环境和代表性订单开始,覆盖正常、超限、重复和超时场景。小流量上线后观察轨迹和账单,再逐步扩大。生产 API 密钥不要通过聊天截图或普通咨询表单发送。
API 验收记录表
以下是空白测试框架,不代表任何接口能力已经通过。实际验收时应填写系统或文档版本,并把截图、日志编号或测试结果保存在双方约定的安全位置。
| 测试项 | 脱敏输入 | 预期结果 | 实际结果 | 证据 | 负责人 |
|---|---|---|---|---|---|
| 正常创建 | 合规地址、重量尺寸、唯一订单号 | 返回明确状态、面单或可查询编号 | |||
| 单位错误 | 缺少或混用重量尺寸单位 | 拒绝并返回可理解的字段错误 | |||
| 重复请求 | 同一订单号再次提交 | 返回原结果或明确拒绝,不重复出单 | |||
| 网络超时 | 创建时模拟超时 | 可先查询真实状态,再决定是否重试 | |||
| 权限或余额 | 无权限仓库或不可用条件 | 返回可区分的错误,不生成无效标签 | |||
| 查询与作废 | 已创建的虚构测试订单 | 可查状态;作废结果按具体产品规则返回 | |||
| 面单打印 | PDF 或 ZPL 测试文件 | 尺寸、条码和订单映射可核对 | |||
| 日志与隐私 | 用内部订单号查测试记录 | 能定位请求结果,且不向无关人员暴露数据 |
多仓、权限和峰值不是一句“支持”
多仓场景需要逐项核对:不同仓库是否能看到彼此订单、谁可以创建和作废、账单怎样归属、仓库代码写在哪里,以及人员离开后权限怎样撤销。日常与旺季峰值也应转成测试计划,记录并发方式、超时恢复和失败队列;没有完成实际测试前,不公布批次上限、延迟或可用性数字。
上线前还要有回滚安排:暂停自动路由、切回表格或人工处理、停用异常渠道,并保留未完成订单清单。这样接口异常时不会靠反复点击重试解决。
如果已经明确系统、字段与负责人,可以继续查看表格导入与 API 对接方案,或只提供脱敏货型资料进行渠道初筛。