Microsoft 広告への価格フィードのプッシュ

価格フィードを送信する前に:

  • メッセージを検証して、 トランザクション 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
  • 承認: Bearer <accesstokengoeshere>

次のオプション ヘッダーを指定することもできます。

  • コンテンツ エンコーディング: 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 広告 Web アプリケーションの Microsoft ホテル センターのホテル価格広告フィードの状態」を参照してください。

要求が成功した場合 (メッセージがキューに正常に配置された場合)、応答の本文には、要求本文 (価格フィード) から読み取られたバイト数 (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 を入力してください。

メッセージを送信する頻度

価格と在庫状況が変更されるたびに、価格フィードを送信します。