Aggiornamento dei prezzi e della disponibilità dei prodotti

Nota

L'API Inventario è disponibile solo per i partecipanti pilota chiusi. L'API e la documentazione sono soggette a modifiche.

Se è sufficiente aggiornare i prezzi e la disponibilità di un prodotto nell'archivio BMC (Bing Merchant Center), è consigliabile usare la risorsa Inventario anziché la risorsa Prodotto . Con la risorsa Prodotto è necessario fornire i dettagli completi del prodotto, ma la risorsa Inventario consente di specificare solo prezzo e disponibilità.

Aggiornamento di un singolo prodotto

Per aggiornare un singolo prodotto, usare il /bmc/{bmcMerchantId}/inventory/{storeCode}/products/{productUniqueId} modello in una richiesta HTTP POST. Impostare {bmcMerchantId} sull'ID negozio, {storeCode} su online e {productUniqueId} sull'ID completo del prodotto.

Il corpo della richiesta è un oggetto Product che include solo i campi seguenti:

  • Prezzo
  • Disponibilità
  • salePrice
  • salePriceEffectiveDate

I price campi e availability sono obbligatori. La chiamata ha esito negativo se non si specificano entrambi i campi. salePriceEffectiveDate E salePrice sono facoltativi. Se non li specifichi, i valori correnti del prezzo di vendita e della data di validità del prodotto vengono rimossi dall'offerta.

Di seguito viene illustrata una richiesta POST di esempio.

POST https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/1234/inventory/online/products/online:en:US:5678 HTTP/1.1
AuthenticationToken: EwAAA3hl...
DeveloperToken: 0417...
Content-Type: application/json
Host: content.api.bingads.microsoft.com
Content-Length: 73

{
    "availability":"out of stock",
    "price":{
        "currency":"USD",
        "value":1234.0
    }
}

Se la richiesta ha esito positivo, restituisce il codice di stato 200 e l'URI del prodotto aggiornato nell'intestazione Location.

HTTP/1.1 200 OK
Content-Type: application/json
Location: https://content.api.bingads.microsoft.com/shopping.svc/v9.1/bmc/1234/products/online:en:US:5678
WebRequestActivityId: e2c53946-e18c-4302-a40a-6d174429574a
Date: Fri, 09 Nov 2018 20:34:35 GMT
Content-Length: 46

{
  "kind": "content#inventorySetResponse"
}

E se la risposta ha esito negativo, la richiesta restituisce il codice di stato 400; il corpo contiene un oggetto di risposta agli errori che identifica il problema.

HTTP/1.1 400 Bad Request
Content-Type: application/json
Location: https://content.api.bingads.microsoft.com/shopping.svc/v9.1/bmc/1234/products/online:en:US:5678
WebRequestActivityId: d3d31a3f-8993-428e-858c-730032e32a46
Date: Sat, 10 Nov 2018 14:35:14 GMT
Content-Length: 305

{
  "error": {
    "errors": [
      {
        "reason": "invalid",
        "message": "Invalid value for: availability, stock is not a valid value",
        "domain": "global"
      }
    ],
    "code": "400",
    "message": "Invalid value for: availability, stock is not a valid value"
  }
}

Per un esempio di codice che illustra come usare la risorsa Inventario per aggiornare un singolo prodotto, vedere Aggiornamento dei prezzi e della disponibilità per un singolo prodotto.

Aggiornamento di più prodotti

Per aggiornare più prodotti, usare il /bmc/{bmcMerchantId}/inventory/batch modello in una richiesta HTTP POST. Impostare {bmcMerchantId} sul proprio ID archivio.

Il corpo della richiesta è un oggetto Batch che può contenere un massimo di 400 prodotti da aggiornare. Ogni voce nel batch fornisce un ID batch definito dall'utente, un codice del negozio impostato su online, l'ID completo del prodotto e i campi prezzi e disponibilità del prodotto da aggiornare. L'oggetto Product può includere solo i campi seguenti:

  • Prezzo
  • Disponibilità
  • salePrice
  • salePriceEffectiveDate

I price campi e availability sono obbligatori. La chiamata ha esito negativo se non si specificano entrambi i campi. salePriceEffectiveDate E salePrice sono facoltativi. Se non li specifichi, i valori correnti del prezzo di vendita e della data di validità del prodotto vengono rimossi dall'offerta.

Di seguito viene illustrata una richiesta POST di esempio.

POST https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/1234/inventory/batch HTTP/1.1
AuthenticationToken: EwAAA3hl...
DeveloperToken: 0417...
Content-Type: application/json
Host: content.api.bingads.microsoft.com
Content-Length: 194

{
    "entries":[
        {
            "batchId":1,
            "storeCode":"online",
            "productId":"online:en:US:5678",
            "inventory":{
                "availability":"in stock",
                "price":{
                    "currency":"USD",
                    "value":4567.0
                }
            }
        },
        {
            "batchId":2,
            "storeCode":"online",
            "productId":"online:en:US:9012",
            "inventory":{
                "availability":"bad in stock",
                "price":{
                    "currency":"USD",
                    "value":678.0
                }
            }
        }
    ]
}

Poiché la richiesta tenta di aggiornare ogni prodotto nel batch, restituisce il codice di stato 200. Per determinare se un aggiornamento non è riuscito, è necessario scorrere tutte le voci del batch. Un aggiornamento non è riuscito se la voce include il errors campo; in caso contrario, ha avuto esito positivo.

HTTP/1.1 200 OK
Content-Type: application/json
WebRequestActivityId: bf019ef5-fa76-4703-9132-7954b0323c81
Date: Fri, 09 Nov 2018 20:48:15 GMT
Content-Length: 172

{
  "kind": "content#inventoryCustomBatchResponse",
  "entries": [
    {
      "kind": "content#inventoryCustomBatchEntryResponse",
      "batchId": "1"
    },
    {
      "kind": "content#inventoryCustomBatchEntryResponse",
      "batchId": "2",
      "errors": {
        "errors": [
          {
            "reason": "invalid",
            "message": "Invalid value for: availability, bad in stock is not a valid value",
            "domain": "global"
          }
        ]
      }
    }
  ]
}

Per un esempio di codice che illustra come usare la risorsa Inventario per aggiornare un batch di prodotti, vedere Aggiornamento dei prezzi e della disponibilità per un batch di prodotti.

Vedere anche

Gestione delle offerte di prodotti