FedEx Freight 接続:LTL 料金を取得し、貨物を追跡
FedEx Developer Portal で Client ID と Client Secret を取得し、Freight アカウント番号とともに Integration に入力、まず sandbox の認証情報でテストし、次に test_mode を本番に切り替えて実際の LTL 料金と追跡を取得します。
FedEx Freight コネクタは混載(LTL)貨物用です。LTL 料金の見積もりを取得し、追跡番号または PRO 番号で貨物を追跡してスキャンイベントを返します。出荷ラベルは作成しません。また、小包向け FedEx 接続とは別物です。専用のフィールドと FedEx Freight アカウントを使用します。接続は既定で sandbox 環境を使用するため、本番に切り替える前にテストの手順をよくお読みください。
前提条件#
- FedEx Developer Portal にアプリがあり、その Client ID と Client Secret を確認できること。
- FedEx Freight アカウント番号。LTL の見積もりと請求に使う Freight アカウントです。小包向け FedEx アカウントは、この接続では別のアカウントです。
- 最初のテストで環境を明確に決めること:sandbox の認証情報には sandbox 環境、本番の認証情報には本番環境を使います。接続は既定で sandbox を使用し、sandbox と本番の認証情報は混用できません。
- 見積もりできる実際の輸送区間が少なくとも 1 つと、過去の貨物輸送の追跡番号または PRO 番号が 1 つあること。テスト後に料金と追跡を確認するために使います。
認証情報の取得#
- FedEx Developer Portal にログインし、アプリを開きます。
- アプリで Client ID と Client Secret を確認します。この 2 つの値は 1 組の OAuth2 ペアであり、セットで使います。両方とも同じアプリから取得してください。
- FedEx Freight アカウント番号を控えます。LTL の見積もりと請求に使う Freight アカウントです。
- 最初にテストする認証情報のセットを決めます。sandbox の認証情報は sandbox アドレス https://apis-sandbox.fedex.com でテストし、本番の認証情報は https://apis.fedex.com でテストします。どちらのセットを選んだか控えてください。test_mode フィールドはそれに一致させる必要があります。
Integration への入力#
- Integration を開き、FedEx Freight を選んで新規接続を開始します。
- client_id、必須、Client ID:FedEx Developer Portal → アプリ にある Client ID(l7xxxxxx とそれに続く文字の形式)。下記のシークレットと同じアプリからコピーしてください。
- client_secret、必須、Client Secret:FedEx Developer Portal の同じアプリにある Client Secret。秘密情報として保存されます。
- account_number、必須、Freight アカウント番号:FedEx Freight アカウント番号(例:123456789 の形式)。LTL の見積もりと請求に使う Freight アカウントであり、小包アカウントではありません。
- test_mode、任意、テストモード:true と入力すると sandbox 環境 https://apis-sandbox.fedex.com を使用します。空欄の場合も既定で sandbox です。false と入力すると本番 https://apis.fedex.com を使用します。値は入力した認証情報と一致させる必要があります:sandbox の認証情報には true、本番の認証情報には false を使います。
接続テスト#
接続テストをクリックします。何が起こるかは、入力内容によって異なります。client_id、client_secret、account_number のいずれかが未入力の場合、テストは FedEx にリクエストを送信しません。サンプルデータを使ってローカルで試行チェックを実行し、その試行についてのみ成功を報告します。結果の詳細をお読みください。試行の成功は認証情報を証明しません。3 つの値がすべて揃っている場合、テストは 2 段階で実際に実行されます:まず client_id と client_secret を OAuth2 トークンと交換し、次に Freight アカウントを使って小さい LTL 見積もり呼び出しを 1 回送信します。401 または 403 の応答は認証失敗として扱われ、見積もりエンドポイントからの他の応答は到達可能として扱われます。実際の成功は次のように表示されます:環境アドレスに対する OAuth2 認証に合格し、Freight 見積もりエンドポイントに到達可能。テストは最大 12 秒待ちます。
Mapping / テンプレート選択#
LTL の見積もりと追跡には FedEx Freight 標準テンプレートを選択します。見積もりは Freight アカウント番号付きで送信され、追跡検索では追跡番号または PRO 番号を受け付けてスキャンイベントを返します。テストが実際に合格したら、よく知っている区間で見積もりを 1 回実行し、返された料金とサービスをその区間の想定と比較します。次に、過去の貨物を PRO 番号で検索し、スキャンイベントを比較します。両方の確認が正しい場合のみ有効化してください。
有効化#
有効化後、接続は Freight アカウントで実際の LTL 料金見積もりを取得し、追跡番号または PRO 番号で貨物を追跡します。テストから実運用に移るには、test_mode を false に設定し、接続内の client_id と client_secret が本番アプリの値であることを確認してください。sandbox のままの接続は sandbox の結果を返し続けます。最初は Runs / Logs で見積もりと追跡検索を確認してから無人運用に移してください。
この接続が行わないこと:出荷ラベルを作成・購入せず、小包向け FedEx 輸送も扱いません。小包の料金とラベルについては、専用の認証情報とアカウントを持つ、別の小包向け FedEx 接続を使用してください。
よくある質問#
テストが 401 または 403 で失敗する
FedEx が認証を拒否しました。OAuth2 トークンのリクエストまたは見積もり呼び出しが 401 または 403 で拒否されました。この接続では 401 と 403 を認証失敗として扱うため、client_id、client_secret、またはそれらが属する環境が一致していません。
FedEx Developer Portal → アプリ で同じアプリから client_id と client_secret をコピーし直し、test_mode がその認証情報セットと一致しているか確認してください(sandbox の認証情報には true、本番の認証情報には false)。その後、再テストしてください。
本番の認証情報がテストですぐに失敗する
接続がまだ sandbox を指しています。test_mode が空欄または true の場合、既定で sandbox 環境 https://apis-sandbox.fedex.com を使用します。本番の認証情報は sandbox では有効ではないため、正しい本番の Client ID と Secret でも失敗します。
test_mode を false に設定し、テストを本番 https://apis.fedex.com に対して実行します。本番の client_id と client_secret はそのまま保持し、保存して再テストしてください。sandbox でテストする場合は、test_mode を true のままにして sandbox の認証情報を使用してください。
テストは成功と表示されるが、実際の見積もりは行われていない
テスト時に 3 つの必須値のいずれかが空でした。client_id、client_secret、account_number のいずれかが未入力の場合、テストは FedEx にリクエストを送信せず、サンプルデータを使ったローカルの試行チェックのみを実行します。成功メッセージには、実際の認証情報を使わず、実際のリクエストも送信していないことが示されます。
3 つの値をすべて入力してください。client_id と client_secret は FedEx Developer Portal → アプリ から、account_number には Freight アカウント番号を入力し、保存して再テストしてください。環境アドレスと Freight 見積もりエンドポイントへの到達を示す成功のみが、実際の認証情報テストとして数えられます。
見積もりは機能するが、貨物の追跡で何も返らない
使用した番号がこのアカウントの FedEx Freight 追跡番号または PRO 番号ではないか、貨物にまだスキャンイベントがありません。この接続の追跡は、追跡番号または PRO 番号で貨物輸送を読み取ります。小包の追跡番号では貨物のイベントは返りません。
集荷済み貨物の貨物書類から PRO 番号または追跡番号をコピーし、1 桁ずつ確認して再検索してください。集荷済みであることが分かっている貨物でも何も返らない場合は、その貨物が接続と同じ Freight アカウントで輸送されたか確認してください。
この接続で FedEx Freight のラベルを作成できますか?
いいえ。この接続は LTL 料金の見積もりと貨物追跡のみをカバーしており、ラベル作成はありません。この接続でラベルの手順を探しても見つかりません。ここでの Freight の作業は見積もりと追跡です。
この接続は貨物輸送の見積もりと追跡に使用し、ラベルと予約の作業は貨物を予約するチャネルで行ってください。小包向け FedEx ラベルについては、代わりに別の小包向け FedEx 接続を使用してください。