ライブデモ

Expedia Rapid API連携

Expedia API連携:Rapid API、予約フロー、本番稼働

OTA、旅行会社、旅行スタートアップがExpedia Groupに接続するために必要なすべて。どのExpedia APIが自社のビジネスに合うか、Rapidの予約フローと署名の仕組み、ローンチ審査で確認される項目、費用、そしてホテルフローを標準搭載したPHPTRAVELSで本番稼働までどう進めるかを解説します。

  • Rapid Lodging API
  • API keyとSHA-512署名
  • サンドボックスとテスト予約
  • ローンチ審査と本番稼働

Expedia GroupのAPI

自社のビジネスに合うExpedia APIは

Expedia Groupは、販売事業者、アフィリエイト、ホテル、旅行代理店向けにそれぞれ別のAPIプログラムを運営しています。まず一つの問いで選びましょう。旅行者はどこで支払うのか?

  • 販売側

    Rapid API

    当社の注力分野
    対象
    自社ブランドで旅行商品を販売するOTA、旅行会社、旅行アプリ、ロイヤルティプログラム。
    提供内容
    Expediaのリアルタイム在庫と、検索、料金確認、予約、変更、キャンセルまでの完全な予約フロー。
    旅行者の予約場所
    自社のウェブサイトやアプリ内の、自社の決済画面で。
    PHPTRAVELSでの対応
    ホテルフローは宿泊モジュールに組み込み済みで、設定、マッピング、認定を行うだけです。
  • アフィリエイト側

    Travel Redirect API

    対象
    送客で手数料を得るコンテンツサイト、旅行ブログ、メタサーチ型のページ。
    提供内容
    自社ページに表示する宿泊と航空券のリストと、選択したExpediaブランドへのリンク。
    旅行者の予約場所
    リダイレクト後、Expedia、Hotels.com、Vrbo上で。
    PHPTRAVELSでの対応
    PHPTRAVELSサイト上でリストとリンクとして利用可能。自社サイトでは予約は発生しません。
  • 供給側

    供給・接続API

    対象
    ホテル、宿泊施設管理システム(PMS)、チャネルマネージャー。
    提供内容
    料金、空室、販売制限をExpediaに送信し、Expediaが受けた予約を取得します。
    旅行者の予約場所
    Expedia上で。予約は施設側が受け取ります。
    PHPTRAVELSでの対応
    エクストラネットやチャネルマネージャー経由でExpediaに出品するホテル向け。
  • 旅行代理店

    Expedia TAAP

    対象
    顧客のために予約し、手数料を得る旅行代理店。
    提供内容
    代理店料金と手数料管理を備えたExpediaの代理店ポータル。
    旅行者の予約場所
    TAAPポータルで、代理店が予約。
    PHPTRAVELSでの対応
    代理店はTAAPの予約をバックオフィスに記録できます。API経由ならRapidです。

申請が多いため、ExpediaはTravel Redirect APIの新規申請受付を一時停止しています。

Rapid API製品

  • Rapid Lodging APIPHPTRAVELSに標準搭載
  • Rapid Car APIカスタム連携
  • Rapid Flight APIカスタム連携
  • Rapid Activities APIカスタム連携

ホテル旅行アフィリエイトプログラムExpedia ExtranetExpedia TAAP API連携カスタムAPI連携

Rapidの予約フロー

Expediaのホテル予約がAPIコールごとに進む流れ

Rapid Lodgingの予約は決まった順序で進みます。ステップを選ぶと、そのAPIコール、PHPTRAVELSでの処理、認定で注意すべき点を確認できます。

Rapidのコール

GET /v3/properties/content
PHPTRAVELSの処理
施設名、住所、画像、設備、客室タイプ、ポリシーをホテルページに取り込み、定期的に更新します。
注意点
全カタログには施設コンテンツファイルを、更新にはコンテンツAPIを使用し、検索レスポンスからコンテンツを取得しないでください。

Rapidのコール

GET /v3/properties/availability
PHPTRAVELSの処理
日程、人数、施設IDで検索し、各客室の料金、税金・手数料、キャンセルポリシーを表示します。
注意点
決済前に税金・手数料込みの総額を表示し、すべてのリクエストで旅行者のIPとセッションヘッダーを送信してください。

Rapidのコール

GET {price_check link}
PHPTRAVELSの処理
支払いの直前に選択した料金の料金確認リンクを呼び出し、料金が一致した場合のみ先に進みます。
注意点
料金が変わった場合や売り切れの場合は決済を止めて別の選択肢を提示し、旧料金で決済してはいけません。

