執行和設定

為旅客帶來超越點數或里程的價值

無論您的計畫如何定義,只要借助白牌範本,旅客就可獲得會員幣,並在購買旅遊行程時兌換獎勵。這份文件會簡介可用的會員計畫作業,並為您說明在測試及實際執行環境中執行服務的流程。

您將利用 JSON 承載提供標準的 RESTFul 服務。建議每個 API 要求都使用存取標記和 JSON Web 標記。呼叫 API 時需要執行其他安全性步驟,且要求和回應中的任何敏感資料元素均會經過加密。

設置範本網站時,您可以選擇設定,只要旅客獲得的會員幣來自於您所選取的業務範圍,即可兌換;

或者旅客也可以與 Expedia 旗下品牌網站的客服專員聯繫,以使用這些點數。我們的內部客服專員會使用帳戶資訊 API 驗證旅客資訊。驗證後,客服專員會利用點數庫 API 取得旅客的帳戶餘額,並協助處理預訂。

Expedia 啟用經理會與您一同合作,取得 SSO 設定等所有必要的詳細資料,包含:您的品牌或計畫名稱、計畫中的任何會員等級或劃分、會員幣名稱,以及兌換率 (例如,花費 $1 可獲得 100 點)。

您也需要提供下列資訊:

  • 存取標記 API
  • ClientId 和密碼
  • 會員計畫兌換端點
  • 您告知旅客的服務等級協定 (SLA)

我們會提供下列資訊,供您進行設定:

  • OpenAPI 規格
  • 如果您使用的是 Authorization2 參數,我們會提供 JSON Web 金鑰 (JWK) 端點

呼叫 API

Expedia 會使用存取標記來叫用 API,而授權 HTTP 標頭中會提供存取標記,以做為持有人標記。系統會隨即產生必要的要求簽章標記,並提供在 Authorization2 HTTP 標頭中。

授權端點

如要取得存取標記以呼叫 API,首先您必須使用用戶端 ID 和密碼設定授權伺服器,接著使用 POST : https://<your-oauth-endpoint> 呼叫來發出要求。

要求

欄位詳情範例值欄位類型是否為必要?
content-type指出要求格式application/x-www-form-urlencoded字串
grant_type要求的授權方式,例如用戶端的登入資訊client-credentials&client_id=<client_id>&client_secret=<client_secret>字串
client_id您註冊的應用程式識別碼a17c21ed& 
client_secret對應至 client_id 的密碼  

回應

欄位詳情範例值欄位類型是否為必要?
content-type指出回應本文的格式application/json字串
token_type標記的對象;指出要提供的標記類型bearer 
access_token參考 client_id 的存取標記  
expires_in存取標記的到期時間 (秒)86400 

錯誤

欄位詳情範例值欄位類型是否為必要?
error發生錯誤,例如參數無效invalid_request
invalid_client
invalid_grant
字串
errorMessage自訂的錯誤訊息,用於協助記錄以及調查問題 字串

JWK 端點回應

我們會提供一個網址,您可在其中擷取 JWK 用於驗證,例如:GET : https:// <WLT_Domain>/keys/public-keys --header Authorization : Bearer - Partner_client_api_key

欄位詳情
alg簽章演算法
kty加密金鑰類型
kid金鑰識別碼
use金鑰的預計用途:用於簽章 (sig) 或用於加密 (enc)
x5tX.509 憑證指紋
x5cX.509 憑證鏈結
expires_on憑證到期日

簽署要求

建議每個 API 要求都使用 JSON Web 標記 (JWT) 簽署。以下說明簽署要求的步驟:

  1. 設定 2048 位元的 CA 簽署 RSA 私密金鑰。
  2. 透過如上所述的 JWK 網址發布公開憑證。
  3. 接著,建立具備簽發者、主體、對象和到期宣告的 JWT 標記,然後使用私密金鑰簽署標記。
  4. Expedia JWT 標記具備的金鑰識別碼為 kid 和 x5t,其中會包含公開金鑰憑證的指紋。
  5. 執行 API 呼叫時,您會從授權標頭中擷取 JWT,並使用 Expedia 的公開金鑰驗證 JWT 簽章。如果 Expedia 的 JWK 網址中有多個金鑰,您可以使用 kid 標頭辨識金鑰。
  6. 接著,請安排對 Expedia 的 JWK 端點進行 API 呼叫,以擷取公開金鑰憑證。
  7. 如果簽章驗證失敗,請重試邏輯以擷取新的憑證。
這個頁面有幫助嗎?
我們能如何改善內容?
感謝您協助我們進行改善!