Fedex Logo

簡介

FedEx API 支援 OAuth 2.0 (持有人令牌) 驗證方法,以授權您的應用程式就 FedEx 資源提出 API 請求。此 OAuth 存取令牌需要每 60 分鐘重新產生一次,並需要就每宗 API 交易提供此 OAuth 存取令牌,以驗證和授權您對該資源的存取。

授權 API 詳情

此 API 可讓您授權 API 請求,且在驗證 FedEx 資源時需要該 API。以下部分說明了該 API 的先決條件:

當註冊 FedEx Developer Portal時,FedEx 會提供用戶端 ID (API 金鑰) 與用戶端密碼 (秘密金鑰) 的組合,以驗證您的項目之 API 請求。貴組織每個項目都會關聯至一個用戶端 ID 與用戶端密碼的組合,稱之為 API 憑證。

備註:顧客 (內部、兼容,或專利主顧客和子顧客) 可聯絡 FedEx 代表,以索取 API 和秘密金鑰。

為多添一重安全保障,除了 API 金鑰和秘密金鑰外,FedEx® 顧客 (內部、兼容,或專利主顧客和子顧客) 還可以發送子金鑰 (顧客秘密) 和子密碼 (顧客密碼),以建立 OAuth 令牌。該令牌用於每個 API 驗證請求。

您可於 FedEx 開發人员入口網站的「項目」頁面上,重新建立忘記的秘密金鑰。

備註:建立新金鑰將導致應用程式中的代碼發生變更。

本文件的重要資訊:

  • 用戶端金鑰作為 API 金鑰
  • 用戶端密碼作為秘密金鑰
  • 子金鑰作為顧客金鑰
  • 子密碼作為顧客密碼

API 憑證可作下列用途:

  • 能識別正在調用 API 的項目。
  • 授權存取您項目中已啟用的 API。

取得 API 憑證的方法

憑證乃基於 FedEx Developer Portal 中的輸入項目而建立:

  • 用戶端 ID – 每當在 FedEx Developer portal 上建立項目時,都會建立 API 金鑰 (用戶端 ID)。您也可於項目概覽頁面上查看項目所關聯的 API 金鑰。
  • 顧客秘密金鑰 – 當在 FedEx Developer Portal 上建立項目後,您會在確認頁面上看到秘密金鑰 (顧客秘密金鑰)。如有需要,可於項目概覽頁面上重新產生秘密金鑰。

備註:FedEx® 顧客(內部、兼容,或專利主顧客和子顧客)需要連同 API 金鑰和秘密金鑰,一併發送子金鑰(顧客秘密金鑰)和子密碼(顧客密碼),以建立 OAuth 令牌。如需了解如何取得子金鑰和子密碼,請參閱註冊憑證 API。

授權 API 的運作方式

API 授權

當您在 FedEx Developer Portal 上成功取得 API 憑證後,將使用該 OAuth 端點來取得存取令牌,以用作每個 API 交易的憑證。

與 OAuth 請求相關的必填輸入資料如下:

  • grant_type – 顧客類型。(有效值:client_credentials、csp_credentials、client_pc_credentials)
  • client_id – 請參閱項目 API 金鑰。
  • client_secret – 請參閱項目 API 秘密金鑰。

對於 FedEx® 顧客 (內部、兼容,或專利主顧客和子顧客),請發送下方的額外輸入內容:

  • child_id – 註冊憑證 API 請求所傳回的顧客金鑰。
  • child_secret – 註冊憑證 API 請求所傳回的顧客密碼

此請求的結果應傳回如下內容:

  • access_token – API 交易中需要使用的經過加密的 OAuth 令牌。
  • token_type – 令牌類型。在此個案中,即是持有人驗證
  • expires_in – 以毫秒為單位的令牌到期時間。標準的令牌到期時間為一小時。
  • Scope – 向顧客提供之授權的範圍。

範例

請求:

POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=your client ID&client_secret=Your secret

回應:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

FedEx® 內部或兼容顧客的請求:

POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=Client ID&client_secret= Client secret&child_key=Child key&child_secret=Child Secret

回應:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

FedEx® 專利主顧客和子顧客的請求:

POST /oauth/token HTTP/1.1
grant_type= client_pc_credentials&client_id=Client ID&client_secret= Client secret&child_key=Child key&child_secret=Child Secret

回應:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

備註:存取令牌會在一小時後到期,可透過向 OAuth/令牌端點發出 POST 請求來重新生成存取令牌。

CLOSE

Response

Copy