传送模式决定了您针对酒店和行程组合向 Google 发送价格更新的方式。在初始配置期间,您和您的技术支持客户经理 (TAM) 将共同协作来设置分发模式。
分发模式概览
默认情况下,系统最多可在有空房前提前 330 天查询酒店信息,以及最长 30 晚的住宿时间,但您可以确定行程数量上限(入住日期和住宿晚数的组合)。
支持的行程越多,您将参与的竞价就越多。不过,支持的行程越多,您必须向 Google 发送的数据就越多,以确保价格数据准确无误。
更新价格的典型方法通过以下方式之一使用 Transaction 消息:
ARI(推送):一种价格传送 Feed,利用费率方案、空房情况和酒店元数据为您的房源设置预定义的定价策略。与拉取价格和价格更改不同,ARI Feed 不会查询特定价格或行程。您可以推送包含部分信息的消息,这些信息代表的是基于各种费率详情、限制和空房情况的房源价格模式。ARI Feed 使用 OTA XML 规范(
OTA_HotelRateAmountNotifRQ
和OTA_HotelAvailNotifRQ
)来定义可用性和价格。如需详细了解 ARI 提供模式,并确定此 Feed 类型是否最适合您的帐号,请与您的客户经理联系。如需了解详情,请参阅使用 ARI。拉取:Google 会定期查询您的服务,以刷新其价格和可用性数据的缓存。在该模型中,Google 向您的服务器发送请求,您的服务器会返回更新后的数据。如果您不知道价格信息的确切变化时间,或者价格信息在一天中不规则变化,则最适合此模型。价格会一直保留在缓存中,直到 Google 的算法根据合作伙伴专用之前的价格更改历史记录确定价格已过时。如需了解详情,请参阅使用拉取传送模式。
价格更改(以前称为“拉取带提示”):与拉取类似,不同之处在于 Google 仅请求一部分资源的数据,而不是所有资源。在更新房源的价格和空房情况时,此模式可以显著减少网络流量。价格会无限期地保留在缓存中,直到更新为止。如需了解详情,请参阅使用价格更改。
除了更新价格之外,您还可以使用交易消息从商品目录中移除房源。如需了解详情,请参阅移除广告资源。
如需详细了解如何提供价格更新,包括交易消息示例,请参阅更新价格。
实时价格查询
Google 还可以通过实时价格查询在竞价时请求一些价格更新。实时价格查询是 Google 针对当前竞价发出的价格请求。如果您在指定的时间范围内响应,您的广告应该就会参与竞价。
Google 会像存储任何其他交易消息一样存储对实时价格查询的响应。因此,Google 可以从其缓存中提供价格,而无需日后再发送另一个实时价格查询。
如需了解详情,请参阅实时价格查询。
上下文
拉取查询和价格更改查询通常不会指定用户信息,因为 Google 使用您的响应来填充缓存,而缓存可用于为各种不同的用户提供服务。
由于返回与所有可能的用户上下文相对应的价格的成本可能很高,因此我们正在测试一项功能,即在查询中指定热门用户上下文的情况下。用户上下文基于您有机会显示价格的用户请求,并且计算范围涵盖绝大多数用户请求。您可能会看到大量热门房源或行程的用户情境,但平均用户情境数量应少于 10 个。您可以返回其他价格或忽略指定的用户上下文,您可以自行决定为给定查询返回哪些价格。但是,忽略建议的用户上下文可能会降低流量。
ARI 推送传送模式
借助 ARI 推送传送模式,您可以在每晚房价、空房情况、空房情况数量或其他限制发生变化时向 Google 发送增量更新。与拉取或价格更改不同,ARI Push 可让您使用不同的价格模式向 Google 高效地更新价格信息的各个组成部分。
下图显示了 ARI 推送传送模式的请求和响应流程:
第 1 步:向 Google 发送 ARI 推送消息
如需使用 ARI Push 更新数据,请在数据更改时发送 ARI 请求消息。ARI 推送传送模式支持各种消息类型和定价策略。如需详细了解如何推送消息,请参阅使用 ARI。
您的价格应由 Google 提供,并在收到消息后的 15 到 20 分钟内向用户显示。
第 2 步:确认 Google 已成功缓存数据
对于收到的每条 ARI 推送消息,Google 都会返回 HTTP 连接状态和 ARI 处理结果。如果与服务器的连接成功,Google 会返回 HTTP 200 OK
。此外,它还包含一个带有响应消息的正文,该消息指示更新是成功应用还是遇到了传送模式警告或错误。
将 IP 地址列入许可名单
如需将您用于向 Google 推送 ARI 消息的所有 IP 地址列入许可名单,请访问 Hotel Center ARI 价格设置页面。了解如何在 Hotel Center 中更新价格设置。
通过 ARI 推送更新 Room 和软件包元数据
使用交易(房源数据)消息类型定义每个房源的有效客房类型和房价方案(套餐)。您应在添加、移除或修改客房类型或价格方案时推送更新。在本例中,您需要发送一条 XML 消息,并在 <RoomData>
和 <PackageData>
元素中包含新信息。这些元素是 <PropertyDataSet>
元素的子元素。
连接或内容错误
如果您因 XML 格式不正确或错误而收到传送模式错误,请参阅 Feed 状态错误消息,了解建议的解决方法。
如果您在向 Google 发送 ARI 消息时收到 HTTP 连接错误,请以 1 分钟、5 分钟和 20 分钟的间隔重试请求。如果 3 次重试后问题仍然存在,请停止发送消息并与 Google 支持团队联系。
拉取传送模式
使用拉取传送模式时,Google 会定期向您的服务器发送查询消息以请求价格更新。您的服务器使用包含更新的价格和可用性数据的事务消息来响应这些消息。
下图显示了拉取的请求/响应流:
收到价格更新后,Google 通常会在大约 5 分钟内处理新的价格和库存状况数据。
以下部分更详细地介绍了其中每个步骤。
第 1 步:查询消息
默认情况下,Google 会为您酒店列表中定义的所有房源发送查询消息。这可能意味着在重新定价过程中,您应该会收到多条查询消息。
Google 发送到您的服务器的价格查询消息具有以下特征:
- 根元素是
<Query>
。 - 发送到在初始配置期间定义的端点。如需了解详情,请与您的技术支持客户经理 (TAM) 联系。
- 使用 HTTP
POST
方法。(如果您使用的是 HTTPS,则需要由官方证书授权机构签名网域。) Content-Type
标头设置为application/xml
。- 每条消息最多包含 100 个房源,Google 将请求这些房源的价格和空房情况数据。
User-Agent
标头设置为Google-HotelAdsPrices
。
第 2 步:交易消息
当您的服务器收到 Query 消息时,它必须返回一条 Transaction 消息,其中包含所请求行程的价格信息。
交易消息的根元素是 <Transaction>
。如需了解详情,请参阅交易消息和更新价格。
更新 Room 和 Package 元数据
除了通过拉取更新价格数据之外,您还可以使用事务消息来更新客房和套餐元数据。如需了解详情,请参阅定义房间和套餐元数据。
已更改价格传送模式
价格更改有助于减少用于价格更新的查询和事务消息的大小和数量。使用价格更改时,您可以向 Google 发送价格已更新的房源列表。Google 会返回一条查询消息,该消息仅询问这些房源的价格。
如需配置 Google 向其发送提示请求消息的端点,请咨询您的技术支持客户经理 (TAM)。您可以在初始配置期间进行此设置。
下图显示了价格更改的请求和响应流程:
以下部分介绍了此流程中的每个步骤。
第 1 步:Hint 请求消息
Google 向您的服务器发送的提示请求消息具有以下特征:
- 根元素是
<HintRequest>
。 - 发送到在初始配置期间定义的端点。如需了解详情,请与您的技术支持客户经理 (TAM) 联系。
- 使用 HTTP
POST
方法。(如果您使用的是 HTTPS,则需要由官方证书授权机构对网域进行签名。) Content-Type
标头设置为application/xml
。- Google 会按照指定的频率向您的服务器发送一个时间戳,该时间戳定义您上次响应“提示请求”消息的时间。
User-Agent
标头设置为Google-HotelAdsPrices
。
我们建议您将频率设置为 5 分钟。如需设置或修改 Hint 请求消息的频率,请与我们联系。
当您收到来自 Google 的“提示请求”消息时,您在响应中提供自该时间戳以来更新的所有价格。如需了解详情,请参阅 Hint 请求消息。
第 2 步:Hint 响应消息
您的服务器使用“Hint Response”消息响应“Hint Request”消息。 此消息包含自您上次接收并响应“提示请求”消息以来价格发生过变化的房源的酒店 ID 和行程。
提示响应消息的根元素是 <Hint>
。如需了解详情,请参阅提示响应消息。
第 3 步:查询消息
Google 收到提示响应消息并返回查询消息,这与标准拉取模式一样。不同之处在于,查询消息现在仅包含您在“提示响应”消息中指定的房源的酒店 ID 和行程。查询消息的根元素是 <Query>
。
在通过价格更改确定要为哪些酒店 ID 请求价格时,Google 会忽略酒店列表 Feed 的内容。这样可大大减小您从 Google 收到的查询消息以及响应中的 Transaction 消息的大小。
第 4 步:交易消息
您发送包含价格更新的交易消息作为对 Google 查询消息的响应。事务消息的根元素是 <Transaction>
。如需了解详情,请参阅拉取传送模式。