実装と設定

ポイントやマイル以上の価値を旅行者に提供

ホワイトレーベルテンプレートでは、旅行者がロイヤルティ通貨 (ただし、それを定義するのは貴社のプログラム) を獲得して旅行の購入に使用できます。このドキュメントでは、利用可能なロイヤルティオペレーションの概要と、テスト環境と本番環境でサービスを実装するためのプロセスについて説明します。

JSON ペイロードで標準的な RESTFul サービスを提供していただきます。すべての API リクエストにアクセストークンと JSON Web トークンを使用することをお勧めします。API を呼び出す際には追加のセキュリティステップがあり、リクエストとレスポンスのペイロードに含まれる機密データ要素は暗号化されます。

テンプレートサイトを設定する際には、顧客が獲得したロイヤルティ通貨を、貴社が選択したどの取扱商品でも利用できるようにすることができます。

顧客はエクスペディアブランドサイトエージェントに連絡して、ポイントを利用することもできます。エクスペディアの社内エージェントは、Account Information API を使用して旅行者の情報を検証します。検証されると、エージェントは Points Bank API を活用して旅行者の口座残高を取得し、予約をサポートします。

エクスペディアのローンチマネージャーが貴社と協力して、SSO の設定など、必要なすべての詳細を取得します (例 : ブランド名またはプログラム名、プログラム内の会員ステータスまたはセグメント、ロイヤルティ通貨名、獲得比率 (例 : $1 = 100 ポイント))。

以下については貴社からご提供いただく必要があります。

  • アクセストークン API
  • クライアント ID とシークレット
  • ロイヤルティ利用エンドポイント
  • 顧客に伝えたサービスレベルアグリーメント (SLA)

貴社側での設定のためにエクスペディアより以下を提供します。

  • OpenAPI 仕様
  • JSON Web キー (JWK) エンドポイント (Authorization2 パラメーターを使用している場合)

API 呼び出しの実行

エクスペディアではアクセストークンを使用して 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_secretclient_id に対応するシークレット  必須

レスポンス

フィールド説明サンプル値フィールドタイプ必須/必須ではない
content-typeレスポンス本文フォーマットを示すapplication/json文字列必須
token_typeトークンの対象者 (提供するアクセスの種類を示す)bearer 必須
access_tokenclient_id を参照するアクセストークン  必須
expires_inアクセストークンの有効期限 (秒)86400 必須

エラー

フィールド説明サンプル値フィールドタイプ必須/必須ではない
error無効なパラメーターなどのエラーが発生invalid_request
invalid_client
invalid_grant
文字列必須
errorMessageロギングと問題の調査に役立つカスタムエラーメッセージ 文字列必須

JWK エンドポイントレスポンス

検証に使用する JWK を取得できる URL を共有します (例 : 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 URL を介してエクスペディアが公開証明書を公開します (前述の通り)。
  3. 次に、発行者、件名、対象者、期限クレームがある JWT トークンをエクスペディアが作成し、秘密鍵を使ってトークンに署名します。
  4. Expedia JWT トークンには、公開鍵証明書のサムプリントを含む鍵識別子 kid と x5t があります。
  5. API 呼び出しを実行する際には、貴社で認証ヘッダーから JWT を抽出し、エクスペディアの公開鍵を使用して JWT 署名を検証します。kid ヘッダーを使用して、鍵 (エクスペディアの JWK URL に複数の鍵が存在する場合) を識別します。
  6. 次に、エクスペディアの JWK エンドポイントへの API 呼び出しをスケジュールし、公開鍵証明書を取得します。
  7. また、署名検証に失敗した場合は、再試行ロジックを使用して新しい証明書を取得する必要があります。
このページは役に立ちましたか ?
このコンテンツに改善が必要な点があれば、
サービス向上にご協力いただきありがとうございます。