将价格源推送到Microsoft广告

发送价格源之前:

  • 验证消息以确保它符合 事务 XSD。 这将节省往返行程和修复错误的时间。

  • 使用 GZip 压缩) ,确保消息包含的未压缩数据少于 100 MB 或 10 MB 的压缩数据 (。 若要减少网络流量,应始终发送压缩数据。

  • 确保排队或正在处理的请求少于五个。 应用程序应包含保持限制所需的逻辑。 如果超出限制,请求将失败,并显示 HTTP 状态代码 429。

验证消息后,将其发送到 HTTPS POST 请求正文中的Microsoft。 将请求发送到的 URL 为:

https://hotels.api.bingads.microsoft.com/api/customers/<customerId>/transactions

将 customerId> 设置为<广告客户的客户 ID。

请求必须包含以下标头:

  • Content-Type:application/xml;charset=utf-8
  • 授权:Bearer <accesstokengoeshere>

还可以指定以下可选标头:

  • Content-Encoding:gzip
    如果压缩 (建议) 的价格源,请指定此标头。

  • X-Transaction-ID: <用户定义的 ID>
    广告客户用来唯一标识消息的不透明用户定义 ID。 如果包含此标头,则 ID 必须与 Transaction 元素 id 的 属性中的 ID 匹配。

下面显示了一个示例 POST 请求。

POST https://hotels.api.bingads.microsoft.com/api/customers/abc123/transactions HTTP/1.1
Content-Type: application/xml; charset=utf-8
Host: hotels.api.bingads.microsoft.com

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-05-25T20:44:56-04:00" id="de0be689-d094-406e-
8027-724309deb373">
  <Result>
    <Property>13579</Property>
    <Checkin>2017-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="mobile"/>
      <PointOfSale id="desktop"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

POST 请求将消息置于要处理的队列中,然后返回。 最多可以有五个请求排队或同时处理。 如果超出限制,请求将失败,并显示 429。

若要确定Microsoft是否成功处理了消息,请参阅Microsoft广告 Web 应用程序中Microsoft Hotel Center 中的酒店价格广告源状态。

如果请求成功 (消息成功放入队列) ,则响应正文包含一个 XML 文档,该文档指定从请求正文 (BytesReceived 价格源) 读取) (字节数。

<TxnResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Microsoft.BingAds.BHAC.HotelAdsAPIs.Models">
  <BytesReceived>184381</BytesReceived>
  <FeedId>6165579</FeedId>
</TxnResponse>

元素 FeedId 包含唯一标识源Microsoft生成的 ID。 事务状态报告包括此 ID。

如果请求失败,响应正文将包含一个 XML 文档,其中包含一系列错误代码和消息,用于确定请求失败的原因。 有关错误代码和消息的列表,请参阅 错误代码和消息

响应包括 WebRequestActivityId 响应标头。 标头包含与日志文件中的请求关联的 ID。 每当请求失败时,捕获 ID。 如果无法解决问题,请在联系支持人员时提供此 ID。

需要多久发送一次消息

每当定价和可用性发生更改时发送价格源。