Rapidのコール

POST /v3/itineraries
PHPTRAVELSの処理
宿泊者情報と支払い情報で旅程を作成し、ExpediaのItinerary IDを保存してバウチャーを送信します。
注意点
仮押さえ可能な料金は2段階方式に対応:課金なしで客室を確保し、その後再開して予約を完了します。

Rapidのコール

GET /v3/itineraries/{itinerary_id}
PHPTRAVELSの処理
旅程を読み戻し、管理画面で日程、客室、料金、確認番号、ステータスを確認します。
注意点
タイムアウト後はまず照会し、旅程が存在しない場合のみ再試行して、二重予約を防ぎます。

Rapidのコール

DELETE /v3/itineraries/{id}/rooms/{room_id}
PHPTRAVELSの処理
料金のポリシーに従い、管理画面と顧客アカウントから変更とキャンセルを実行します。
注意点
違約金は料金のキャンセルポリシーに基づきます。確定前に旅行者に提示してください。

Rapidのコール

POST https://your-site/webhooks/expedia
PHPTRAVELSの処理
旅程変更のWebhookイベントを自社環境のURLで受信し、予約を更新します。
注意点
Webhookには素早く応答し、ステータスはExpediaの記録を正としてください。

コールのパスはRapid v3のドキュメントに基づきます。必ず最新のExpedia Group Developer Hubをご確認ください。

API keyと署名

Expedia Rapid APIの認証の仕組み

各Rapidリクエストには、API keyと署名を含む認証ヘッダーが付きます。署名は、API key、共有シークレット、現在のUNIXタイムスタンプ(秒)のSHA-512ハッシュです。

5分間の許容範囲
タイムスタンプはExpediaのサーバー時刻から5分以内である必要があり、ハッシュに使う値とヘッダーの値は一致していなければなりません。
シークレットはサーバー側に
共有シークレットはパスワードです。PHPTRAVELSはサーバー設定に保存し、ブラウザやアプリには置きません。
テスト用エンドポイント
サンドボックスのコールはtest.ean.comに送られ、実際の予約やカード決済は発生しません。テストヘッダーで売り切れや料金変更などの結果を再現できます。
EANと表記される理由
EANはExpedia Affiliate Networkの略で、このプログラムの旧称です。ヘッダーの方式やエンドポイントにその名前が残っています。
Rapidリクエストの署名(PHP)
 1// keys come from the server config, never from the browser 2$key    = getenv('EXPEDIA_API_KEY'); 3$secret = getenv('EXPEDIA_SHARED_SECRET'); 4$ts     = time(); // UNIX seconds, within 5 minutes of Expedia 5 6$signature = hash('sha512', $key . $secret . $ts); 7 8$headers = [ 9  "Authorization: EAN APIKey=$key,Signature=$signature,timestamp=$ts",10  'Accept: application/json',11  'Accept-Encoding: gzip',12  'Customer-Ip: ' . $travellerIp,13];1415// sandbox: https://test.ean.com  ·  live: https://api.ean.com
SHA-512±5 mintest.ean.com → api.ean.com

導入ガイド

Expedia API連携の手順

パートナー申請から最初の本番予約まで。各ステップに担当者を示しています。

  1. 01

    Expedia Groupのパートナーに申請

    Expedia Groupのパートナーソリューションから、会社情報、ドメイン、ビジネスモデルを添えて申請します。取引条件は地域と取扱量に応じてExpediaと合意します。

    お客様Expedia
  2. 02

    API keyと共有シークレットを受け取る

    承認されると、Rapidの認証情報とDeveloper Hubのドキュメントへのアクセス権が付与されます。

    Expedia
  3. 03

    Expediaコネクターを設定

    PHPTRAVELSの管理画面で認証情報を入力し、コンテンツを取り込み、マークアップと通貨を設定し、客室とポリシーをホテルページにマッピングします。

    PHPTRAVELSお客様
  4. 04

    テスト予約を実施

    テスト用エンドポイントで予約し、売り切れ、料金変更、タイムアウト、エラーコードを再現して、すべてのケースに対応できるまで確認します。

    PHPTRAVELSお客様
  5. 05

    ローンチ審査に合格

    Expediaはローンチ要件に照らしてサイトを審査し、本番前にPCI準拠証明書(AOC)の提出を求めます。

    Expediaお客様
  6. 06

    本番環境に切り替えて販売開始

    本番用の認証情報を管理画面に入力すると本番予約が始まり、サポート対応のためにサプライヤーログは有効のまま残ります。

    お客様PHPTRAVELS

