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.update
do 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
localinventory
do aktualizacji produktów dostępnych lokalnie.
2. Aktualizowanie wywołań usługi accounts
Wywołania metody
accounts.update
w 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
reviewsUrl
został usunięty.Stan połączenia
inactive
został usunięty w przypadku tych elementów:adsLinks
,googleMyBusinessLink
iyoutubeChannelLinks
.
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
productTypes
zastąpiło polaproductType
iadditionalProductTypes
.Pola powtarzane
includedDestinations
iexcludedDestinations
zastąpiły pole powtarzanedestinations
.Zmieniliśmy nazwy tych pól związanych z AdWords:
adwordsGrouping
->adsGrouping
adwordsLabels
->adsLabels
adwordsRedirect
->adsRedirect
Usunęliśmy te pola:
aspects
destinations
onlineOnly
validatedDestinations
warnings
Parametr
includeInvalidInsertedItems
został 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.get
lubproducts.list
.Zwrócony ciąg
offerId
nie musi już być taki sam jak wejściowy ciągofferId
. Wersja 2.1 usuwa spacje na początku i na końcu w poluofferId
oraz łączy wiele znaków odstępu w jeden. Ta zmiana nie ma wpływu na wartościofferId
zgodne z zalecanąofferId
skł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.insert
lubproducts.update
zawierają tylko te atrybuty:channel
contentLanguage
id
offerId
feedLabel
Opcja v2
includeAttributes
została wycofana. Zamiast tego użyjproducts.get
zProductId
, aby wyświetlić pełne informacje o produkcie.
4. Aktualizowanie wywołań usługi productstatuses
Atrybut
product
został usunięty wraz z parametremincludeAttributes
. Aby pobrać atrybuty produktu odpowiadające danemu stanowi, użyj usługiproducts
i przekaż wartość nowego polaproductId
.Parametr
includeInvalidInsertedItems
został usunięty.productId
każdego produktu jest teraz zwracany niezależnie od tego, czy produkt jest prawidłowy.Pola
intention
,approvalStatus
iapprovalPending
wdestinationStatuses
zostały zastąpione polemstatus
, które jest ciągiem znaków i może przyjmować jedną z tych wartości:approved
,disapproved
lubpending
.dataQualityIssues
została zastąpiona przezitemLevelIssues
.
5. Aktualizowanie wywołań usługi datafeeds
Te pola docelowe zostały zastąpione:
contentLanguage
->language
targetCountry
->country
intendedDestinations
->includedDestinations
iexcludedDestinations
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
InStoreRefundLineItem
iReturnRefundLineItem
amountPretax
orazamountTax
zostały zastąpione polamipriceAmount
itaxAmount
.priceAmount
może być kwotą przed opodatkowaniem lub po opodatkowaniu w zależności od lokalizacji zamówienia.Pola
ShipLineItem
–carrier
,shipmentId
itrackingId
w żądaniu zostały przeniesione doshipmentInfos
.Pola
billingAddress
ipredefinedBillingAddress
są teraz polami najwyższego poziomu w przypadku odpowiednioorders
iTestOrder
.customer.explicitMarketingPreference
zostało zastąpione przezcustomer.marketingRightsInfo
.Pole
netAmount
zostało podzielone nanetPriceAmount
inetTaxAmount
.shippingOption
została zastąpiona przezlineItems[].shippingDetails
.Pola
CancelLineItem
–amount
,amountPretax
iamountTax
– w prośbie zostały usunięte. Zwracana kwota jest teraz obliczana automatycznie.Usunięto
CustomBatch
.Usunięto
Refund
. Zamiast tego użyj zdarzeniarefundOrder
lubrefundItem
.Pole
paymentMethod
zostało usunięte.Metody v2
orders.returnlineitem
iorders.refund
zostały zastąpione przez metodyorderreturns.creatOrderReturn
iorderreturns.process
.Usunięto pola
customer.email
,channelType
ilineItem.product.channel
.Pole
promotions
zostało usunięte z usługiTestOrder
, a jego format został zmieniony w usłudzeOrder
.
7. Aktualizowanie wywołań usługi orderinvoice
Pola
amountPretax
iamountTax
zostały zastąpione odpowiednio polamipriceAmount
itaxAmount
. PolepriceAmount
może zawierać kwotę przed opodatkowaniem lub po opodatkowaniu w zależności od lokalizacji zamówienia.Usunięto salda (sprzedawcy, klienta, Google) w
invoiceSummary
i 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
dryRun
został usunięty. Ta zmiana dotyczy wszystkich wywołań interfejsu API.Wszystkie metody
HTTP BATCH
zostały usunięte. Zamiast niej używaj zasadycustomBatch
.Metoda
patch
została usunięta z tych usług:accounts
accounttax
datafeeds
liasettings
shippingsettings
Usługa
orderpayments
został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
localinventory
umożliwia wprowadzanie aktualizacji produktów dostępnych lokalnie (zamiast usługiinventory
w wersji 2).Nowa usługa
orderreturns
uł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.insert
nie 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
itemLevelIssues
przez usługęproductstatus
:ageGroup
availability
condition
energyEfficiencyClass
gender
maxEnergyEfficiencyClass
minEnergyEfficiencyClass
sizeSystem
sizeType
Atrybuty niestandardowe są teraz rekurencyjne, co eliminuje potrzebę stosowania grup niestandardowych.
Atrybuty niestandardowe mają teraz pole
groupValues
oprócz pierwotnego polavalue
. Musisz ustawić dokładnie jedno z tych pól.