Microsoft Advertising への価格フィードのプッシュ
価格フィードを送信する前に:
メッセージを検証して、 トランザクション XSD に準拠していることを確認します。 これにより、ラウンドトリップとエラーを修正する必要がある時間が節約されます。
メッセージに 100 MB 未満の非圧縮データまたは 10 MB 未満の圧縮データが含まれていることを確認します (GZip 圧縮を使用)。 ネットワーク トラフィックを減らすには、常に圧縮データを送信する必要があります。
キューに入っている要求または処理される要求が 5 つ未満であることを確認します。 アプリケーションには、制限内に留めるために必要なロジックが含まれている必要があります。 制限を超えると、要求は 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
- 承認: ベアラー <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 要求は、処理するキューにメッセージを配置してから、 を返します。 最大 5 つの要求がキューに入れられているか、同時に処理される場合があります。 制限を超えると、要求は 429 で失敗します。
Microsoft がメッセージを正常に処理したかどうかを確認するには、「Microsoft Advertising Web アプリケーションの Microsoft Hotel Center のホテル価格広告フィードの状態」を参照してください。
要求が成功した (メッセージがキューに正常に配置された) 場合、応答の本文には、要求の本文 (価格フィード) から読み取られたバイト数 (BytesReceived
) を指定する XML ドキュメントが含まれます。
<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 を指定してください。
メッセージを送信する必要がある頻度
価格と可用性が変更されるたびに価格フィードを送信します。