Eseguire la migrazione delle origini dati

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 feedLabel e contentLanguage. Questo tipo di origine dati accetta prodotti in qualsiasi combinazione di feedLabel e contentLanguage, 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 feedLabel e contentLanguage. 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:

    1. 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.list o nell'interfaccia utente di Merchant Center. Le origini dati principali dell'API Content supportano solo le coppie specifiche di feedLabel e contentLanguage con 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 di feedLabel e contentLanguage.

    2. Crea nuove origini dati dell'API Merchant per ogni etichetta e lingua. Utilizza questa opzione se devi supportare nuove combinazioni di feedLabel e contentLanguage (e preferisci mantenerle rigorosamente separate) o se utilizzi la configurazione delle regole dell'origine dati che si basa su feedLabel e contentLanguage specifici. Dovrai creare un'origine dati separata per ogni coppia di feedLabel e contentLanguage che utilizzi.

    3. 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 feedLabel e contentLanguage. 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 fileUploads separata e di sola lettura. Per recuperare lo stato di un caricamento di file, utilizza il metodo fileUploads.get con l'alias latest.

  • Nuovi tipi di origini dati. La risorsa DataSource supporta 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.updateAutofeedSettings nella 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.