In dieser Anleitung wird erläutert, wie Sie Ihre Integration von den datafeeds und
datafeedstatuses Diensten der Content API for Shopping zur
Data Sources Sub-API in der Merchant API migrieren. Die neue Data Sources Sub-API 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
Im Vergleich zur Content API for Shopping bietet die Merchant API mehrere Vorteile:
Explizite Erstellung von Datenquellen Mit der API wird bei der ersten Produkteinfügung nicht mehr automatisch eine Datenquelle vom Typ „Content API“ 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 Produktdatenpipelines.
Unterstützung für mehrere API-Datenquellen In der Content API for Shopping waren Sie auf eine einzige, automatisch erstellte Datenquelle vom Typ „Content API“ beschränkt. Mit der Merchant API können Sie mehrere Datenquellen des Eingabetyps
APIerstellen und verwalten.Datenquellen ohne Label und Sprache Mit der Merchant API können Sie eine primäre Datenquelle erstellen, ohne
feedLabelundcontentLanguageanzugeben. Diese Art von Datenquelle akzeptiert Produkte in jeder Kombination vonfeedLabelundcontentLanguage. So werden Produkt-Uploads für Integrationen vereinfacht, 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
feedLabelundcontentLanguagedefiniert wird. Feeds mit mehreren Datenzielen werden in der Merchant API nicht mehr unterstützt.Dedizierter Status für Datei-Uploads In der Merchant API wird der Status von dateibasierten Datenquellen mit einer separaten, schreibgeschützten
fileUploads-Ressource dargestellt. Verwenden Sie die MethodefileUploads.getmit dem Aliaslatest, um den Status eines Datei-Uploads abzurufen.Neue Datenquellentypen Die Ressource
DataSourceunterstützt mehr Branchen, darunter Angebote, lokales Inventar und regionales Inventar. So können Sie alle Ihre Datenpipelines einheitlich verwalten.Automatische Datenquellen Mit der Merchant API können Sie die Funktion „Automatische Datenquellen“ jetzt für Ihr Konto aktivieren oder deaktivieren. Automated data sources Verwenden Sie dazu die
autofeedSettings.updateAutofeedSettingsMethode in der Accounts Sub-API. Weitere Informationen finden Sie unter Einstellungen für automatische Feeds konfigurieren.
Datenquellenstrategie auswählen
Sie haben drei Möglichkeiten, Ihre Datenquellen zu verwalten:
Eine einzelne Merchant API-Datenquelle für jedes Feedlabel und jede Sprache erstellen Mit dieser Option können Sie die Verwaltung vereinfachen, indem Sie eine einzelne Datenquelle verwenden, die Produkte mit beliebigen Werten für
feedLabelundcontentLanguageakzeptiert. 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 ein, die die entsprechenden Zielregeln enthält. 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 Produkte migriert wurden.Neue Merchant API-Datenquellen für jedes Label und jede Sprache erstellen Verwenden Sie diese Option, wenn Sie neue Kombinationen von
feedLabelundcontentLanguageunterstützen müssen und diese strikt voneinander trennen möchten oder wenn Sie die Einrichtung von Datenquellenregeln verwenden, die auf bestimmten Werten fürfeedLabelundcontentLanguagebasieren. Sie müssen für jedes Paar ausfeedLabelundcontentLanguageeine 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. Die Ressourcennamen finden Sie mit
dataSources.listoder in der Merchant Center-Benutzeroberfläche. Primäre Datenquellen der Content API unterstützen nur die Werte fürfeedLabelundcontentLanguage, mit denen sie erstellt wurden. Content API-Datenquellen werden im Merchant Center mit der Quelle „Content API“ angezeigt, auch wenn Produkte mit der Merchant API eingefügt werden. Sie können sie mit neuen Merchant API-Datenquellen kombinieren, die ebenfalls auf bestimmte Paare ausfeedLabelundcontentLanguageausgerichtet sind.
Wir empfehlen, Ihre Datenbank für lokal erhältliche 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 Formate der Anforderungs-URLs zwischen 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} |
| Datenquelle 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 ID verwendet.
| Beschreibung der ID | 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 der Dienste datafeeds
und datafeedstatuses der Content API for Shopping mit ihren Entsprechungen in der Merchant API verglichen.
| Methode der Content API for Shopping | Methode der Merchant API | Verfügbarkeit und Anmerkungen |
|---|---|---|
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 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 das Alias latest, um den Status des letzten Uploads abzurufen. Bei anderen Datenquellentypen sind Statusinformationen Teil der Ressource DataSource. |
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 werden die Änderungen auf Feldebene zwischen den Datafeed und
DatafeedStatus Ressourcen in der Content API for Shopping und den DataSource
und FileUpload Ressourcen in der Merchant API verglichen.
| Content API for Shopping | Merchant API | Beschreibung |
|---|---|---|
Datafeed |
DataSource |
Die Hauptressource für die Konfiguration von Datenquellen. |
id |
name |
Die Ressourcen-ID. Wurde 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. Dieses Feld 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 wurden entfernt. Sie werden jetzt automatisch erkannt. |
targets |
primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries |
Das wiederholte Feld targets wurde entfernt. Jede Datenquelle hat jetzt ein einzelnes Ziel, das durch diese Felder definiert wird. Das spiegelt die Einstellung wider, dass Feeds mit mehreren Datenzielen nicht mehr unterstützt werden. |
DatafeedStatus |
FileUpload |
Der Status eines Datei-Uploads ist jetzt eine separate, schreibgeschützte Ressource. |
datafeedId |
name |
Die ID 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 eine Enum (SUCCEEDED, FAILED, IN_PROGRESS) ersetzt. |
errors, warnings |
issues |
Fehler und Warnungen werden in einer einzigen issues-Liste zusammengeführt. Jedes Problem hat ein Feld 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 in der Statusressource nicht mehr vorhanden. Sie sind Teil der Ressource DataSource. |
targets[].included_destinations, targets[].excluded_destinations |
primaryProductDataSource.destinations |
Die beiden separaten Listen für einbezogene und ausgeschlossene Ziele werden durch eine einzige destinations-Liste ersetzt. Jeder Eintrag in der neuen Liste ist ein Objekt, das das Ziel und seinen Status (ENABLED oder DISABLED) angibt. So ist die Konfiguration expliziter. |