FedEx API 版本控制

FedEx 採用語意化版本控制來管理 API 版本。每一個版本號碼的版本格式均是「主要.次要」 (例如託運 API 1.1)。新的主要版本即代表版本改動不兼容舊版本,而新的次要版本則代表改動兼容舊版本。

FedEx 採用簡易 URI 版本控制。此方法下,URI 路徑上僅顯示主要版本的號碼。請注意,次要版本的號碼不會顯示在 URI 路徑中。此策略運用 URI 路由精確找到 API 的特定版本。

示例:/ship/v1/shipments

版本控制策略指引原則

我們計劃為 FedEx API 發佈較少的主要版本,在發佈新主要版本後兩年內淘汰上一主要版本。舉例而言,發佈主要版本「N」後,「N-1」版本將在發佈「N」版本後兩年內獲得支援。

示例:
於 2020 年,主要版本 V1.0 獲發佈。如果主要版本 V2.0 在 2021 年發佈,則 V1.0 版本會於 2023 年被淘汰。

版本

次要版本將支援大部分新的功能更新。

示例:主要版本 1.0 後,將會發佈次要版本 1.1、1.2 等等,推出全新功能更新。

不論任何時候,某一 API 的所有終端均會有同一主要版本。FedEx Developer Portal 僅會提供最新版本的文件。然而,每一個 API 概覽頁面底下都會有改動記錄,詳細列出主要及次要版本的變動。

API 主要版本會在甚麼時候發佈?

我們致力減少 API 的主要版本數目。然而,有時候難以避免需要推出全新的主要版本。下列會需要發佈全新主要版本的部分關鍵原因:

  • 請求或回應中的現有計算數值被移除,或是其格式或數值被改動時

    示例:locationSearchCriterion 元素的計算數值「GEOGRAPHIC_COORDINATES」在 N 版本中遭移除;日期語法從年-月-日改為月-日-年;將回應下服務站類型從 FEDEX_ONSITE 改為 ONSITE

  • 請求或回應中的現有元素被移除時

    示例:報價請求內的 pickupType 元素在 N 版本中遭移除 (或改名)

  • 現有方法被移除時

    示例:N 版本已不再支援建立及取消 FedEx Express 標籤的方法

  • 請求中將以往非必要或有條件的現有元素改為必要時

    示例:N 版本中,FedEx Express® 託運貨件的預約號碼現在是必要元素

  • API 設計出現改動時

    示例:重新排列請求及回應的結構

  • 錯誤代碼及錯誤訊息出現改動時

    示例:將錯誤代碼 INCORRECT.WEIGHT 改為 WEIGHT.LIMIT.EXCEEDED

API 次要版本會在甚麼時候發佈?

  • 新增新的計算數值時

    示例:N 版本中,serviceType 元素將新增新的運輸選項

  • 新增新的元素時

    示例:推出全新非必要元素,以包含國際貨件的清關代理人電話號碼

  • 新增新的方法時

    示例:N 版本新增方法,以在上載國際貿易文件後進行修改。

  • 將以往必要的現有元素改為非必要時

    示例:文件 ID 現在為非必要項目,因為 FedEx 能基於用戶資訊取得文件 ID。

常見問題

您需要在兩年內將 URI 更新至最新版本,讓 FedEx 得以淘汰舊版本。

次要版本推出將引入可兼容舊版本的新功能及改動,因此預期新的次要版本不會破壞您的整合工作。更新至新的次要版本並非強硬的要求,但就一般最佳做法而言,均會建議您更新次要版本,以享用針對客戶需要的全新功能。

FedEx Web Services 的每一項改動均須發佈全新的 WSDL 或主要版本,使客戶面臨較難以處理的升級工作。而憑藉 FedEx API,大部分新功能均可透過次要版本推出,令客戶可以更輕鬆地升級。API 次要版本的數量將會變多,而主要版本數量則會減少。