In diesem Leitfaden wird erläutert, wie Sie Ihre Integration von den Diensten datafeeds und datafeedstatuses der Content API for Shopping zur Unter-API „Datenquellen“ in der Merchant API migrieren. Die neue Unter-API „Data Sources“ bietet mehr direkte Kontrolle über Ihre Datenpipelines und vereinfacht die Verwaltung von Datenquellen.
Weitere Informationen zu den neuen Funktionen finden Sie im Leitfaden Datenquellen verwalten.
Wichtige Unterschiede
Im Vergleich zur Content API for Shopping bietet die Merchant API mehrere Vorteile:
Explizite Erstellung von Datenquellen: Die API erstellt beim ersten Einfügen eines Produkts nicht mehr automatisch eine „Content API“-Datenquelle. 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 waren Sie auf eine einzige, automatisch erstellte „Content API“-Datenquelle beschränkt. Mit der Merchant API können Sie mehrere Datenquellen vom Eingabetyp
APIerstellen und verwalten.Datenquellen ohne Label und Sprache: Mit der Merchant API können Sie eine primäre Datenquelle erstellen, ohne
feedLabelundcontentLanguageanzugeben. Dieser Typ von Datenquelle akzeptiert Produkte in jeder Kombination ausfeedLabelundcontentLanguage. Das vereinfacht das Hochladen von Produkten für Integrationen, die keine separaten Datenquellen für verschiedene Regionen erfordern.Vereinfachte Datenziele: Jede Datenquelle entspricht jetzt einem einzelnen Ziel, das durch eine eindeutige Kombination aus
feedLabelundcontentLanguagedefiniert ist. Feeds mit mehreren Datenzielen werden in der Merchant API nicht mehr unterstützt.Eigener Status für Dateiuploads: Die Merchant API stellt den Status dateibasierter Datenquellen mithilfe einer separaten schreibgeschützten
fileUploads-Ressource dar. Verwenden Sie die MethodefileUploads.getmit dem Aliaslatest, um den Status eines Dateiuploads abzurufen.Neue Datenquellentypen: Die
DataSource-Ressource unterstützt weitere Branchen, darunter Angebote, lokales Inventar und regionales Inventar, und bietet eine einheitliche Möglichkeit, alle Ihre Datenpipelines zu verwalten.Automatisierte Datenquellen: Mit der Merchant API können Sie jetzt die Funktion Automatische Datenquellen für Ihr Konto aktivieren oder deaktivieren. Verwenden Sie dazu die Methode
autofeedSettings.updateAutofeedSettingsin der Accounts Sub-API. Weitere Informationen finden Sie unter Einstellungen für Autofeed konfigurieren.
Datenquellenstrategie auswählen
Sie haben drei Möglichkeiten, Ihre Datenquellen zu verwalten:
Erstellen Sie eine einzelne Merchant API-Datenquelle für ein beliebiges Feedlabel und eine beliebige Sprache. Mit dieser Option können Sie die Verwaltung vereinfachen, da Sie nur eine einzige Datenquelle haben, die Produkte mit beliebigen
feedLabel- undcontentLanguage-Werten akzeptiert. In 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.Erstellen Sie für jedes Label und jede Sprache neue Merchant API-Datenquellen. Verwenden Sie diese Option, wenn Sie neue Kombinationen aus
feedLabelundcontentLanguageunterstützen müssen (und eine strikte Trennung zwischen ihnen bevorzugen) oder wenn Sie die Einrichtung von Datenquellenregeln verwenden, die auf bestimmtenfeedLabelundcontentLanguageberuhen. Sie müssen für jedes Paar ausfeedLabelundcontentLanguage, das Sie verwenden, eine separate Datenquelle erstellen. Sie können Merchant API-Datenquellen mit Datenquellen kombinieren, die mit der Content API for Shopping erstellt wurden.
- Vorhandene Content API-Datenquellen beibehalten: Sie können mit der Content API for Shopping erstellte Datenquellen weiterhin verwenden, da sie mit der Merchant API kompatibel sind. Sie finden die Ressourcennamen mit
dataSources.listoder in der Merchant Center-Benutzeroberfläche. Primäre Content API-Datenquellen unterstützen nur die spezifischenfeedLabelundcontentLanguage, 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 bestimmtefeedLabel- undcontentLanguage-Paare ausgerichtet sind.
Wir empfehlen, die Datenbank für lokale Produkte zu füllen, 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 Anfrage-URL-Formate der Content API for Shopping und der 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
Die Merchant API verwendet einen stringbasierten Ressourcennamen als Kennung.
| Beschreibung der ID | Content API for Shopping | Merchant API |
|---|---|---|
| Datenquellen-ID | datafeedId (numerisch) |
name (String, Format: accounts/{account}/dataSources/{datasource}) |
Methoden
In dieser Tabelle werden die Methoden der Content API for Shopping-Dienste datafeeds und datafeedstatuses mit den entsprechenden Methoden in der Merchant API verglichen.
| Content API for Shopping-Methode | 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 PATCH-Semantik 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 |
Verfügbar für dateibasierte Datenquellen. 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 Ressourcenkennung. Von einer numerischen ID in einen 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 der Artikel 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 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 wiederkehrende Feld targets wird entfernt. Jede Datenquelle hat jetzt ein einzelnes Ziel, das durch diese Felder definiert wird. Dies spiegelt die Einstellung von Feeds mit mehreren Datenzielen wider. |
DatafeedStatus |
FileUpload |
Der Status eines Dateiuploads ist jetzt eine separate, schreibgeschützte Ressource. |
datafeedId |
name |
Die Kennung für den Datei-Upload, 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 issues-Liste zusammengefasst. Jedes Problem hat ein severity-Feld (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 eingeschlossene und ausgeschlossene Ziele werden durch eine einzige destinations-Liste ersetzt. Jedes Element in der neuen Liste ist ein Objekt, das das Ziel und seinen Status (ENABLED oder DISABLED) angibt. Dadurch wird die Konfiguration expliziter. |