Datenquellen migrieren

In diesem Leitfaden wird beschrieben, wie Sie Ihre Integration von den Diensten datafeeds und datafeedstatuses der Content API for Shopping zur Unter-API „Data Sources“ in der Merchant API migrieren. Die neue Unter-API für Datenquellen bietet eine direktere Kontrolle über Ihre Datenpipelines und vereinfacht die Verwaltung von Datenquellen.

Weitere Informationen zu den neuen Funktionen finden Sie im Leitfaden Datenquellen verwalten.

Wichtige Unterschiede

Die Merchant API bietet im Vergleich zur Content API for Shopping mehrere Vorteile:

  • Explizite Erstellung von Datenquellen: Beim ersten Einfügen eines Produkts wird mit der API nicht mehr automatisch eine „Content API“-Datenquelle erstellt. In der Merchant API müssen Sie Datenquellen explizit erstellen, bevor Sie Produkte hochladen können. So haben Sie von Anfang an mehr Kontrolle über die Organisation und Verwaltung Ihrer Pipelines für Produktdaten.

  • Unterstützung mehrerer API-Datenquellen: In der Content API for Shopping war nur eine automatisch erstellte Datenquelle vom Typ „Content API“ verfügbar. Mit der Merchant API können Sie mehrere Datenquellen des Eingabetyps API erstellen und verwalten.

  • Datenquellen ohne Label und Sprache: Mit der Merchant API können Sie eine primäre Datenquelle erstellen, ohne feedLabel und contentLanguage anzugeben. Für diesen Datenquellentyp können Produkte in beliebiger Kombination aus feedLabel und contentLanguage hochgeladen werden. Das vereinfacht das Hochladen von Produkten für Integrationen, für die keine separaten Datenquellen für verschiedene Regionen erforderlich sind.

  • Vereinfachte Datenziele: Jede Datenquelle entspricht jetzt einem einzelnen Ziel, das durch eine eindeutige Kombination aus feedLabel und contentLanguage definiert wird. Feeds mit mehreren Datenzielen werden in der Merchant API nicht mehr unterstützt.

  • Eigener Dateiuploadstatus: In der Merchant API wird der Status von dateibasierten Datenquellen über eine separate schreibgeschützte fileUploads-Ressource dargestellt. Verwenden Sie die Methode fileUploads.get mit dem Alias latest, um den Status eines Dateiuploads abzurufen.

  • Neue Datenquellentypen: Die DataSource-Ressource unterstützt mehr Branchen, darunter Angebote, lokales Inventar und regionales Inventar. So können Sie alle Ihre Datenpipelines einheitlich verwalten.

  • Automatisierte Datenquellen: Mit der Merchant API können Sie jetzt die Funktion Automatisierte Datenquellen für Ihr Konto mit der Methode autofeedSettings.updateAutofeedSettings in der Unter-API „Accounts“ aktivieren oder deaktivieren. Weitere Informationen finden Sie unter Autofeed-Einstellungen konfigurieren.

Strategie für Datenquellen auswählen

Sie haben drei Möglichkeiten, Ihre Datenquellen zu verwalten:

  • Eine einzelne Merchant API-Datenquelle für ein beliebiges Feedlabel und eine beliebige Sprache erstellen: Mit dieser Option können Sie die Verwaltung vereinfachen, da Sie nur eine Datenquelle benötigen, in der Produkte mit beliebigen feedLabel und contentLanguage akzeptiert werden. Bei der alten Content API-Einrichtung definieren Sie Regeln für bestimmte Labels und Sprachen über separate Datenquellen und fügen Produkte in die Datenquelle mit den entsprechenden Zielregeln ein. Wenn Sie diese Option auswählen, empfehlen wir, alle Ihre Produkte zur neuen Datenquelle zu migrieren und Ihre Content API-Datenquellen zu entfernen, sobald alle Ihre Produkte migriert sind.

  • Neue Merchant API-Datenquellen für jedes Label und jede Sprache erstellen: Verwenden Sie diese Option, wenn Sie neue Kombinationen aus feedLabel und contentLanguage unterstützen müssen (und eine strikte Trennung bevorzugen) oder wenn Sie die Einrichtung von Datenquellenregeln verwenden, die auf bestimmten feedLabel und contentLanguage basieren. Sie müssen für jedes Paar aus feedLabel und contentLanguage, das Sie verwenden, eine separate Datenquelle erstellen. Sie können Merchant API-Datenquellen mit den Datenquellen kombinieren, die mit der Content API for Shopping erstellt wurden.

  • Vorhandene Content API-Datenquellen beibehalten: Sie können weiterhin Datenquellen verwenden, die mit der Content API for Shopping erstellt wurden, da sie mit der Merchant API kompatibel sind. Sie können die Ressourcennamen mit dataSources.list oder in der Merchant Center-Benutzeroberfläche finden. Primäre Content API-Datenquellen unterstützen nur die spezifischen feedLabel und contentLanguage, mit denen sie erstellt wurden. Content API-Datenquellen werden im Merchant Center mit der Quelle „Content API“ angezeigt, auch wenn Produkte über die Merchant API eingefügt werden. Sie können sie mit neuen Merchant API-Datenquellen kombinieren, die ebenfalls auf bestimmte feedLabel- und contentLanguage-Paare ausgerichtet sind.

Wir empfehlen, Ihre Datenbank für lokal erhältliche Produkte zu ergänzen, indem Sie die Namen aller primären Datenquellen einmal für jedes Ihrer Produkte speichern, um wiederholte dataSources.list-Aufrufe zu vermeiden.

