ホテル料金のプッシュ配信方法

pull または Pull による pull の配信方法をシステムの制限により制限している場合は、お問い合わせフォームをご利用ください。

プッシュ配信モードの概要

プッシュ配信モードでは、料金や可用性が変更されるたびに、増分更新を送信します。

次の図は、push 配信モードのリクエスト/レスポンスのフローを示しています。

プロトコル構成ファイルでの push の構成

プッシュ配信モードで料金を更新するには、プロトコル構成ファイルで次の要素を指定します。この操作は、Hotel Prices API との連携を有効にするよう最初に環境を設定する場合にのみ行います。

  • <Model>: <Model> 要素の値を "push" に設定します。
  • <WhitelistedIPs>: あなたと Google 間の通信の認証に使用する IP アドレスをリストします。この要素の値には、IP アドレスをセミコロンで区切ったリスト、または CIDR 表記を使用した IP アドレス範囲を指定します。形式は xxx.xxx.xxx.xxx/YY です。

次の例は、push を使用するパートナーのプロトコル構成ファイルを示しています。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Model>push</Model>
  <WhiteListedIPs>216.239.32.0/19;64.233.160.0/19</WhiteListedIPs>
</Configuration>

詳細については、プロトコル構成ファイルをご覧ください。

プッシュによる料金の更新

push でデータを更新するには、データが変更されるたびにトランザクション メッセージを送信します。

トランザクション メッセージを送信する際は、次のガイドラインに従ってください。

  • 次のエンドポイントにメッセージを送信します。
    • http://www.google.com/travel/hotels/uploads/price
  • HTTP POST メソッドを使用する。
  • Content-Type ヘッダーを「application/xml」に設定します。
  • メッセージ本文は、料金の設定(料金の更新)または客室とパッケージのメタデータの定義(メタデータの更新)で説明されているように、トランザクション メッセージの構文に従う必要があります。
  • 料金を更新する場合は、更新する宿泊プランごとに <Result> 要素を定義します。メタデータを更新する場合は、変更された各宿泊施設の客室データとパッケージ データを定義します。

Google は受信したトランザクション メッセージごとに、サーバーからの HTTP 200 OK メッセージを返して成功を知らせます。Google から HTTP エラーコードが返された場合は、トランザクション メッセージを再送信します。メッセージの送受信で問題が発生した場合は、フィードのトラブルシューティングをご覧ください。

料金が変更された旅行プラン(宿泊施設とチェックイン日 / 滞在日数の組み合わせ)ごとにトランザクション メッセージを送信する必要があります。1 秒あたり最大 5 つのトランザクション メッセージを送信できます。1 秒あたり 5 回を超える頻度で送信されるメッセージはブロックされませんが、他のリクエストが終了するのを待つメッセージがタイムアウトする可能性があります。

ネットワーク トラフィックを削減するには、複数の <Result> 要素を 1 つのトランザクション メッセージに組み合わせます。

通常、Google は更新された料金と空室状況のデータを約 5 分で処理します。価格は 90 日後に削除されます。

トランザクション メッセージを使用して料金を更新する方法については、料金の設定をご覧ください。

Room とパッケージのメタデータを push で更新する

客室とパッケージのメタデータを更新するには、他の更新の場合と同様に更新を送信します。この場合、<RoomData> 要素と <PackageData> 要素に新しい情報を追加して Transaction メッセージを送信します。これらの要素は <PropertyDataSet> 要素の子要素です。

詳しくは、客室とパッケージのメタデータの定義をご覧ください。

配信モードエラー

Google にトランザクション メッセージを送信する際に HTTP エラーが発生した場合は、1 分、5 分、20 分間隔でリクエストを再試行してください。3 回試しても問題が解決しない場合は、メッセージの送信を停止し、Google アカウント マネージャーにお問い合わせください。

Google のアカウント マネージャーに連絡して、トランザクション メッセージの送信時に受け取った HTTP エラーを報告すると、Google はお客様と協力しながら約 10 件のホテルのテストを行い、フィードが正しく設定されていることを確認します。テストが成功すると、Google は宿泊料金フィードで指定されたすべてのホテルをクロールします。これにより、負荷が許容され、料金の精度が 3 ~ 5 日間維持されます。その後、Google から通知があり、この時点で結果をリアルタイムで参照できます。

料金のプッシュ頻度

料金が変更されたことを確認したら、直ちにすべての更新をプッシュするのが理想的です。料金がいつ変更されたかわからない場合は、できるだけ頻繁に価格を更新するようにしてください。通常は 1 日に複数回プッシュされます。通常、当日と週の旅行プランは、より頻繁にプッシュされます。