Von der Content API Version 2 zu Version 2.1 migrieren

Im März 2019 haben wir Version 2.1 der Content API for Shopping veröffentlicht. Im April 2021 haben wir angekündigt, dass Version 2 am 30. September 2021 eingestellt wird. Version 2 wurde eingestellt. Bitte migrieren Sie sofort zu Version 2.1.

Anwendung migrieren

Bei der Migration von Version 2 zu Version 2.1 müssen Sie Ihre Endpunkt-URLs aktualisieren, um die neuen Versionen 2.1 aufzurufen, und Ihre Anwendungen so ändern, dass sie die in Version 2.1 eingeführten Änderungen berücksichtigen.

API-Aufrufe für die Verwendung von v2.1-Endpunkten aktualisieren

Wenn Sie Aufrufe an v2.1 senden möchten, müssen Sie Ihre Anfragen so aktualisieren, dass die neuen v2.1-Endpunkte verwendet werden.

Wenn Sie beispielsweise die Methode products.get mit Version 2 aufrufen möchten, verwenden Sie Folgendes:

GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId

Aktualisieren Sie für v2.1 die URL auf:

GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId

Vollständige Informationen zu v2.1-Diensten und ‑Endpunkten finden Sie in der API-Referenz.

Erforderliche Änderungen ausführen

Sie müssen nicht nur die URLs für Ihre API-Aufrufe aktualisieren, sondern auch Ihre Anwendung, um mehrere wichtige Änderungen zu berücksichtigen, die in Version 2.1 eingeführt wurden. Sehen Sie sich die folgenden Abschnitte an und aktualisieren Sie Ihre Anwendung bei Bedarf.

1. Integrationen mit dem inventory-Dienst aktualisieren

Der inventory-Dienst der Version 2 wurde entfernt. Die entsprechenden Funktionen sind mit den folgenden Funktionen der Version 2.1 verfügbar:

  • Verwenden Sie neue Subfeeds oder products.update für Teilaktualisierungen von Produkten. Aktualisierungen sind für alle veränderbaren Produktfelder möglich, einschließlich aller Felder, die zuvor mit inventory.set aktualisiert wurden (mit Ausnahme der Felder, die ausschließlich für localinventory gelten). Weitere Informationen finden Sie unter Zu Subfeeds migrieren.

  • Verwenden Sie den neuen localinventory-Dienst für Aktualisierungen von lokal erhältlichen Produkten.

2. Aufrufe des accounts-Dienstes aktualisieren

  • Aufrufe der Methode accounts.update in Version 2.1 überschreiben die accounts-Ressource vollständig, anstatt nur die in der Anfrage enthaltenen Felder zu aktualisieren. Damit keine Felder in der Ressource accounts gelöscht werden, müssen Sie Ihre Aufrufanfragen so aktualisieren, dass sie alle Felder enthalten.

  • reviewsUrl wurde entfernt.

  • Der Verknüpfungsstatus inactive wurde für adsLinks, googleMyBusinessLink und youtubeChannelLinks entfernt.

