Utilizzare feed supplementari con la Content API

Puoi utilizzare 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 di feed supplementare products.insert al seguente URL:

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

products.insert

Il metodo del feed supplementare products.insert aggiunge i campi dei prodotti che invii nel corpo della richiesta, sovrascrivendo questi campi, se presenti. 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. Sebbene i dati aggiunti tramite altri feed non siano interessati, ogni richiesta sovrascrive le richieste 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 per il 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 che invii nel corpo della richiesta.

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

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 "non disponibile", 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 in precedenza aggiunti dalle chiamate products.insert utilizzando il feed aggiuntivo specificato. La chiamata di questo metodo per un feed supplementare non influisce sui dati di prodotto originali aggiunti prima dell'esecuzione delle chiamate Product.insert del feed supplementare. È un po' come rimuovere un livello di dati per un feed specifico; i dati aggiunti tramite altri feed non sono interessati e il prodotto viene effettivamente ripristinato allo stato precedente prima dell'aggiunta del livello del feed supplementare. Questa operazione è diversa dalla chiamata a products.delete senza un feed supplementare, che elimina l'intero prodotto e tutti i relativi dati.

Utilizza il seguente URL per effettuare una richiesta del 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

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

products.custombatch

I metodi custombatch ti consentono di insert o delete di dati dei feed supplementari per più prodotti utilizzando un'unica chiamata API per ridurre al minimo il numero di chiamate API effettuate.

Usa il seguente URL di richiesta per effettuare una chiamata custombatch:

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

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

products.custombatch:insert

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

Esempio

Per aggiornare il valore 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"
    }
  ]
}