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