3. Aufrufe des products-Dienstes aktualisieren

  • Benutzerdefinierte Attribute enthalten keinen Typ und keine Einheit mehr. Stattdessen müssen Einheiten an den Wert angehängt werden und Typen sollten automatisch erkannt werden.

  • Das wiederholte Feld productTypes hat sowohl productType als auch additionalProductTypes ersetzt.

  • Die wiederkehrenden Felder includedDestinations und excludedDestinations haben das wiederkehrende Feld destinations ersetzt.

  • Die folgenden AdWords-bezogenen Felder wurden umbenannt:

    • adwordsGrouping -> adsGrouping
    • adwordsLabels -> adsLabels
    • adwordsRedirect -> adsRedirect
  • Die folgenden Felder wurden entfernt:

    • aspects
    • destinations
    • onlineOnly
    • validatedDestinations
    • warnings
  • Der Parameter includeInvalidInsertedItems wurde entfernt. In Version 2.1 werden standardmäßig alle Produkte zurückgegeben.

  • Es dauert jetzt einige Minuten, bis ein eingefügtes Produkt über products.get oder products.list abgerufen werden kann.

  • Der zurückgegebene offerId ist nicht mehr garantiert derselbe wie der Eingabe-offerId. In Version 2.1 wird voran- und nachgestellter Leerraum in offerId entfernt und mehrere Leerraumzeichen werden zu einem zusammengeführt. Diese Änderung hat keine Auswirkungen auf offerId-Werte, die der empfohlenen offerId-Syntax entsprechen.

  • Die Preise werden jetzt vor dem Einfügen des Produkts validiert. Im Wertstring sind nur die folgenden Zeichen zulässig: +, -, . und Ziffern (d.h. 09). Kommas werden nicht mehr akzeptiert.

  • Antworten von einem products.insert- oder products.update-Aufruf enthalten nur die folgenden Attribute:

    • channel
    • contentLanguage
    • id
    • offerId
    • feedLabel
  • Die Option includeAttributes für Version 2 wurde verworfen. Verwenden Sie stattdessen products.get mit ProductId, um vollständige Produktinformationen aufzurufen.

4. Aufrufe des productstatuses-Dienstes aktualisieren

  • Das Attribut product wurde zusammen mit dem Parameter includeAttributes entfernt. Wenn Sie Attribute des Produkts abrufen möchten, die einem Status entsprechen, verwenden Sie den products-Dienst und übergeben Sie den Wert des neuen Felds productId.

  • Der Parameter includeInvalidInsertedItems wurde entfernt. Die productId jedes Produkts wird jetzt zurückgegeben, unabhängig davon, ob das Produkt gültig ist.

  • Die Felder intention, approvalStatus und approvalPending in destinationStatuses wurden durch status ersetzt. Das ist ein String, der approved, disapproved oder pending sein kann.

  • dataQualityIssues wurde durch itemLevelIssues ersetzt.

5. Aufrufe des datafeeds-Dienstes aktualisieren

  • Die folgenden Zielfelder wurden ersetzt:

    • contentLanguage -> language
    • targetCountry -> country
    • intendedDestinations -> includedDestinations und excludedDestinations
  • Datenfeeds mit contentType = "product inventory update" wurden entfernt.

6. Aufrufe der Dienste orders und TestOrders aktualisieren

  • In Version 2.1 sollten keine Steuerdaten enthalten sein, da diese automatisch berechnet werden. Wenn die Bestellung in einem Bundesstaat mit einem Marketplace Fairness Act (MFA) oder einem ähnlichen Gesetz ausgeführt wird, schlagen Aufrufe mit Steuerdaten fehl. Wenn die Bestellung in einem Bundesstaat ohne MFA ausgeführt wird, wird die Steuer anhand der im Merchant Center konfigurierten Einstellungen berechnet. Wenn nichts konfiguriert ist, beträgt die berechnete Steuer 0.

  • Die Felder InStoreRefundLineItem und ReturnRefundLineItem amountPretax und amountTax wurden durch priceAmount bzw. taxAmount ersetzt. priceAmount kann je nach Standort der Bestellung vor oder nach Steuern sein.

  • Die ShipLineItem-Felder carrier, shipmentId und trackingId in der Anfrage wurden in shipmentInfos verschoben.

  • billingAddress und predefinedBillingAddress sind jetzt Felder der obersten Ebene in orders bzw. TestOrder.

  • customer.explicitMarketingPreference wurde durch customer.marketingRightsInfo ersetzt.

  • Das Feld netAmount wurde in netPriceAmount und netTaxAmount aufgeteilt.

  • shippingOption wurde durch lineItems[].shippingDetails ersetzt.

  • Die CancelLineItem-Felder amount, amountPretax und amountTax in der Anfrage wurden entfernt. Der erstattete Betrag wird jetzt automatisch berechnet.

  • CustomBatch wurde entfernt.

  • Refund wurde entfernt. Verwenden Sie stattdessen refundOrder oder refundItem.

  • Das Feld paymentMethod wurde entfernt.

  • Die v2-Methoden orders.returnlineitem und orders.refund werden durch orderreturns.creatOrderReturn und orderreturns.process ersetzt.

  • Die Felder customer.email, channelType und lineItem.product.channel wurden entfernt.

  • Das Feld promotions wurde aus dem Dienst TestOrder entfernt und sein Format wurde in Order geändert.

