Questa guida spiega come eseguire la migrazione dell'integrazione dai servizi datafeeds e
datafeedstatuses dell'API Content per Shopping alla sotto-API Origini dati
nell'API Merchant. La nuova sotto-API Origini dati offre un controllo più diretto sulle pipeline di dati e semplifica la gestione delle origini dati.
Per saperne di più sulle nuove funzionalità, consulta la guida Gestire le origini dati.
Differenze principali
Rispetto all'API Content per Shopping, l'API Merchant offre diversi vantaggi.
Creazione esplicita dell'origine dati. L'API non crea più automaticamente un'origine dati "API Content" al primo inserimento del prodotto. Nell'API Merchant, devi creare esplicitamente le origini dati prima di poter caricare i prodotti. In questo modo, hai un maggiore controllo sull'organizzazione e sulla gestione delle pipeline di dati di prodotto fin dall'inizio.
Supporto per più origini dati API. Nell'API Content for Shopping, potevi utilizzare una sola origine dati "API Content" creata automaticamente. Con l'API Merchant puoi creare e gestire più origini dati del tipo di input
API.Origini dati senza etichetta e lingua. L'API Merchant ti consente di creare un'origine dati principale senza specificare
feedLabelecontentLanguage. Questo tipo di origine dati accetta prodotti in qualsiasi combinazione difeedLabelecontentLanguage, il che semplifica i caricamenti dei prodotti per le integrazioni che non richiedono origini dati separate per regioni diverse.Destinazioni dei dati semplificate. Ogni origine dati ora corrisponde a una singola destinazione, definita da una combinazione univoca di
feedLabelecontentLanguage. I feed di destinazione con più dati sono ritirati nell'API Merchant.Scegli la strategia per l'origine dati. Hai tre opzioni per gestire le origini dati:
Mantieni le origini dati dell'API Content esistenti. Puoi continuare a utilizzare le origini dati create con l'API Content per Shopping, in quanto sono compatibili con l'API Merchant. Puoi trovare i nomi delle risorse utilizzando
dataSources.listo nell'interfaccia utente di Merchant Center. Le origini dati principali dell'API Content supportano solo le coppie specifiche difeedLabelecontentLanguagecon cui sono state create. Le origini dati dell'API Content vengono mostrate in Merchant Center con l'origine "API Content" anche se i prodotti vengono inseriti utilizzando l'API Merchant. Puoi combinarle con le nuove origini dati dell'API Merchant che hanno come target anche coppie specifiche difeedLabelecontentLanguage.Crea nuove origini dati dell'API Merchant per ogni etichetta e lingua. Utilizza questa opzione se devi supportare nuove combinazioni di
feedLabelecontentLanguage(e preferisci mantenerle rigorosamente separate) o se utilizzi la configurazione delle regole dell'origine dati che si basa sufeedLabelecontentLanguagespecifici. Dovrai creare un'origine dati separata per ogni coppia difeedLabelecontentLanguageche utilizzi.Crea una singola origine dati dell'API Merchant per qualsiasi etichetta e lingua. Utilizza questa opzione per semplificare la gestione con un'unica origine dati che accetta prodotti con qualsiasi
feedLabelecontentLanguage. Se scegli questa opzione, ti consigliamo di eseguire la migrazione di tutti i prodotti a questa nuova origine dati e di rimuovere le vecchie origini dati dell'API Content una volta eseguita la migrazione dei prodotti.
Stato di caricamento dei file dedicato. L'API Merchant rappresenta lo stato delle origini dati basate su file utilizzando una risorsa
fileUploadsseparata e di sola lettura. Per recuperare lo stato di un caricamento di file, utilizza il metodofileUploads.getcon l'aliaslatest.Nuovi tipi di origini dati. La risorsa
DataSourcesupporta più verticali, tra cui promozioni, inventario locale e inventario regionale, fornendo un modo unificato per gestire tutte le pipeline di dati.Origini dati automatiche. Con l'API Merchant, ora puoi attivare o disattivare la funzionalità Origini dati automatiche per il tuo account utilizzando il metodo
autofeedSettings.updateAutofeedSettingsnella sotto-API Account. Per saperne di più, consulta Configurare le impostazioni di Autofeed settings.
Richieste
La tabella seguente confronta i formati degli URL delle richieste tra l'API Content per Shopping e l'API Merchant.
| Descrizione della richiesta | API Content per Shopping | API Merchant |
|---|---|---|
| Creare un'origine dati | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds |
POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources |
| Recuperare un'origine dati | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| Elencare le origini dati | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources |
| Aggiornare un'origine dati | PUT https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
PATCH https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| Eliminare un'origine dati | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
DELETE https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| Recuperare un'origine dati | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID}/fetchNow |
POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}:fetch |
| Recuperare lo stato dell'origine dati | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses/{DATAFEED_ID} |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}/fileUploads/latest |
| Elencare gli stati delle origini dati | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses |
Non disponibile. Utilizza dataSources.list e fileUploads.get per ogni origine dati basata su file. |
Identificatori
L'API Merchant utilizza un nome di risorsa basato su stringhe come identificatore.
| Descrizione dell'identificatore | API Content per Shopping | API Merchant |
|---|---|---|
| Identificatore dell'origine dati | datafeedId (numerico) |
name (stringa, formato: accounts/{account}/dataSources/{datasource}) |
Metodi
Questa tabella confronta i metodi dei servizi datafeeds
e datafeedstatuses dell'API Content for Shopping con i relativi equivalenti nell'API Merchant.
| Metodo dell'API Content per Shopping | Metodo dell'API Merchant | Disponibilità e note |
|---|---|---|
datafeeds.custombatch |
Non disponibile | Utilizza invece le singole chiamate API. |
datafeeds.delete |
dataSources.delete |
Disponibile. |
datafeeds.fetchnow |
dataSources.fetch |
Disponibile. Questo metodo ora funziona solo per le origini dati con un input di file. |
datafeeds.get |
dataSources.get |
Disponibile. |
datafeeds.insert |
dataSources.create |
Disponibile. |
datafeeds.list |
dataSources.list |
Disponibile. |
datafeeds.update |
dataSources.update |
Disponibile. Utilizza la semantica PATCH anziché PUT. |
datafeedstatuses.custombatch |
Non disponibile | Utilizza invece le singole chiamate API. Per saperne di più, consulta Inviare più richieste contemporaneamente. |
datafeedstatuses.get |
fileUploads.get |
Disponibile per le origini dati basate su file. Utilizza l'alias latest per ottenere lo stato del caricamento più recente. Per altri tipi di origini dati, le informazioni sullo stato fanno parte della risorsa DataSource. |
datafeedstatuses.list |
Non disponibile | Per ottenere lo stato di più origini dati, elenca prima tutte le origini dati con dataSources.list. Poi chiama fileUploads.get con l'alias latest per ogni origine dati basata su file. |
Modifiche dettagliate dei campi
Questa tabella mostra le modifiche a livello di campo tra le risorse Datafeed e
DatafeedStatus nell'API Content for Shopping e le risorse DataSource
e FileUpload nell'API Merchant.
| API Content per Shopping | API Merchant | Descrizione |
|---|---|---|
Datafeed |
DataSource |
La risorsa principale per la configurazione dell'origine dati. |
id |
name |
L'identificatore della risorsa. È stato modificato da un ID numerico a un nome di risorsa stringa. |
name |
displayName |
Il nome dell'origine dati visibile all'utente. |
attributeLanguage |
primaryProductDataSource.contentLanguage |
Il codice lingua ISO 639-1 a due lettere degli articoli nell'origine dati. |
fileName |
fileInput.fileName |
Il nome del file caricato. Questo campo è ora nidificato in fileInput. |
fetchSchedule |
fileInput.fetchSettings |
La pianificazione per il recupero di un'origine dati basata su file. Ora è nidificato in fileInput. |
fetchSchedule.paused |
fileInput.fetchSettings.enabled |
La logica è invertita. paused: true equivale a enabled: false. |
format |
Non disponibile | I campi fileEncoding, columnDelimiter e quotingMode sono stati rimossi. Ora vengono rilevati automaticamente. |
targets |
primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries |
Il campo targets ripetuto è stato rimosso. Ogni origine dati ora ha una singola destinazione definita da questi campi, il che riflette il ritiro dei feed di destinazione con più dati. |
DatafeedStatus |
FileUpload |
Lo stato di un caricamento di file è ora una risorsa separata e di sola lettura. |
datafeedId |
name |
L'identificatore del caricamento di file, che fa riferimento alla relativa origine dati principale. |
processingStatus |
processingState |
Lo stato di elaborazione del caricamento. I valori stringa (success, failure, in progress) vengono sostituiti da un enum (SUCCEEDED, FAILED, IN_PROGRESS). |
errors, warnings |
issues |
Gli errori e gli avvisi vengono uniti in un unico elenco issues. Ogni problema ha un campo severity (ERROR o WARNING). |
lastUploadDate |
uploadTime |
Il timestamp dell'ultimo caricamento. Il formato è stato modificato da una stringa a un oggetto Timestamp. |
country, language, feedLabel |
Non applicabile | Questi campi non sono più presenti nella risorsa di stato. Fanno parte della risorsa DataSource. |
targets[].included_destinations, targets[].excluded_destinations |
primaryProductDataSource.destinations |
I due elenchi separati per le destinazioni incluse ed escluse vengono sostituiti da un unico elenco destinations. Ogni elemento nel nuovo elenco è un oggetto che specifica la destinazione e il relativo stato (ENABLED o DISABLED), fornendo una configurazione più esplicita. |