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

署名を生成し、リクエストURLを作成します

署名の生成とリクエストURLの構築に関するチェックリスト:

アイテム発生元備考
秘密鍵/プライベートキー以下の方々が共有しますExpedia Group.秘密鍵とは、署名を生成するために使用される36文字の英数字の文字列です。それは……に関連していますpartnerId。
例:6f437404-261d-4beb-a7fc-43b92f694831.
注: 秘密鍵は安全な場所に保管し、署名の生成にはserver-sideでのみ使用してください。URLの構築時に、これをパラメータとして渡してはいけません。
ドメインパートナードメインウェブサイトのドメイン要素です。
エンドポイント/xsell-redirect-pwa?当社のエンドポイントはcase-sensitive, ですので、すべてのパラメータ名は、このドキュメントに記載されているとおりに正確に記述していただく必要があります。

Step-by-stepガイド

手順1:施設 の結果ページへのディープリンクリクエストURLを作成します

例のExpediaドメインの代わりにパートナードメインを使用して、施設の結果ページへのディープリンクリクエストURLを作成してください。ディープリンクガイドに従って、検索パラメータとトラッキングコードの形式を設定してください。

リクエストURLのパラメータ

パラメータータイプ必須説明サンプル値
partnerId文字列Y提供元:Expedia Group.partnername-POS-Ext-Flight-Conf-EmailDL
url文字列Yディープリンクガイドに従い、パートナードメイン、検索パラメータ、およびトラッキングコードを使用して、ホテルの検索結果ページへのディープリンクリクエストURLを作成してください。トラッキングコード(mdpcid)が確実に含まれていること、および出力パラメータの値が適切に設定されていることをご確認ください。URL-encoded.
>> ディーリンクガイドをご覧ください
url = https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3FMDPCID%3DExpedia-IE.DPS.en_IE.confemail.attachDL.Flight%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult-Room1%3D3%26NumChild-Room1%3D2%26Room1-Child1Age%3D9%26Room1-Child2Age%3D6
outboundEndDateTimeISO 8601規格に準拠した日付の文字列表現です。Y旅行の目的地への到着日時を指定してください。ISO 8601規格に準拠した日付、時刻、およびタイムゾーンのみを含める必要があります。

このパラメータの値はエンコードする必要があります。
2025-10-30T20%3A12%3A17.928020Z
originTla文字列(3文字)Y旅行の出発地であるIATAの空港コードを指定してください。LAS
returnStartDateTimeISO 8601規格に準拠した日付の文字列表現です。往復の場合にのみ必要です目的地からの帰りの日付と時刻を指定してください。ISO 8601規格に準拠した日付、時刻、およびタイムゾーンのみを含めることができます。

このパラメータの値はエンコードする必要があります。
2025-11-10T20%3A12%3A17.928020Z
destinationTla文字列(3文字)Y旅行先のIATAの空港コードを指定してください。JFK
bookingDateTimeISO 8601規格に準拠した日付の文字列表現です。Yご予約の日時をご指定ください。ISO 8601規格に準拠した日付、時刻、およびタイムゾーンのみを含めることができます。

このパラメータの値はエンコードする必要があります。
2025-07-25T20%3A12%3A17.928020Z
bookingStatus文字列ご指定がない場合は、ご予約が確定したものとみなさせていただきます。このパラメータの有効な値は、confirmed、pending、またはfailed
です。注: 割引レートが適用されるのは、bookingStatus がconfirmed である場合に限られます。
confirmed
attachDLBoolean (ブール型)Y割引適用率を有効にするには、この値を「true」に設定してください。true
signature文字列Yパートナーが、提供された秘密鍵に基づいてserver-sideを生成しました。Expedia Group. この文字列の長さは、ちょうど27文字です。生成されたバイナリ署名をエンコードしてください。BcND1F7KElTyGtyUHeXHd2JJLFs

注: のリクエストパラメータは、大文字と小文字が区別されます。大文字と小文字の区別が間違っていると、エラーが発生します。

ディープリンクのリクエストURL:

https://expedia.com/go/hotel/search/Destination/2025-12-22/2025-12-25?MDPCID=Expedia-IE.DPS.en_IE.confemail.attachDL.Flight&CityName=ORD&SortBy=distance&NumRoom=1&NumAdult-Room1=3&NumChild-Room1=2&Room1-Child1Age=9&Room1-Child2Age=6

手順2:# を使用してディープリンクURLをエンコードしますUTF-8

エンコード済みのディープリンクURL:

https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3FMDPCID%3DExpedia-IE.DPS.en_IE.confemail.attachDL.Flight%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult-Room1%3D3%26NumChild-Room1%3D2%26Room1-Child1Age%3D9%26Room1-Child2Age%3D6

ステップ3:アタッチレートを有効にするために、必要なすべてのパラメータを追加します

outboundEndDateTime(エンコード済み) +originTLA +returnStartDateTime (エンコード済み) +destinationTLA +bookingDateTime (エンコード済み) +partnerid +attachDL

