In diesem Leitfaden wird beschrieben, wie Sie Ihre Integration von den datafeeds- und datafeedstatuses-Diensten 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 Steuerung Ihrer 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: Über die API wird bei der ersten Produkteinfügung 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 Produktdaten-Pipelines. 
- Unterstützung mehrerer API-Datenquellen. In der Content API for Shopping war die Nutzung auf eine einzige, automatisch erstellte Datenquelle für die 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 - feedLabelund- contentLanguageanzugeben. In dieser Art von Datenquelle können Produkte in beliebiger Kombination aus- feedLabelund- contentLanguagehochgeladen 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 - feedLabelund- contentLanguagedefiniert wird. Feeds mit mehreren Datenzielen werden in der Merchant API nicht mehr unterstützt.
- Eigener Uploadstatus für Dateien: Die Merchant API stellt den Status von dateibasierten Datenquellen über eine separate, schreibgeschützte - fileUploads-Ressource dar. Verwenden Sie die Methode- fileUploads.getmit 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 aktivieren oder deaktivieren. Verwenden Sie dazu die Methode - autofeedSettings.updateAutofeedSettingsin der Unter-API „Accounts“. Weitere Informationen finden Sie unter Autofeed-Einstellungen konfigurieren.
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.listundfileUploads.getfü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 | 
|---|---|---|
| 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 ihren Entsprechungen 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 Semantik von PATCHanstelle vonPUT. | 
| 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 derDataSource-Ressource. | 
| datafeedstatuses.list | Nicht verfügbar | Wenn Sie den Status mehrerer Datenquellen abrufen möchten, listen Sie zuerst alle Datenquellen mit dataSources.listauf. Rufen Sie dannfileUploads.getmit dem Aliaslatestfür jede dateibasierte Datenquelle auf. | 
Detaillierte Feldänderungen
In dieser Tabelle sehen Sie 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.
| 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 nutzerfreundliche 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 fileInputverschachtelt. | 
| fetchSchedule | fileInput.fetchSettings | Der Zeitplan für das Abrufen einer dateibasierten Datenquelle. Diese Option ist jetzt unter fileInputzu finden. | 
| fetchSchedule.paused | fileInput.fetchSettings.enabled | Die Logik ist invertiert. paused: trueentsprichtenabled: false. | 
| format | Nicht verfügbar | Die Felder fileEncoding,columnDelimiterundquotingModewerden entfernt. Diese werden jetzt automatisch erkannt. | 
| targets | primaryProductDataSource.feedLabel,primaryProductDataSource.contentLanguage,primaryProductDataSource.countries | Das wiederholte Feld targetswird 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 String-Werte ( 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 zusammengeführt. Jedes Problem hat einseverity-Feld (ERRORoderWARNING). | 
| 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 DataSource-Ressource. | 
| targets[].included_destinations,targets[].excluded_destinations | primaryProductDataSource.destinations | Die beiden separaten Listen für ein- 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 (ENABLEDoderDISABLED) angibt. So wird die Konfiguration expliziter. |