FedEx APIのバージョン管理
フェデックスでは、セマンティック・バージョニングを利用してAPIのバージョンを管理しています。各バージョンは[メジャー].[マイナー] (例:出荷API 1.1) のバージョン形式で表されます。ニュー・メジャーバージョンは、その変更が古いバージョンに互換性のないものであることを意味し、ニュー・マイナーバージョンは古いバージョンに互換性のある変更であることを意味します。
フェデックスでは、シンプルなURIのバージョニングに従っています。これは、URIパスにメジャーバージョン番号のみを含みます。マイナーバージョン番号はURIパスに含まれていないことに注意してください。この方法では、URIルーティングを使用してAPIの特定のバージョンをピンポイントで指定します。
例: /ship/v1/shipments
バージョニング方法の指針
FedEx APIのメジャーバージョンのリリース数を減らし、メジャーバージョンのリリースから2年で非推奨にする予定です。例えば、メジャーバージョンNがリリースされた場合、N-1のバージョンはNのリリースから2年間サポートされます。
例: 2020年にはメジャーバージョンV1.0がリリースされています。2021年にメジャーバージョンV2.0がリリースされた場合、2023年にはV1.0が非推奨となります。
マイナーバージョンでは、新機能と機能アップデートのほとんどをサポートします。
例:メジャーバージョン1.0の後、マイナーバージョン1.1、1.2などがリリースされ、新機能の導入や機能アップデートが行われます。
どの時点でも、特定のAPIのすべてのエンドポイントは同じメジャーバージョンを持つことになります。最新版のドキュメントはFedEx Developer Portalでのみご利用いただけます。ただし、各APIの概要ページの下には、メジャーバージョンとマイナーバージョンの変更点を詳細に記載した変更ログが表示されます。
APIのメジャーバージョンはいつリリースされますか?
APIのメジャーバージョンを最小限に抑える努力をしています。ただし、新しいメジャーバージョンのリリースがやむを得ない場合もあります。新しいメジャーバージョンがリリースされる理由としては、以下のようなものが挙げられます。
- 既存の列挙値が削除されたとき、またはリクエストまたはレスポンスでフォーマットまたは値自体が変更されたとき。
例:locationSearchCriterion要素の列挙値「GEOGRAPHIC_COORDINATES」はNバージョンで削除されました。日付の構文がYY-MM-DDからMM-DD-YYYYに変更されました。応答としてロケーションタイプをFEDEX_ONSITEからONSITEに変更しました
- リクエストまたはレスポンスで既存の要素が削除されたとき。
例:バージョンNの料金リクエストから pickupType 要素が削除(または名前を変更)
- 既存のメソッドが削除された場合
例:FedEx Expressタグの作成およびキャンセル方法が、バージョンNではサポートされなくなりました。
- オプションまたは条件付きであった既存の要素がリクエストで必須にされた場合。
例:FedEx Express® FreightのバージョンNでは、予約番号が必須要素となりました。
- APIデザインの変更がある場合。
例:リクエストとレスポンスの構造を再整理。
- エラーコードとエラーメッセージに変更がある場合。
例: エラーコードをINCORRECT.WEIGHTからWEIGHT.LIMIT.EXCEEDに変更。
APIのマイナーバージョンはいつリリースされますか?
- 新しい列挙値が追加された場合。
例: バージョンNで、ServiceType要素に新し伝達方法が追加される場合。
- 新しい要素が追加された場合。
例:海外出荷のためのブローカーの電話番号を含めるための新しいオプション要素を追加した。
- 新しいメソッドが追加された場合。
例:国際取引書類をアップロードした後に修正する方法をバージョンNに追加した。
- これまで必須だった既存の要素をオプションにする場合。
例:フェデックスがユーザー情報に基づいてドキュメントIDを取得できるようになったため、ドキュメントIDはオプションになった。
FAQ
A. フェデックスは旧バージョンを廃止するため、2年以内にURIを最新バージョンに更新する必要があります。
マイナーバージョンは、古いバージョンに互換性のある新機能や変更に対応するためにリリースされます。そのため統合に影響はありません。マイナーバージョンへのアップグレードは必須ではありませんが新機能を利用するためにはアップグレードがベストプラクティスとして推奨されています。