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 v2 wird eingestellt. Migrieren Sie umgehend zu Version 2.1.

Anwendung migrieren

Bei der Migration von v2 zu v2.1 müssen Sie Ihre Endpunkt-URLs so aktualisieren, dass sie die neuen v2.1-Versionen aufrufen, und Ihre Anwendungen ändern, um funktionsgefährdende Änderungen in Version 2.1 zu berücksichtigen.

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

Wenn du Aufrufe an v2.1 senden möchtest, musst du deine Anfragen so aktualisieren, dass sie die neuen v2.1-Endpunkte verwenden.

Um beispielsweise die Methode products.get mit v2 aufzurufen, würden Sie Folgendes verwenden:

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

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

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

Ausführliche Informationen zu Diensten und Endpunkten der Version 2.1 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 aktualisieren, um mehrere funktionsgefährdende Änderungen aus Version 2.1 zu berücksichtigen. Lesen Sie die folgenden Abschnitte und aktualisieren Sie Ihre Anwendung nach Bedarf.

1. Integrationen mit dem Dienst „inventory“ aktualisieren

Der inventory-Dienst von Version 2 wurde entfernt. Mit den folgenden Funktionen von Version 2.1 sind entsprechende Funktionen verfügbar:

  • Verwenden Sie die neuen Subfeeds oder products.update für teilweise Produktaktualisierungen. Alle änderbaren Produktfelder können aktualisiert werden, einschließlich aller Felder, die zuvor mit inventory.set aktualisiert wurden. Ausgenommen sind nur die Felder von localinventory. Weitere Informationen finden Sie unter Zu Subfeeds migrieren.

  • Verwenden Sie den neuen Dienst localinventory für Updates zu lokalen Produkten.

2. Aufrufe an den Dienst accounts aktualisieren

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

  • reviewsUrl wurde entfernt.

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

3. Aufrufe an den Dienst products aktualisieren

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

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

  • Das wiederkehrende Feld destinations wurde durch die wiederkehrenden Felder includedDestinations und excludedDestinations 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 includeInvalidInsertedItems-Parameter wurde entfernt. In v2.1 werden standardmäßig alle Produkte zurückgegeben.

  • Es gibt jetzt eine Verzögerung von einigen Minuten, bevor ein eingefügtes Produkt über products.get oder products.list abgerufen werden kann.

  • Die zurückgegebene offerId entspricht nicht mehr der Eingabe-offerId. In Version 2.1 werden führende und nachgestellte Leerzeichen in offerId entfernt und mehrere Leerzeichen zu einem Zeichen zusammengeführt. Diese Änderung hat keine Auswirkungen auf offerId-Werte, die der empfohlenen offerId-Syntax entsprechen.

  • Die Preise werden jetzt vor dem Einfügen von Produkten validiert. Im Wertstring sind nur die folgenden Zeichen zulässig: +, -, . und Ziffern (z.B. 0-9). Kommas werden nicht mehr akzeptiert.

  • Antworten eines products.insert- oder products.update-Aufrufs enthalten nur die folgenden Attribute:

    • channel
    • contentLanguage
    • id
    • offerId
    • feedLabel
  • Die V2-Option includeAttributes wurde eingestellt. Verwenden Sie stattdessen products.get mit dem ProductId, um die vollständigen Produktinformationen anzusehen.

4. Aufrufe an den Dienst productstatuses aktualisieren

  • Das Attribut product und der Parameter includeAttributes wurden entfernt. Verwenden Sie den Dienst products und übergeben Sie den Wert des neuen Felds productId, um Attribute des Produkts abzurufen, die einem Status entsprechen.

  • Der includeInvalidInsertedItems-Parameter 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. Dabei handelt es sich um einen String, der entweder approved, disapproved oder pending sein kann.

  • dataQualityIssues“ wurde durch „itemLevelIssues“ ersetzt.

5. Aufrufe an den Dienst datafeeds 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 v2.1 sollten Aufrufe keine Steuerdaten enthalten, da Steuerdaten automatisch berechnet werden. Wenn die Bestellung in einem Bundesstaat mit einem Marketplace Fairness Act (MFA) oder ähnlich ausgeführt wird, schlagen Aufrufe mit Steuerdaten fehl. Wenn die Bestellung in einem Bundesstaat ohne MFA ausgeführt wird, wird die Steuer basierend auf den im Merchant Center konfigurierten Einstellungen berechnet. Wenn die Richtlinie nicht 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 Ort der Bestellung vor oder nach Steuern angegeben werden.

  • 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 aus der Anfrage wurden entfernt. Der erstattete Betrag wird jetzt automatisch berechnet.

  • CustomBatch wurde entfernt.

  • Refund wurde entfernt. Verwende stattdessen refundOrder oder refundItem.

  • Das Feld paymentMethod wurde entfernt.

  • Die v2-Methoden orders.returnlineitem und orders.refund wurden 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 in Order geändert.

7. Aufrufe an den Dienst orderinvoice aktualisieren

  • Die Felder amountPretax und amountTax wurden durch priceAmount bzw. taxAmount ersetzt. Das Feld priceAmount kann je nach Standort der Bestellung „ohne Steuern“ oder „nach Abzug von Steuern“ enthalten.

  • Guthaben (Händler, Kunde, Google) in invoiceSummary und Felder für Angebotsgebühren wurden entfernt.

8. Nicht in v2.1 enthaltene Funktionen entfernen

Mehrere andere Funktionen wurden in Version 2.1 aus der Content API entfernt. Prüfen Sie die folgende Liste und aktualisieren Sie Ihre Anwendung nach Bedarf:

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

  • Der dryRun-Parameter 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 diese im Content API-Forum posten.

Zusätzliche Änderungen in v2.1

Neben Änderungen, die Aktualisierungen erfordern, wurden in Version 2.1 auch mehrere neue Funktionen und abwärtskompatible Änderungen eingeführt:

  • Neue Dienste:

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

    • Mit dem neuen orderreturns-Dienst lässt sich Buy on Google (ehemals Shopping Actions) einfacher verwalten, da Sie Retouren verarbeiten können, ohne orders verwenden zu müssen.

  • Mit Subfeeds können Sie Teilaktualisierungen vornehmen.

  • Zusätzliche Ä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 spätere Aktualisierungen vornehmen, um Probleme über 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 einen ausgewählten Satz von Produktfeldern aktualisieren können. Weitere Informationen zur möglichen Verwendung finden Sie in der Anleitung.

    • Ungültige Werte für die folgenden Attribute lösen keine Einfügungsfehler mehr aus und werden vom Dienst productstatus als Teil von itemLevelIssues 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 value-Feld das Feld groupValues. Es muss genau eines der Felder festgelegt werden.