Developer Hub
これは自動生成された翻訳です。

リクエストURLの構築

リクエストURL(アタッチモジュールから結果を返すURL)は、ドメイン、エンドポイント、リクエストパラメータ、および署名パラメータで構成されています。この例は、2022年11月12日に予約された、2023年1月2日に出発し、2023年1月12日に帰着する、大人2名分のLAX行き確定便を示しています。

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

リクエストパラメータの構築

一般的に、リクエストパラメータには、目的地や旅行の開始日・終了日など、予約に関する詳細情報が含まれます。この情報は、アタッチモジュール向けの推奨事項を生成するために使用されます。リクエストによっては、一部のパラメータは省略可能ですが、結果を返すためには必須のパラメータもあります。

Information

重要

セキュリティ上の理由から、すべてのパラメータの値が percent-encoded UTF-8

利用可能なリクエストパラメータ

パラメーター説明サンプル値必須
partnerIdExpediaから提供される文字列値で、リクエストパラメータ内でお客様の組織を識別するために使用されますpartnername_hotel_conf_overlay必須
bookingStatus予約ステータスを指定する文字列です。このステータスによって、付加料金の適用可否が決まります。予約ステータスが「保留中」または「失敗」の場合、付加料金は適用されません。完了しました必須
bookingDateTime予約の日付を指定する文字列値です。これには、日付、時刻、およびタイムゾーンが含まれます。 ISO 8601形式#『2024-08-29T05:54:』第2話

エンコードされた値: 2024-08-29T05%3A54%3A02
必須
outboundEndDateTime目的地への到着を指定する文字列値です。日付、時刻、およびタイムゾーンがISO 8601形式で含まれています。#『2024-08-29T05:54:』第2話

エンコードされた値: 2024-08-29T05%3A54%3A02
必須
returnStartDateTime目的地からの出発日時を指定する文字列です。日付、時刻、およびタイムゾーンがISO 8601形式で含まれます。注:指定がない場合、旅行のデフォルト期間は7日間となります。#『2024-08-29T05:54:』第2話

エンコードされた値: 2024-08-29T05%3A54%3A02
localeエクスペディアから提供される、予約が行われた言語を示す5文字の文字列です。
>> ロケールの詳細はこちらをご覧ください
en_US必須
currencyCodeエクスペディアから提供された、予約が行われた通貨を示す文字列JPY必須
destinationTLA目的地を示す、国際航空運送協会(IATA))の空港コードを表す3文字の文字列

注:リクエストURLには、このパラメータ(フライトを含む予約の場合)のいずれか、またはlatitude およびlongitude(フライトを含まない場合)を含める必要があります。
LAX条件付きで必須
latitude そして longitude旅行先の座標を指定する、小数点以下最大12桁の浮動小数点値です。注:リクエストURLには、このパラメータ(フライトが含まれていない場合)または「destinationTLA」(フライトを含む予約の場合)のいずれかを必ず含める必要があります。緯度=40.7141667
&longitude=-74.0063889
条件付きで必須
signature当社が提供する秘密鍵に基づいて生成していただく、27文字の英数字文字列です
BcND1F7KElTyGtyUHeXHd2JJLFs必須
numOfAdults予約に含まれる大人の人数を指定する整数。最小値は1です。2
numOfChildren予約に含まれる子の人数を指定する整数3
childAgesComma-delimited予約に含まれるお子様の年齢を指定する整数配列です。numOfChildren が渡された場合にのみ必須となります。5,4,2はい、numOfChildren が渡された場合は

単純な旅行と、より複雑な旅行の両方における費用の目安をご理解いただくために、いくつかの事例を掲載しました。

|

One-way旅行の例

one-wayのクエリでは、resultパラメータにreturnStartDateTime を含めないでください。デフォルトの7日間が適用されます。2024年9月10日午後1時にシカゴを出発し、同日午後4時にラスベガスに到着する直行便(one-way)の場合、条件は以下のようになります:

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTLA: LAS
  • outboundEndDateTime: 2024-09-10T16:00:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2024-09-10T12%3A55%3A00%2B08%3A00&destinationTLA=LAS&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-09-01T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Round-trip例

2024年9月14日に帰着する、同一の出発地と到着地間のround-tripによる直接予約の依頼には、以下の条件が含まれます:

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTLA: LAS
  • outboundEndDateTime: 2024-09-10T16:00:00
  • returnStartDateTime: 2024-09-14T18:00:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2024-09-102T12%3A55%3A00%2B08%3A00&returnStartDateTime=2024-09-14T22%3A30%3A00%2B08%3A00&destinationTLA=LAS&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-09-01T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Multi-destination旅行の例

複数の目的地がある旅行の場合は、第1区間の旅行データのみをお送りいただくことをお勧めいたします。