期間と選択肢

Expediaの在庫を販売する4つの方法

Rapidでゼロから構築すれば完全に制御できますが、数か月の開発が必要です。既製の予約エンジン、アフィリエイトのリダイレクト、代理店ポータルには、それぞれ異なるトレードオフがあります。

方法立ち上げまでの期間自社サイトで決済保守の担当最適な対象
Rapidで自社開発立ち上げまでの期間数か月:検索、決済、管理画面、認定対応をゼロから構築自社サイトで決済はい保守の担当自社の開発者。Expedia APIの変更のたびに対応最適な対象自社の開発チームを持つ大手OTA
既製の予約エンジン(PHPTRAVELS)PHPTRAVELS立ち上げまでの期間数週間:ホテルフローは完成済みで、時間は設定とExpediaの審査に充てられます自社サイトで決済はい保守の担当エンジンのアップデートで対応。完全なソースコードはお客様の手元に最適な対象自社ブランドと決済をすばやく持ちたい旅行会社やスタートアップ
アフィリエイトのリダイレクト立ち上げまでの期間数日(Expediaが申請を承認した場合)自社サイトで決済いいえ保守の担当予約フローはExpediaが運営最適な対象送客手数料を得るコンテンツサイトやブログ
代理店ポータル(TAAP)立ち上げまでの期間開発不要:代理店がExpediaのポータルで予約自社サイトで決済いいえ保守の担当Expedia最適な対象顧客の旅行を1件ずつ予約する代理店

ローンチ要件

本番稼働前にExpediaが確認すること

審査では、APIコールが成功するかだけでなく、サイトの挙動も確認されます。自社の構築で対応済みの項目にチェックを入れてください。PHPTRAVELSの標準ホテルフローはすべての項目に対応しています。

8項目中0項目対応済み

費用

Expedia API連携の費用はいくら?

ExpediaはAPIアクセスの価格表を公開していません。Expediaと合意した条件のもと、予約から収益を得ます。自社で負担するのは、ソフトウェア、ホスティング、コンプライアンスの費用です。

  • Expediaへのアクセス

    Expediaとの合意による:契約、地域、取扱量に応じて、予約ごとの手数料またはマージン。

  • 予約エンジン

    PHPTRAVELSはから買い切りライセンスで、完全なソースコード付き。予約ごとの月額料金はありません。

  • ホスティング

    自社サーバーまたは当社のマネージドホスティング。Expediaコネクターはお客様の環境内で動作します。

  • 決済とPCI

    決済ゲートウェイと、カード情報に関するPCI準拠。ローンチ時にExpediaから証明を求められます。

よくある質問

Expedia API連携に関するよくある質問

旅行会社が申請前によく尋ねることへの簡潔な回答。

営業に相談

ExpediaはRapid APIへのアクセスに公開料金を設けていません。承認されたパートナー契約が必要で、Expediaと合意した条件のもと、手数料またはマージンで収益を得ます。費用は予約ソフトウェア、ホスティング、PCI準拠です。

Expedia Groupのパートナーソリューションからパートナーとして申請します。承認後、RapidのAPI keyと共有シークレットが発行され、ローンチ審査の前にサンドボックスで構築とテストができます。

Rapidは、自社ブランドで旅行商品を販売するためのExpedia GroupのREST/JSON APIです。宿泊、レンタカー、航空券、アクティビティを対象に、検索、料金確認、予約、管理のコールを提供します。

EAN(Expedia Affiliate Network)は、Expediaのパートナープログラムの旧称です。Rapidは現行のAPIで、EANの名称は認証ヘッダーとエンドポイントのアドレスに残っています。

旅行者に自社のウェブサイトやアプリで予約してもらうならRapidを。代理店がExpediaのポータルで顧客の旅行を予約し、手数料を得るならTAAPを使います。

はい。テスト用エンドポイントへのリクエストでは実際の予約やカード決済は発生せず、テストヘッダーで売り切れや料金変更などの結果を再現できます。

ゼロから構築すると数か月かかります。PHPTRAVELSならホテルフローがすでにあるため、時間は設定、コンテンツのマッピング、そしてExpediaが日程を決めるローンチ審査に充てられます。

Expediaのホテルフローは宿泊モジュールに組み込まれています。Rapidのレンタカー、航空券、アクティビティは、レンタカー、航空券、ツアーの各モジュールの上にカスタム連携として追加できます。