W marcu 2019 r. udostępniliśmy Content API for Shopping w wersji 2.1, a w kwietniu 2021 r. ogłosiliśmy, że 30 września 2021 r. zakończymy obsługę wersji 2. Wersja 2 została wycofana. Jak najszybciej przejdź na wersję 2.1.
Migracja aplikacji
Migracja z wersji 2 do 2.1 polega na zaktualizowaniu adresów URL punktów końcowych, aby wywoływać nowe wersje 2.1, oraz zmodyfikowaniu aplikacji w celu uwzględnienia zmian powodujących niezgodność, które zostały wprowadzone w wersji 2.1.
Aktualizowanie wywołań interfejsu API w celu korzystania z punktów końcowych w wersji 2.1
Aby dzwonić do wersji 2.1, zaktualizuj żądania tak, aby używały nowych punktów końcowych w wersji 2.1.
Aby na przykład wywołać metodę products.get w wersji 2, użyj tego kodu:
GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId
W przypadku wersji 2.1 zaktualizuj adres URL na:
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId
Pełne informacje o usługach i punktach końcowych w wersji 2.1 znajdziesz w dokumentacji API.
Wprowadzanie wymaganych zmian
Oprócz zaktualizowania adresów URL wywołań interfejsu API musisz też zaktualizować aplikację, aby uwzględnić kilka zmian powodujących niezgodność wsteczną wprowadzonych w wersji 2.1. Przejrzyj poniższe sekcje i w razie potrzeby zaktualizuj wniosek.
1. Aktualizowanie integracji z usługą inventory
Usługa w wersji 2inventory została usunięta, a jej odpowiednik jest dostępny w tych funkcjach w wersji 2.1:
Używaj nowych dodatkowych plików danych lub
products.updatedo częściowych aktualizacji produktów. Aktualizacje są możliwe we wszystkich polach produktu, które można zmieniać, w tym we wszystkich polach zaktualizowanych wcześniej za pomocąinventory.set(z wyłączeniem pól dostępnych tylko wlocalinventory). Więcej informacji znajdziesz w artykule Migracja do dodatkowych plików danych.Użyj nowej usługi
localinventorydo aktualizacji produktów dostępnych lokalnie.
2. Aktualizowanie wywołań usługi accounts
Wywołania metody
accounts.updatew wersji 2.1 całkowicie zastępują zasóbaccounts, a nie tylko aktualizują pola uwzględnione w żądaniu. Aby uniknąć usuwania pól w zasobieaccounts, zaktualizuj wywołania, tak aby zawierały wszystkie pola.Element
reviewsUrlzostał usunięty.Stan połączenia
inactivezostał usunięty w przypadku tych elementów:adsLinks,googleMyBusinessLinkiyoutubeChannelLinks.
3. Aktualizowanie wywołań usługi products
Atrybuty niestandardowe nie zawierają już typu ani jednostki. Zamiast tego jednostki należy dołączyć do wartości, a typy powinny być wykrywane automatycznie.
Pole powtarzane
productTypeszastąpiło polaproductTypeiadditionalProductTypes.Pola powtarzane
includedDestinationsiexcludedDestinationszastąpiły pole powtarzanedestinations.Zmieniliśmy nazwy tych pól związanych z AdWords:
adwordsGrouping->adsGroupingadwordsLabels->adsLabelsadwordsRedirect->adsRedirect
Usunęliśmy te pola:
aspectsdestinationsonlineOnlyvalidatedDestinationswarnings
Parametr
includeInvalidInsertedItemszostał usunięty. W wersji 2.1 domyślnie zwracane są wszystkie produkty.Teraz po wstawieniu produktu trzeba odczekać kilka minut, zanim będzie można go pobrać za pomocą
products.getlubproducts.list.Zwrócony ciąg
offerIdnie musi już być taki sam jak wejściowy ciągofferId. Wersja 2.1 usuwa spacje na początku i na końcu w poluofferIdoraz łączy wiele znaków odstępu w jeden. Ta zmiana nie ma wpływu na wartościofferIdzgodne z zalecanąofferIdskładnią.Ceny są teraz weryfikowane przed wstawieniem produktu. W ciągu wartości dozwolone są tylko te znaki:
+,-,.i cyfry (np.0–9). Przecinki nie są już akceptowane.Odpowiedzi z wywołania
products.insertlubproducts.updatezawierają tylko te atrybuty:channelcontentLanguageidofferIdfeedLabel
Opcja v2
includeAttributeszostała wycofana. Zamiast tego użyjproducts.getzProductId, aby wyświetlić pełne informacje o produkcie.
4. Aktualizowanie wywołań usługi productstatuses
Atrybut
productzostał usunięty wraz z parametremincludeAttributes. Aby pobrać atrybuty produktu odpowiadające danemu stanowi, użyj usługiproductsi przekaż wartość nowego polaproductId.Parametr
includeInvalidInsertedItemszostał usunięty.productIdkażdego produktu jest teraz zwracany niezależnie od tego, czy produkt jest prawidłowy.Pola
intention,approvalStatusiapprovalPendingwdestinationStatuseszostały zastąpione polemstatus, które jest ciągiem znaków i może przyjmować jedną z tych wartości:approved,disapprovedlubpending.dataQualityIssueszostała zastąpiona przezitemLevelIssues.
5. Aktualizowanie wywołań usługi datafeeds
Te pola docelowe zostały zastąpione:
contentLanguage->languagetargetCountry->countryintendedDestinations->includedDestinationsiexcludedDestinations
Usunięto pliki danych z
contentType = "product inventory update".
6. Aktualizowanie wywołań usług orders i TestOrders
W wersji 2.1 wywołania nie powinny zawierać danych o podatku, ponieważ są one obliczane automatycznie. Jeśli zamówienie jest realizowane w stanie, w którym obowiązuje ustawa Marketplace Fairness Act (MFA) lub podobna, wywołania zawierające dane podatkowe nie powiodą się. Jeśli zamówienie jest realizowane w stanie, w którym nie obowiązuje podatek MFA, podatek jest obliczany na podstawie ustawień skonfigurowanych w Merchant Center. Jeśli nie zostanie skonfigurowany, obliczony podatek wyniesie 0.
Pola
InStoreRefundLineItemiReturnRefundLineItemamountPretaxorazamountTaxzostały zastąpione polamipriceAmountitaxAmount.priceAmountmoże być kwotą przed opodatkowaniem lub po opodatkowaniu w zależności od lokalizacji zamówienia.Pola
ShipLineItem–carrier,shipmentIditrackingIdw żądaniu zostały przeniesione doshipmentInfos.Pola
billingAddressipredefinedBillingAddresssą teraz polami najwyższego poziomu w przypadku odpowiednioordersiTestOrder.customer.explicitMarketingPreferencezostało zastąpione przezcustomer.marketingRightsInfo.Pole
netAmountzostało podzielone nanetPriceAmountinetTaxAmount.shippingOptionzostała zastąpiona przezlineItems[].shippingDetails.Pola
CancelLineItem–amount,amountPretaxiamountTax– w prośbie zostały usunięte. Zwracana kwota jest teraz obliczana automatycznie.Usunięto
CustomBatch.Usunięto
Refund. Zamiast tego użyj zdarzeniarefundOrderlubrefundItem.Pole
paymentMethodzostało usunięte.Metody v2
orders.returnlineitemiorders.refundzostały zastąpione przez metodyorderreturns.creatOrderReturniorderreturns.process.Usunięto pola
customer.email,channelTypeilineItem.product.channel.Pole
promotionszostało usunięte z usługiTestOrder, a jego format został zmieniony w usłudzeOrder.
7. Aktualizowanie wywołań usługi orderinvoice
Pola
amountPretaxiamountTaxzostały zastąpione odpowiednio polamipriceAmountitaxAmount. PolepriceAmountmoże zawierać kwotę przed opodatkowaniem lub po opodatkowaniu w zależności od lokalizacji zamówienia.Usunięto salda (sprzedawcy, klienta, Google) w
invoiceSummaryi pola związane z opłatami za promocję.
8. Usuwanie funkcji, które nie są uwzględnione w wersji 2.1
W wersji 2.1 Content API usunięto kilka innych funkcji. Sprawdź poniższą listę i w razie potrzeby zaktualizuj aplikację:
Format XML nie jest już obsługiwany. Więcej informacji o przejściu na JSON znajdziesz w artykule Wycofanie obsługi XML w Content API for Shopping.
Parametr
dryRunzostał usunięty. Ta zmiana dotyczy wszystkich wywołań interfejsu API.Wszystkie metody
HTTP BATCHzostały usunięte. Zamiast niej używaj zasadycustomBatch.Metoda
patchzostała usunięta z tych usług:accountsaccounttaxdatafeedsliasettingsshippingsettings
Usługa
orderpaymentszostała usunięta.
Testowanie migracji
Więcej informacji o testowaniu zmian w aplikacjach po migracji do wersji 2.1 znajdziesz w artykule Testowanie zastosowań Content API for Shopping. Jeśli podczas testowania aktualizacji napotkasz problemy, możesz skontaktować się z nami.
Dodatkowe zmiany w wersji 2.1
Oprócz zmian wymagających aktualizacji wersja 2.1 wprowadza też kilka nowych funkcji i zmian, które nie powodują przerw w działaniu:
Nowe usługi:
Nowa usługa
localinventoryumożliwia wprowadzanie aktualizacji produktów dostępnych lokalnie (zamiast usługiinventoryw wersji 2).Nowa usługa
orderreturnsułatwia zarządzanie Kup przez Google (wcześniej znaną jako Shopping Actions), ponieważ umożliwia przetwarzanie zwrotów bez konieczności korzystania z usługiorders.
Dodatkowe pliki danych umożliwiają wprowadzanie częściowych aktualizacji produktów.
Dodatkowe zmiany w usłudze
products:products.insertnie zgłaszają już niekrytycznych ostrzeżeń ani błędów. Umożliwia to wstawianie produktów i wprowadzanie kolejnych aktualizacji w celu rozwiązywania problemów za pomocą reguł pliku danych w Merchant Center, tak samo jak w przypadku plików danych zarządzanych poza interfejsem Content API.products.update, aby umożliwić wprowadzanie zmian w wybranym zestawie pól produktu. Więcej informacji o możliwych zastosowaniach znajdziesz w przewodniku.Nieprawidłowe wartości tych atrybutów nie powodują już błędów wstawiania i są zwracane w ramach parametru
itemLevelIssuesprzez usługęproductstatus:ageGroupavailabilityconditionenergyEfficiencyClassgendermaxEnergyEfficiencyClassminEnergyEfficiencyClasssizeSystemsizeType
Atrybuty niestandardowe są teraz rekurencyjne, co eliminuje potrzebę stosowania grup niestandardowych.
Atrybuty niestandardowe mają teraz pole
groupValuesoprócz pierwotnego polavalue. Musisz ustawić dokładnie jedno z tych pól.