In dieser Anleitung erfahren Sie, wie Sie von der Merchant API v1beta zur v1 migrieren, der ersten Version für die allgemeine Verfügbarkeit. Die Version 1 enthält mehrere Updates und einige Änderungen, die möglicherweise Code-Updates erfordern. Mit diesen Änderungen soll die API vereinfacht und die Verwaltung Ihres Merchant Center-Kontos verbessert werden.
Wichtige Unterschiede
Hier sind die wichtigsten Änderungen, die Sie bei der Migration von v1beta zu v1 beachten müssen:
- Einmalige Registrierung von mindestens einem API-Entwickler für die Verwendung der Merchant API:Sie müssen die Methode
registerGcp(nur einmal für jedes Google Cloud-Projekt, das für die Authentifizierung verwendet wird) aufrufen, um Ihre Kontaktdaten anzugeben. So können Sie die API verwenden und Updates und Ankündigungen zur Merchant API erhalten. Sie können keinev1- oderv1alpha-API verwenden, bis dieser Schritt abgeschlossen ist. Eine Anleitung finden Sie unter Als Entwickler registrieren. Codierung des Produktnamens: Die Felder
ProductInput.nameundProduct.nameunterstützen die unpadded base64url-Codierung (RFC 4648, Abschnitt 5). Beachten Sie die folgenden Richtlinien:- Vor der Codierung muss der String dem Format
contentLanguage~feedLabel~offerIdentsprechen. Die Codierung ist erforderlich, wenn Ihr Produktname Zeichen enthält, die von der Merchant API verwendet werden, oder URL-reservierte Zeichen wie:
% . + / : ~ , ( * ! ) & ? = @ # $Wenn Ihr Produktname dem
contentLanguage~feedLabel~offerId-Format entspricht und keine von der Merchant API verwendeten Zeichen oder URL-reservierte Zeichen enthält, können Sie das einfache Format ohne Codierung verwenden.Damit die Namen einheitlich und korrekt geparst werden, empfehlen wir, für alle Produktnamen die Base64url-Codierung ohne Padding zu verwenden.
- Vor der Codierung muss der String dem Format
Entfernen von Steuerinformationen auf Produktebene:
taxesundtaxCategory.Product.attributesumbenannt: Das FeldProduct.attributeswurde inProduct.productAttributesumbenannt.Entfernung von Steuerinformationen auf Produktebene:Die Felder
taxesundtaxCategorywurden aus dem ObjektProduct.productAttributesentfernt. Weitere Informationen finden Sie im Google Merchant Center-Hilfeartikel zum Thema Steuern.Änderungen am Feld „GTIN“:Das Feld
gtinim ObjektProduct.productAttributeswurde ingtinsumbenannt, um besser widerzuspiegeln, dass es mehrere Werte enthalten kann. Das Feldgtinim ObjektOrderTrackingSignals.lineItemDetailsist jetzt einarrayund wurde ingtinsumbenannt.Entfernung des Channel-Felds:Das Feld
channelwurde aus Produkten, Produkteingaben und Datenquellen entfernt. Ein neues boolesches Feld,legacyLocal, wurde eingeführt, um Produkte, die ausschließlich in physischen Geschäften verkauft werden, eindeutig zu kennzeichnen. Hinweis: Das FeldlegacyLocalist ein Hilfsfeld für die Migration und wird demnächst eingestellt, sobald Online- und lokale Marketingmethoden vollständig mit einer einzigen Produktquelle ausgerichtet werden können. Weitere Informationen finden Sie in der Tabelle im nächsten Abschnitt.Neue Felder für regionale und lokale Inventarattribute:
- Alle
RegionalInventory-Felder mit Ausnahme vonname,accountundregionsind jetzt in einem neuen Objekt namensregionalInventoryAttributesenthalten. Das AttributRegionalInventory.pricebefindet sich jetzt beispielsweise unterRegionalInventory.regionalInventoryAttributes.price. - Alle
LocalInventory-Felder mit Ausnahme vonname,accountundstoreCodesind jetzt in einem neuen Objekt namenslocalInventoryAttributesenthalten. Das AttributLocalInventory.pricebefindet sich jetzt beispielsweise unterLocalInventory.localInventoryAttributes.price.
- Alle
Entfernung von
customAttributesaus regionalen und lokalen Inventaren:Das FeldcustomAttributeswurde sowohl aus den RessourcenRegionalInventoryals auch ausLocalInventoryentfernt.Optimierte Kontoerstellung:Das überflüssige Feld
userswurde ausCreateAndConfigureAccountRequestentfernt. Verwenden Sie das Einzelfelduser, um einen ersten Nutzer mit einem neuen Konto zu verknüpfen.Bestimmte Attributtypen wurden von Strings in Enumerationen geändert:Einige Felder in den Ressourcen
ProductundInventorymit einer definierten kurzen Liste von Werten wurden zur besseren Datenvalidierung vom Typstringin den Typenumgeändert. Das FeldProduct.ProductAttributes.conditionist jetzt beispielsweise vom Typenum.Entfernung der Methode zum Aktualisieren von Online-Rückgaberichtlinien:Die Methode
onlineReturnPolicy.updatewird inv1entfernt. Erstellen Sie stattdessen eine Online-Rückgaberichtlinie mit der MethodeonlineReturnPolicy.create.
Vorgehensweise
Die v1beta-Version der Merchant API wird am 28. Februar 2026 eingestellt.
Weitere Informationen zum Zeitplan für die Einstellung finden Sie in der Anleitung zur Merchant API-Versionierung.
Der erste Schritt bei der Migration ist die einmalige Entwicklerregistrierung (siehe Als Entwickler registrieren). Sie müssen die
registerGcp-Methode für jedes Google Cloud-Projekt aufrufen, das Sie für die Authentifizierung verwenden, bevorv1-Methoden funktionieren.Unabhängig davon, wie Sie die APIs aufrufen (mit REST, gRPC oder über Clientbibliotheken), können Sie die Migration in Phasen durchführen. Das bedeutet, dass Sie Ihren Code API für API aktualisieren und migrieren können (z. B. die
ProductsAPI zuv1verschieben, während dieAccountsAPI aufv1betableibt), ohne die gesamte Integration auf einmal aktualisieren zu müssen.
Detaillierte Feldänderungen
Diese Tabelle enthält einen detaillierten Vergleich der Felder, die sich zwischen den Versionen v1beta und v1 geändert haben.
| v1beta | v1 | Beschreibung |
|---|---|---|
ProductInput.name |
ProductInput.name |
Unpadded base64url encoding wird unterstützt und ist für Produktnamen mit Zeichen, die von der Merchant API oder URL-reservierten Zeichen verwendet werden, obligatorisch. |
Product.name |
Product.name |
Unpadded base64url encoding wird unterstützt und ist für Produktnamen mit Zeichen, die von der Merchant API oder URL-reservierten Zeichen verwendet werden, obligatorisch. |
Product.gtin |
Product.gtins |
Das Feld für GTINs wurde umbenannt. |
Product.taxes |
Entfernt | Das Feld „taxes“ wurde entfernt |
Product.taxCategory |
Entfernt | Das Feld „taxCategory“ wurde entfernt |
Product.channel |
Entfernt | Das Feld channel wurde entfernt. Verwenden Sie das Feld legacyLocal für lokale Anwendungsfälle. |
Product.attributes |
Product.productAttributes |
Das Feld attributes wurde in productAttributes umbenannt.
|
availability, condition, gender, includedDestinations und excludedDestinations in Product-Feldern werden als strings (oder array von strings) dargestellt. |
Diese Felder sind jetzt enums (oder array von enums). |
Felder mit einer definierten kurzen Liste von Werten wurden vom Typ string in enum geändert.
|
price, salePrice, salePriceEffectiveDate und availability in RegionalInventory |
Verschoben nach RegionalInventory.regionalInventoryAttributes |
Diese Felder wurden unter regionalInventoryAttributes verschoben.
|
Das Feld RegionalInventory.availability ist ein string |
RegionalInventory.regionalInventoryAttributes.availability ist jetzt enums |
Der Verfügbarkeitstyp wurde von string in enum geändert.
|
price, salePrice, salePriceEffectiveDate, availability, quantity, pickupMethod, pickupSla und instoreProductLocation in LocalInventory |
Verschoben nach LocalInventory.localInventoryAttributes |
Diese Felder wurden unter localInventoryAttributes verschoben.
|
Das Feld LocalInventory.availability ist ein string |
LocalInventory.localInventoryAttributes.availability ist jetzt enums |
Der Verfügbarkeitstyp wurde von string in enum geändert.
|
LocalInventory.customAttributes |
Entfernt | Benutzerdefinierte Attribute werden für lokales Inventar nicht mehr unterstützt. |
RegionalInventory.customAttributes |
Entfernt | Benutzerdefinierte Attribute werden für regionales Inventar nicht mehr unterstützt. |
ProductInput.channel |
Entfernt | Das Feld channel wurde entfernt. Verwenden Sie das Feld legacyLocal für lokale Anwendungsfälle. |
DataSource.channel |
Entfernt | Das Feld channel wurde entfernt. Verwenden Sie das Feld legacyLocal für lokale Anwendungsfälle. |
| Nicht verfügbar | ProductInput.legacyLocal |
Ein neues boolesches Feld, das angibt, dass ein Produkt nur auf lokale Marketingmethoden ausgerichtet werden kann. Die Produktressourcen-ID hat das Präfix „local~“. |
| Nicht verfügbar | Product.legacyLocal |
Ein neues boolesches Feld, das angibt, dass ein Produkt nur in lokalen Geschäften verkauft wird und nicht online gekauft werden kann. |
| Nicht verfügbar | DataSource.legacyLocal |
Ein neues boolesches Feld, das angibt, ob eine Datenquelle Produkte enthält, die nur in Geschäften vor Ort verkauft werden. |
OrderTrackingSignals.LineItemDetails.gtin |
OrderTrackingSignals.LineItemDetails.gtins |
Das Feld gtin wurde in gtins umbenannt und ist jetzt ein Array von Strings (anstelle eines Strings). |
CreateAndConfigureAccountRequest.users |
Entfernt | Das Feld users wurde entfernt. Verwenden Sie das Feld user, um den ersten Administrator für das Konto hinzuzufügen. |