Transaction メッセージは、客室、料金、パッケージに関するデータを Google に送信します。トランザクション メッセージには主に次の 2 種類があります。
旅行プランのデータ: 次のような条件の組み合わせと旅行プランのデータを定義します。
ホテルの料金と在庫: 特定の要件を満たす宿泊プランの最低料金を設定します。詳しくは、価格の更新をご覧ください。客室を広告枠から削除することもできます。詳しくは、広告枠を削除するをご覧ください。
条件の組み合わせ: 実際の客室と追加サービス パッケージの組み合わせの旅行プランの料金を設定します。詳しくは、条件の組み合わせをご覧ください。Google は Transaction メッセージの内容をキャッシュに保存し、料金を常に利用できるようにします。Google のキャッシュ内の値が最新ではないと判断された場合、更新された料金を取得するために、追加の
<Query>メッセージ(または場合によってはライブ料金クエリ)が送信されることがあります。このデータは通常、非常に頻繁に変更されます。Transaction メッセージの料金と空室状況を定義するには、<Result>を使用します。
客室とパッケージのメタデータ: 客室とパッケージの詳細(説明、写真、最大宿泊人数など)を指定します。このデータはあまり変更されません。メタデータ Transaction メッセージを定義するには、
<PropertyDataSet>を使用します。このメタデータは Google によって保存されるため、料金メッセージで参照できます。これにより、客室やパッケージに関する重複する情報をすべてのメッセージに含める必要がなくなります。詳しくは、客室とパッケージのメタデータを定義するをご覧ください。
Transaction メッセージのルート要素は <Transaction> です。ルート要素として <Transaction> 要素を使用するメッセージには、少なくとも 1 つの子要素が必要です。トランザクション メッセージには、メッセージの合計サイズが 100 MB を超えなければ、子要素をいくつでも含めることができます。
Google からのリクエストに応答するトランザクション メッセージの例については、料金と客室在庫(トランザクション)XML リファレンスをご覧ください。
配信モード
取引メッセージを送信するタイプと頻度は、配信モードによって異なります。
- プル配信モードでは、Google から
<Query>を受け取ったときに Transaction メッセージを送信します。 - 変更済み料金配信モードの場合、
<HintRequest>と<Query>を受信して応答した後に、Transaction メッセージを送信します。
詳細については、料金の配信モードをご覧ください。
ライブ料金クエリ
配信モードに関係なく、Google はライブ料金クエリと呼ばれるリクエストを送信することもあります。これらのクエリ メッセージは、現在の検索に対するレスポンスとして料金を求めます。通常は数百ミリ秒の指定された時間内に応答すれば、お客様の広告はオークションに配信されます。検索結果は、お客様の国やデバイスの種類、指定したゲストの人数など、お客様の条件にさらに合致するようになります。詳細については、ライブ料金クエリをご覧ください。
メッセージのサイズ
1 つのトランザクション メッセージにデータ更新の任意の組み合わせを含めることができますが、各メッセージのサイズには 100 MB の上限があります。通常、すべての Pull リクエストと Hint リクエストのレスポンス時間の制限は 100 秒です。タイムアウトは、リクエストに応じて Google が調整できる構成可能なフィールドです。非常に大きなメッセージの場合は、タイムアウトを 10 分に設定することをおすすめします。
メッセージのサイズを大幅に削減し、メッセージのサイズとタイムアウトに関する問題を回避するには、Transaction メッセージを使用して客室とパッケージのメタデータを事前に定義します。メッセージ ヘッダーに Content-Encoding: gzip を追加して、GNU 圧縮コンテンツをメッセージに追加することもできます。