Anfragen

In der folgenden Tabelle werden die Formate der Anfrage-URLs für die Content API for Shopping und die Merchant API verglichen.

Beschreibung der Anfrage Content API for Shopping Merchant API
Datenquelle erstellen POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
Datenquelle abrufen 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}
Datenquellen auflisten GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
Datenquelle aktualisieren 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}
Datenquellen löschen 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}
Datenquelle abrufen 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
Status der Datenquelle abrufen 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
Status von Datenquellen auflisten GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses Nicht verfügbar. Verwenden Sie dataSources.list und fileUploads.get für jede dateibasierte Datenquelle.

IDs

In der Merchant API wird ein stringbasierter Ressourcenname als Kennung verwendet.

Beschreibung der Kennung Content API for Shopping Merchant API
ID der Datenquelle datafeedId (numerisch) name (String, Format: accounts/{account}/dataSources/{datasource})

Methoden

In dieser Tabelle werden die Methoden aus den Diensten datafeeds und datafeedstatuses der Content API for Shopping mit ihren Entsprechungen in der Merchant API verglichen.

Methode der Content API for Shopping Merchant API-Methode Verfügbarkeit und Hinweise
datafeeds.custombatch Nicht verfügbar Verwenden Sie stattdessen einzelne API-Aufrufe.
datafeeds.delete dataSources.delete Verfügbar
datafeeds.fetchnow dataSources.fetch Verfügbar Diese Methode funktioniert jetzt nur noch für Datenquellen mit einer Dateieingabe.
datafeeds.get dataSources.get Verfügbar
datafeeds.insert dataSources.create Verfügbar
datafeeds.list dataSources.list Verfügbar
datafeeds.update dataSources.update Verfügbar Verwendet die Semantik von PATCH anstelle von PUT.
datafeedstatuses.custombatch Nicht verfügbar Verwenden Sie stattdessen einzelne API-Aufrufe. Weitere Informationen finden Sie unter Mehrere Anfragen gleichzeitig senden.
datafeedstatuses.get fileUploads.get Für dateibasierte Datenquellen verfügbar. Verwenden Sie den Alias latest, um den Status des letzten Uploads abzurufen. Bei anderen Datenquellentypen sind Statusinformationen Teil der DataSource-Ressource.
datafeedstatuses.list Nicht verfügbar Wenn Sie den Status mehrerer Datenquellen abrufen möchten, listen Sie zuerst alle Datenquellen mit dataSources.list auf. Rufen Sie dann fileUploads.get mit dem Alias latest für jede dateibasierte Datenquelle auf.

Detaillierte Feldänderungen

In dieser Tabelle sind die Änderungen auf Feldebene zwischen den Ressourcen Datafeed und DatafeedStatus in der Content API for Shopping und den Ressourcen DataSource und FileUpload in der Merchant API aufgeführt.

Content API for Shopping Merchant API Beschreibung
Datafeed DataSource Die Hauptressource für die Konfiguration von Datenquellen.
id name Die Ressourcen-ID. Von einer numerischen ID zu einem String-Ressourcennamen geändert.
name displayName Der für Nutzer sichtbare Name der Datenquelle.
attributeLanguage primaryProductDataSource.contentLanguage Der aus zwei Buchstaben bestehende ISO 639-1-Sprachcode für die Elemente in der Datenquelle.
fileName fileInput.fileName Der Name der hochgeladenen Datei. Dieses Feld ist jetzt unter fileInput verschachtelt.
fetchSchedule fileInput.fetchSettings Der Zeitplan für das Abrufen einer dateibasierten Datenquelle. Diese Option ist jetzt unter fileInput verschachtelt.
fetchSchedule.paused fileInput.fetchSettings.enabled Die Logik ist umgekehrt. paused: true entspricht enabled: false.
format Nicht verfügbar Die Felder fileEncoding, columnDelimiter und quotingMode werden entfernt. Diese werden jetzt automatisch erkannt.
targets primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries Das wiederholte Feld targets wird entfernt. Für jede Datenquelle ist jetzt ein einzelnes Ziel definiert, das durch diese Felder bestimmt wird. Das liegt daran, dass Feeds mit mehreren Datentypen nicht mehr unterstützt werden.
DatafeedStatus FileUpload Der Status eines Dateiuploads ist jetzt eine separate, schreibgeschützte Ressource.
datafeedId name Die Kennung für den Dateiupload, die auf die übergeordnete Datenquelle verweist.
processingStatus processingState Der Verarbeitungsstatus des Uploads. Die Stringwerte (success, failure, in progress) werden durch ein Enum (SUCCEEDED, FAILED, IN_PROGRESS) ersetzt.
errors, warnings issues Fehler und Warnungen werden in einer einzigen Liste issues zusammengeführt. Jedes Problem hat ein Feld vom Typ severity (ERROR oder WARNING).
lastUploadDate uploadTime Der Zeitstempel des letzten Uploads. Das Format wurde von einem String in ein Timestamp-Objekt geändert.
country, language, feedLabel Nicht zutreffend Diese Felder sind nicht mehr in der Statusressource enthalten. Sie sind Teil der DataSource-Ressource.
targets[].included_destinations, targets[].excluded_destinations primaryProductDataSource.destinations Die beiden separaten Listen für einbezogene und ausgeschlossene Ziele werden durch eine einzelne destinations-Liste ersetzt. Jedes Element in der neuen Liste ist ein Objekt, das das Ziel und seinen Status (ENABLED oder DISABLED) angibt. So wird eine explizitere Konfiguration ermöglicht.