7. Aufrufe des orderinvoice-Dienstes aktualisieren

  • Die Felder amountPretax und amountTax wurden durch priceAmount bzw. taxAmount ersetzt. Das Feld priceAmount kann je nach Standort der Bestellung vor oder nach Steuern sein.

  • Entfernte Salden (Händler, Kunde, Google) in invoiceSummary und Felder für Werbegebühren.

8. Funktionen entfernen, die nicht in Version 2.1 enthalten sind

In Version 2.1 wurden mehrere andere Funktionen aus der Content API entfernt. Sehen Sie sich die folgende Liste an und aktualisieren Sie Ihre Anwendung bei Bedarf:

  • XML wird nicht mehr unterstützt. Weitere Informationen zum Umstellen auf JSON finden Sie unter Einstellung der XML-Unterstützung in der Content API for Shopping.

  • Der Parameter dryRun wurde entfernt. Diese Änderung gilt für alle API-Aufrufe.

  • Alle HTTP BATCH-Methoden wurden entfernt. Verwenden Sie stattdessen customBatch.

  • Die Methode patch wurde aus den folgenden Diensten entfernt:

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • Der Dienst orderpayments wurde entfernt.

Migration testen

Weitere Informationen zum Testen der Änderungen an Ihren Anwendungen nach der Migration zu Version 2.1 finden Sie unter Verwendung der Content API for Shopping testen. Wenn beim Testen Ihrer Updates Probleme auftreten, können Sie sich an uns wenden.

Weitere Änderungen in Version 2.1

Neben Änderungen, die Updates erfordern, werden mit Version 2.1 auch mehrere neue Funktionen und nicht funktionsgefährdende Änderungen eingeführt:

  • Neue Dienste:

    • Mit dem neuen Dienst localinventory können Sie lokale Produktupdates vornehmen (anstelle des Dienstes inventory in Version 2).

    • Mit dem neuen Dienst orderreturns können Sie Buy on Google (früher Shopping Actions) einfacher verwalten, da Sie Rückgaben bearbeiten können, ohne den Dienst orders verwenden zu müssen.

  • Mit Subfeeds können Sie Produktupdates in Teilen vornehmen.

  • Weitere Änderungen am products-Dienst:

    • Bei products.insert-Anfragen werden keine nicht schwerwiegenden Warnungen oder Fehler mehr gemeldet. So können Sie Produkte einfügen und anschließend Aktualisierungen vornehmen, um Probleme mithilfe von Feedregeln im Merchant Center zu beheben, genau wie bei Feeds, die außerhalb der Content API verwaltet werden.

    • products.update wurde hinzugefügt, damit Sie Änderungen an einer ausgewählten Gruppe von Produktfeldern vornehmen können. Weitere Informationen zur möglichen Verwendung finden Sie im Leitfaden.

    • Ungültige Werte für die folgenden Attribute lösen keine Einfügefehler mehr aus, sondern werden als Teil von itemLevelIssues vom productstatus-Dienst zurückgegeben:

      • ageGroup
      • availability
      • condition
      • energyEfficiencyClass
      • gender
      • maxEnergyEfficiencyClass
      • minEnergyEfficiencyClass
      • sizeSystem
      • sizeType
    • Benutzerdefinierte Attribute sind jetzt rekursiv, sodass keine benutzerdefinierten Gruppen mehr erforderlich sind.

    • Benutzerdefinierte Attribute haben jetzt zusätzlich zum ursprünglichen Feld value ein Feld groupValues. Genau eines der Felder muss festgelegt werden.