Utilizzare feed supplementari con la Content API

Puoi utilizzare feed supplementari per apportare aggiornamenti parziali ai dati di prodotto aggiungendo il feedId come parametro di ricerca 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 di prodotto che invii nel corpo della richiesta, sovrascrivendoli se presenti. Quando utilizzi un feed supplementare, questo metodo lascia inalterati tutti gli altri campi del prodotto, a meno che i campi non siano stati inclusi in una richiesta precedente per lo stesso feed. I dati aggiunti tramite altri feed non sono interessati, ma 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 includi il campo in una richiesta successiva, i dati per il campo omesso vengono rimossi dal feed. Questo comportamento è diverso dalla chiamata a 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 effettuare 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 per i 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 che fossero effettuate le chiamate del feed supplementare Product.insert. Ad esempio, la rimozione di un livello di dati per un feed specifico non influisce sui dati aggiunti tramite altri feed e il prodotto viene ripristinato allo stato precedente prima dell'aggiunta del livello del feed supplementare. Questa operazione differisce dalla chiamata a products.delete senza un feed supplementare, che elimina l'intero prodotto e tutti i relativi dati.

Utilizza il seguente URL per inviare una richiesta per il 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 per i feed supplementari, non è necessario un corpo della richiesta.

products.custombatch

I metodi custombatch ti consentono di insert o delete di fornire dati del feed supplementare per più prodotti utilizzando una singola 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 custombatch ai feed supplementari, 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"
    }
  ]
}