将价格源推送到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。
需要多久发送一次消息
每当定价和可用性发生更改时发送价格源。