手順4:署名生成用のURLを作成します(ドメインは含めないでください)

endpoint+ エンコード済みディープリンクurl +outboundEndDateTime (エンコード済み) +originTLA +returnStartDateTime (エンコード済み)+destinationTLA +bookingDateTime (エンコード済み) +partnerid +attachDL

例

/xsell-redirect-pwa?url=https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3Fmdpcid%3DExpedia-IE.DPS.Expedia.ExtFlightEmail-Xsell_CTA.Hotel%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult1%3D3%26NumChild1%3D2%26Rm1child1age%3D9%26Rm1child2age%3D6&outboundEndDateTime=2025-10-30T20%3A12%3A17.928020Z&destinationTLA=LAS&returnStartDateTime=2025-11-10T20%3A12%3A17.928020Z&originTLA=JFK&bookingDateTime=2025-07-25T20%3A12%3A17.928020Z&attachDL=true&partnerid=new-pwa-xsell-testing-airnz

注:Expedia を、ご自身のブランド名に置き換えてください

ステップ5:リクエストへの署名/署名の生成

手順4で取得した文字列(URL)は、以下の者間で共有されている秘密鍵/個人鍵を用いて、HMAC-SHA1アルゴリズムで署名する必要があります。Expedia Group. ほとんどの暗号ライブラリでは、生成される署名はバイナリ形式となるため、鍵を元のバイナリ形式に復号する必要がある場合があります。

RFC 2104で定義されているこの暗号ハッシュ関数については、さまざまなプログラミング言語やフレームワーク向けに、多くの実装が存在します。以下のリストは、利用可能な実装の一部です:

  • Java
  • JavaScript
  • C#
  • Python
  • Ruby

手順6:生成されたバイナリ署名をエンコードします

バイナリ署名を、修正されたBase64URLを使用してエンコードします。この方法では、Base64URLの出力に含まれる「+」および「/」という文字を、それぞれ「-」(ハイフン)および「_」(アンダースコア)に置き換え、URLセーフにします(詳細についてはRFC 4648をご参照ください)。署名は正確に27文字である必要があります。

例

bj01fgT85mUiRmzxxSufSmlGpiI

9Wzh3Er5-ob35Hbxbk1ltyYHex4

FeW_4NNu4ITpGaSt1KZl-vLb9PI

また、Base64URLでエンコードされた文字列からは、パディング文字列「=」(存在する場合)を削除する必要がある点に留意することが重要です。

ステップ7:最終的なリクエストURLの作成

以下の要素を用いて、最終的なディープリンクURLを作成してください:

domain+endpoint + エンコード済みディープリンクurl +outboundEndDateTime (エンコード済み) +originTLA +returnStartDateTime (エンコード済み) +destinationTLA +bookingDateTime (エンコード済み) +partnerid +attachDL +signature

例

https://www.expedia.com/xsell-redirect-pwa?url=https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3Fmdpcid%3DExpedia-IE.DPS.Expedia.ExtFlightEmail-Xsell_CTA.Hotel%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult1%3D3%26NumChild1%3D2%26Rm1child1age%3D9%26Rm1child2age%3D6&outboundEndDateTime=2025-10-30T20%3A12%3A17.928020Z&destinationTla=LAS&returnStartDateTime=2025-11-10T20%3A12%3A17.928020Z&originTla=JFK&bookingDateTime=2025-07-25T20%3A12%3A17.928020Z&attachDL=true&partnerId=new-pwa-xsell-testing-airnz&signature=3WQjtTHsSCRxrogs3xhY7edWfgE

手順8:最終的なURLを航空会社の「post-booking」パスに埋め込みます

チェックリスト

post-bookingのパス(メールなど)に埋め込む前に、以下の項目をご確認ください。

署名

  • Base64URL形式(16進数ではありません)で。
  • Base64URLエンコーディングに変換する際は、整数(文字列ではありません)として扱われます。必要に応じて、+ を- に、/ を_ に置き換えてください。例:m6y13j0747-x_h81wEzR9jE1fco=。
  • Base64URLエンコードされた文字列から、= のパディング(ある場合)を削除してください。
  • 文字数はちょうど27文字です。
  • 秘密鍵はクライアント側では公開されません。

パラメーター

ドメインとエンドポイント

  • 正しい値は/xsell-redirect-pwa です。
  • 最終的なリクエストURLは、domain +endpoint + エンコードされたディープレンクurl +outboundEndDateTime(エンコード済み)+originTLA +returnStartDateTime(エンコード済み)+destinationTLA +bookingDateTime(エンコード済み)+partnerid +attachDL + signature

テスト

テスト環境または本番環境へのデプロイに先立ち、アタッチモジュールを確認してください。このリクエストは、エンコードされたディープレンクURLに含まれる検索条件に基づいて、施設 の検索結果ページにリダイレクトされる必要があります。

注: のExpediaソリューションは、本番環境でのみご利用いただけます。pre-production, でテストを行う場合は、pre-productionドメインをExpediaの本番環境のドメインに設定する必要があります。

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