第1区間:シカゴからラスベガスへ

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTLA: LAS
  • outboundEndDateTime: 2024-09-10T16:17:00
  • returnStartDateTime: 2024-09-12T13:27:00(第2レグの開始日時)

第2区間:ラスベガス~サンフランシスコ(任意)

  • origin: LAS
  • destinationTLA: SFO
  • StartDateTime: 2024-09-12T13:27:00
  • outboundEndDateTime: 2024-09-15T16:10:00

第3区間:サンフランシスコ~シカゴ(必須ではありません)
  • origin: SFO
  • destinationTLA: ORD
  • StartDateTime: 2024-09-15T16:15:00
  • outboundEndDateTime: 2024-09-19T20:22:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundStartDateTime=2024-09-10T11%3A05%3A00&outboundEndDateTime=2024-09-10T16%3A17%3A00&origin=ORD&destinationTLA=LAS&outboundStartDateTime=2024-09-12T13%3A27%3A00&outboundEndDateTime=2024-09-12T16%3A10%3A00&origin=LAS&destinationTLA=SFO&outboundStartDateTime=2024-09-14T16%3A15%3A00&outboundEndDateTime=2024-09-14T20%3A22%3A00&origin=SFO&destinationTLA=ORD&bookingDateTime=2024-09-01T05:54:02

リクエストURLの構築

すべてのリクエストURLには、ドメインとエンドポイント、その後にリクエストパラメータが続き、最後に秘密鍵で生成された署名で終わります。

秘密鍵

秘密鍵とは、エクスペディアと安全に共有される英数字の文字列であり、取引を検証するための署名を生成するために使用されます。文字数は36文字で、#と関連付けられています。partnerId.

Warning

注意

秘密鍵は安全な場所に保管し、署名の生成にのみ使用してください。URLを構築する際、シークレットをパラメータとして渡さないでください。

ドメイン、エンドポイント、およびリクエストパラメータ

リクエストのURLは、ドメインで始まっています。リクエストのURLについては、Expediaのドメイン(protocol-agnostic:、//xsell.expedia.com/)を使用することをお勧めします。URLの次の部分はリクエスト文字列であり、case-sensitiveのエンドポイント/xsell-pwa.js? とリクエストパラメータで構成されています。リクエストパラメータは # であるべきであることをお忘れなくUTF-8 percent-encoded.

手順1:リクエスト文字列を作成します

リクエスト文字列には、エンドポイントとリクエストパラメータが含まれます(ただし、ドメインは含まれません)。こんな感じになるはずです。

/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed

ステップ2:申請書に署名する

手順1で取得した文字列(先頭の「/」を含みます)には、 hash-basedメッセージ認証アルゴリズム (HMAC-SHA1) を使用し、エクスペディアと共有されている秘密鍵を用いて。ほとんどの暗号ライブラリでは、生成される署名はバイナリ形式になります。

この暗号ハッシュ関数には、 RFC 2104 プログラミング言語やフレームワークについて。利用可能な実装には、以下のものがあります:

ステップ3:生成された署名をエンコードします

修正したものを用いて、バイナリ署名をエンコードしてください Base64 URL用として、Base64出力中の「+」および「/」という文字を、それぞれ「-」(ハイフン)および「_」(アンダースコア)に置き換え、URLで安全に扱えるようにします(参照: RFC 4648 (詳細については)。次のような感じになるはずです:

bj01fgT85mUiRmzxxSufSmlGpiI

また、Base64エンコードされた文字列からは、= のパディング(ある場合)を削除する必要がある点にもご注意ください。

ステップ4:最終的なリクエストURLを作成する

手順3で生成した署名を、signature パラメータとして手順1の文字列に追加してください。署名は、常に最終的なリクエストURLの最後のパラメータである必要があります。

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

結果の文字列の先頭に、プロトコル(//http://、またはhttps://)とドメイン(protocol-agnostic形式のURLには//xsell.expedia.com をお勧めします)を追加してください。

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundStartDateTime=2024-10-22T11%3A55%3A00%2B08%3A00&outboundEndDateTime=2024-10-22T13%3A55%3A00%2B08%3A00&returnStartDateTime=2024-10-30T20%3A30%3A00%2B08%3A00&returnEndDateTime=2024-10-30T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-04-12T12%3A32%3A15%2B08%3A00&bookingId=123ABC&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

ステップ5: JavaScriptコードを追加します

モジュールを表示したいページでは、最終的なリクエストURLを、JavaScript src 属性として指定してください。例 :

<<script src="//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI"></script>>

リクエストURLを作成したら、それをページのコードに組み込む準備が整いました。

このページは役に立ちましたか ?
このコンテンツに改善が必要な点があれば、
サービス向上にご協力いただきありがとうございます。