Fedex Logo

簡介

FedEx 應用程式開發介面 (API) 支援 OAuth 2.0 (持有人權杖) 驗證方法,以使用 FedEx 資源授權您的應用程式 API 要求。此 OAuth 存取權杖需要每 60 分鐘重新產生一次,並隨每個應用程式開發介面 (API) 交易一起提供,以驗證並授權您對 FedEx 資源的存取。

授權應用程式開發介面 (API) 詳細資料

此 API 讓您可以授權 API 請求,而且必須藉此驗證 FedEx 資源。下節說明 API 的先決條件:

當您註冊 FedEx Developer Portal時,FedEx 會提供一組用戶端識別碼 (API 金鑰) 和用戶端密碼 (秘密金鑰) 組合,以驗證與您專案相關聯的 API 請求。您組織中的每個專案都會與一組用戶端識別碼和用戶端密碼相關聯,稱作 API 認證。

備註:客戶 (內部、兼容或專屬主客戶和子客戶) 可以聯繫 FedEx 業務代表以取得應用程式開發介面 (API) 和祕密金鑰。

為提供多一層安全保護,FedEx® 客戶 (內部、兼容或專屬主客戶和子客戶) 除了能夠傳送應用程式開發介面 (API) 金鑰和祕密金鑰,也可以傳送子金鑰 (客戶祕密金鑰) 和子密碼 (客戶密碼),以建立 OAuth 權杖。此權杖會用於每一個應用程式開發介面 (API) 要求中以進行驗證。

您可以從 FedEx Developer Portal上的「專案」頁面,重新建立忘記的秘密金鑰。

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

本文件的重要資訊:

  • 用戶端金鑰作為 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® Internal 或 Compatible 客戶請求:

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