Utilizzare feed supplementari con la Content API

Puoi utilizzare i feed supplementari per apportare aggiornamenti parziali ai dati di prodotto aggiungendo feedId come parametro di query quando effettui chiamate ai metodi products.insert, products.delete, products.custombatch.insert, e products.custombatch.delete.

Ad esempio, puoi effettuare una chiamata al metodo del feed supplementare products.insert al seguente URL:

POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId

products.insert

Il metodo products.insert del feed supplementare aggiunge i campi del prodotto che invii nel corpo della richiesta, sovrascrivendoli se esistono. Quando utilizzi un feed supplementare, questo metodo lascia invariati tutti gli altri campi del prodotto, a meno che non siano stati inclusi in una richiesta precedente per lo stesso feed. I dati aggiunti tramite altri feed non vengono interessati, ma ogni richiesta sovrascrive le precedenti per lo stesso feed. Ciò significa che se aggiungi o aggiorni un campo tramite una richiesta di feed supplementare e poi non lo includi in una richiesta successiva, i dati del campo omesso vengono rimossi dal feed. Questo comportamento è diverso dalla chiamata di products.insert senza un feed supplementare, che elimina tutti i dati di prodotto esistenti e li sostituisce con i campi inviati nel corpo della richiesta.

Utilizza il seguente URL per inviare una richiesta al servizio Product.insert del feed supplementare:

POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId

Devi includere i campi offerId, feedLabel, channel e contentLanguage nel corpo della richiesta. Tutti gli altri campi sono facoltativi.

Esempio

Per modificare la disponibilità di un prodotto da "Disponibile" a "Esaurito", puoi utilizzare il seguente corpo della richiesta per effettuare una chiamata al metodo Product.insert dei feed supplementari:

{
 "offerId": "1111111111",
 "contentLanguage": "en",
 "feedLabel": "US",
 "channel": "online",
 "availability": "out of stock",
}

products.delete

Il metodo products.delete rimuove tutti i dati supplementari aggiunti in precedenza dalle chiamate products.insert utilizzando il feed supplementare specificato. La chiamata di questo metodo per un feed supplementare non influisce sui dati di prodotto originali aggiunti prima delle chiamate Product.insert al feed supplementare. Puoi considerarlo come la rimozione di un livello di dati per un feed specifico; i dati aggiunti tramite altri feed non vengono modificati e il prodotto torna effettivamente allo stato precedente prima dell'aggiunta del livello del feed supplementare. Questa operazione è diversa dalla chiamata di products.delete senza un feed supplementare, che elimina l'intero prodotto e tutti i relativi dati.

Utilizza il seguente URL per inviare una richiesta al servizio di feed supplementare products.delete, dove productId è l'ID REST del prodotto, rappresentato come: channel:contentLanguage:feedLabel:offerId:

DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId

Non è necessario alcun corpo della richiesta per le chiamate al metodo products.delete dei feed supplementari.

products.custombatch

I metodi custombatch ti consentono di insert o delete i dati del feed supplementare per più prodotti utilizzando una singola chiamata API per ridurre al minimo il numero di chiamate API effettuate.

Utilizza il seguente URL della richiesta per effettuare una chiamata custombatch:

https://shoppingcontent.googleapis.com/content/v2.1/products/batch

Per tutte le chiamate custombatch del feed supplementare, devi includere i parametri batchId, merchantID, method e feedId nel corpo della richiesta.

products.custombatch:insert

Quando effettui chiamate ai feed supplementari al metodo products.custombatch:insert, devi includere offerId, feedLabel, channel e contentLanguage nel corpo della richiesta, oltre ai parametri obbligatori batchId, merchantID e method. Tutti gli altri campi del prodotto sono facoltativi.

Esempio

Per aggiornare il valore di price per due prodotti esistenti, puoi utilizzare la seguente richiesta per effettuare una chiamata al metodo products.custombatch:insert:

{
  "entries": [
    {
      "batchId": 1111,
      "merchantId": 1234567,
      "method": "insert",
      "feedId": "7654321",
      "product": {
         "offerId": "1111111111",
         "contentLanguage": "en",
         "targetCountry": "US",
         "feedLabel": "US",
         "channel": "online",
         "price": {
          "value": "30.99",
          "currency": "USD"
         }
      }
    },
    {
      "batchId": 1112,
      "merchantId": 1234567,
      "method": "insert",
      "feedId": "7654321",
      "product": {
         "offerId": "2222222222",
         "contentLanguage": "en",
         "targetCountry": "US",
         "feedLabel": "US",
         "channel": "online",
         "price": {
          "value": "33.99",
          "currency": "USD"
         },
      },
    }
}

products.custombatch:delete

Per rimuovere tutti gli aggiornamenti apportati a due prodotti tramite un feed supplementare specificato, puoi utilizzare la seguente richiesta per effettuare una chiamata al metodo products.custombatch:delete:

{
  "entries": [
    {
      "batchId": 1115,
      "merchantId": 1234567,
      "method": "delete",
      "feedId": "7654321",
      "productId": "online:en:US:1111111111"
    },
    {
      "batchId": 1116,
      "merchantId": 1234567,
      "method": "delete",
      "feedId": "7654321",
      "productId": "online:en:US:2222222222"
    }
  ]
}