FedEx API版本控制
FedEx使用语义化版本控制来管理API版本。每个版本由“主版本号.次版本号”(如Ship API 1.1)版本格式表示。新的主要版本表示不向后兼容的更改,新的次要版本表示向后兼容的更改。
FedEx遵循简单的URI版本控制。即,URI路径中只会表示主要版本号。请注意,URI路径中不包含次要版本号。此策略使用URI路由来精确定位API的特定版本。
示例: /ship/v1/shipments
版本控制策略指导原则
我们计划减少发布FedEx API主要版本,并会在较新的主要版本发布的两年后弃用旧的主要版本。例如,如果当前发布的主要版本是“N”,则自“N”版本发布后的两年内,仍将继续支持“N-1”版本。
例如:2020年发布主要版本V1.0。如果2021年发布主要版本V2.0,则将在2023年弃用V1.0。
次要版本将支持大部分新功能和功能更新。
例如:发布主要版本1.0,次要版本1.1、1.2等,以引入新功能和功能更新。
在任何时间点,特定API的所有端点都具有相同的主要版本。文档的最新版本只会在FedEx Developer Portal上提供。但每个API概述页面下都提供有更改日志,详细列出主要和次要版本更改。
何时发布API主要版本?
虽然我们一直在努力尽可能减少API主要版本的数量。但在某些情况下,发布新的主要版本不可避免。下面是发布新的主要版本的几个主要原因:
- 现有枚举值被删除,或格式或值本身在请求或响应中发生更改时
示例:N版本中删除了locationSearchCriterion元素的枚举值“GEOGRAPHIC_COORDINATES”;日期语法从YY-MM-DD更改为MM-DD-YYYY;响应中的服务站类型从FEDEX_ONSITE更改为ONSITE
- 现有元素在请求或响应中被删除时
示例:N版本的费率请求中删除了(或重命名)pickupType元素
- 现有方法被删除时
示例:N版本中不再支持创建和取消FedEx Express标签的方法
- 现有元素从可选或有条件变为必要时
示例:在N版本中,预订编号现在是FedEx Express® Freight货件的必要元素
- API设计有更改时
示例:请求和响应结构重新排列
- 错误码和错误消息有更改时
示例:错误码从INCORRECT.WEIGHT更改为WEIGHT.LIMIT.EXCEEDED
何时发布API次要版本?
- 添加新枚举值时
示例:N版本中为serviceType元素添加了新的运输服务
- 添加新元素时
示例:用于添加国际货件清关代理人电话号码的新可选元素
- 添加新方法时
示例:N版本中添加了上传国际贸易文档后再进行修改的方法。
- 现有元素从必要变为可选时
示例:由于FedEx可根据用户信息衍生文档ID,文档ID现在为可选项。
常见问题解答
您需要在两年内将URI更新到最新版本,因为FedEx会弃用旧版本。
发布的次要版本中添加了与先前兼容的新功能和更改,因此不会中断您的集成。并不强制您升级到新的次要版本,但建议最好升级次要版本,如此才能使用为满足客户需求而创建的新功能。