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. Migrieren Sie sofort zu Version 2.1.

Anwendung migrieren

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

API-Aufrufe aktualisieren, um Version 2.1-Endpunkte zu verwenden

Wenn Sie Aufrufe an Version 2.1 senden möchten, aktualisieren Sie Ihre Anfragen, um die neuen Version 2.1-Endpunkte zu verwenden.

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

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

Aktualisieren Sie die URL für Version 2.1 auf:

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

Vollständige Informationen zu Version 2.1-Diensten und -Endpunkten finden Sie in der API-Referenz.

Erforderliche Änderungen ausführen

Neben der Aktualisierung der URLs für Ihre API-Aufrufe müssen Sie auch Ihre Anwendung aktualisieren, um mehrere Breaking Changes zu berücksichtigen, die in Version 2.1 eingeführt wurden. Sehen Sie sich die folgenden Abschnitte an und aktualisieren Sie Ihre Anwendung nach Bedarf.

1. Integrationen mit dem Dienst inventory aktualisieren

Der Dienst inventory von Version 2 wurde entfernt. Die entsprechende Funktionalität ist mit den folgenden Version 2.1-Funktionen verfügbar:

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

  • Verwenden Sie den neuen localinventory Dienst für lokale Produktaktualisierungen.

2. Aufrufe an den Dienst accounts aktualisieren

  • Bei Aufrufen der accounts.update Methode in Version 2.1 wird die accounts Ressource vollständig überschrieben, anstatt nur die in der Anfrage enthaltenen Felder zu aktualisieren. Wenn Sie Felder in der Ressource accounts nicht löschen möchten, aktualisieren Sie Ihre Aufrufanfragen, um alle Felder einzuschließen.

  • Die reviewsUrl wurde entfernt.

  • Der Linkstatus 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 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 wiederholten Felder includedDestinations und excludedDestinations haben das wiederholte 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.

  • Es ist nicht mehr garantiert, dass die zurückgegebene offerId mit der Eingabe-offerId übereinstimmt. In Version 2.1 werden führende und nachfolgende Leerzeichen in der offerId entfernt und mehrere Leerzeichen zu einem zusammengefasst. Diese Änderung hat keine Auswirkungen auf offerId Werte, die der empfohlenen offerId Syntax entsprechen.

  • Preise werden jetzt vor dem Einfügen von Produkten 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 Version 2-Option includeAttributes ist veraltet. Verwenden Sie stattdessen products.get mit der ProductId, um vollständige Produktinformationen aufzurufen.

4. Aufrufe an den Dienst productstatuses aktualisieren

  • Das Attribut product wurde zusammen mit dem Parameter includeAttributes entfernt. Wenn Sie Attribute des Produkts abrufen möchten, das einem Status entspricht, verwenden Sie den Dienst products 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. Dabei handelt es sich um einen String, der einen der folgenden Werte haben kann: approved, disapproved oder pending.

  • 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 an die Dienste orders und TestOrders aktualisieren

  • In Version 2.1 sollten Aufrufe keine Steuerdaten enthalten, da diese automatisch berechnet werden. Wenn die Bestellung in einem Bundesstaat mit dem 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, werden die Steuern anhand der im Merchant Center konfigurierten Einstellungen berechnet. Wenn keine Einstellungen konfiguriert sind, beträgt die berechnete Steuer 0.

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

  • Die Felder carrier, shipmentId und trackingId von ShipLineItem in der Anfrage wurden nach 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 Felder amount, amountPretax, und amountTax in der Anfrage wurden entfernt.CancelLineItem 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 Version 2-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 vor oder nach Steuern angegeben werden.

  • Entfernte Salden (Händler, Kunde, Google) in invoiceSummary und Felder im Zusammenhang mit Aktionsgebü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 nach Bedarf:

  • XML wird nicht mehr unterstützt. Weitere Informationen zum Wechsel zu 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 Aktualisierungen Probleme auftreten, können Sie uns kontaktieren.

Weitere Änderungen in Version 2.1

Neben Änderungen, die Aktualisierungen erfordern, werden in Version 2.1 auch mehrere neue Funktionen und nicht schwerwiegende Änderungen eingeführt:

  • Neue Dienste:

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

    • Mit dem neuen orderreturns Dienst können Sie „Bei Google kaufen“ (ehemals Shopping-Aktionen) einfacher verwalten, da Sie Rückgaben verarbeiten können, ohne den orders Dienst verwenden zu müssen.

  • Mit Subfeeds können Sie teilweise Produktaktualisierungen vornehmen.

  • Weitere Änderungen am Dienst products:

    • Nicht schwerwiegende Warnungen oder Fehler werden bei products.insert-Anfragen nun nicht mehr ausgegeben. 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 Aktualisierungen 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üge fehler mehr aus und 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.