Ten przewodnik pomoże Ci przejść z interfejsu Merchant API v1beta na v1, czyli pierwszą
wersję ogólnodostępną. Wersja 1 wprowadza kilka aktualizacji i zmian, które mogą wymagać aktualizacji kodu. Te zmiany mają na celu uproszczenie interfejsu API i ułatwienie zarządzania kontem Merchant Center.
Najważniejsze różnice
Oto najważniejsze zmiany, o których musisz pamiętać podczas migracji z v1beta
na v1:
- Jednorazowa rejestracja co najmniej 1 programisty interfejsu API, który będzie korzystać z Merchant API:
musisz wywołać metodę
registerGcp(tylko raz w przypadku każdego projektu w chmurze Google używanego do uwierzytelniania), aby podać swoje dane kontaktowe. Dzięki temu będziesz mieć dostęp do interfejsu API oraz otrzymywać aktualizacje i ogłoszenia związane z Merchant API. Dopóki nie wykonasz tego kroku, nie będziesz mieć dostępu do żadnego interfejsu API w wersjiv1aniv1alpha. Więcej informacji o procesie rejestracji znajdziesz w artykule Rejestracja. Kodowanie nazw produktów: pola
ProductInput.nameiProduct.nameobsługują kodowanie base64url bez dopełnienia (RFC 4648 sekcja 5). Postępuj zgodnie z tymi wskazówkami:- Przed zakodowaniem ciąg znaków musi być zgodny z formatem
contentLanguage~feedLabel~offerId. Kodowanie jest obowiązkowe , jeśli nazwa produktu zawiera znaki używane przez Merchant API lub znaki zarezerwowane w adresach URL, takie jak:
% . + / : ~ , ( * ! ) & ? = @ # $Jeśli nazwa produktu jest zgodna z
contentLanguage~feedLabel~offerIdformatem i nie zawiera znaków używanych przez Merchant API ani znaków zarezerwowanych w adresach URL, możesz użyć zwykłego formatu bez kodowania.Aby zapewnić spójne i prawidłowe parsowanie, zalecamy używanie kodowania base64url bez dopełnienia w przypadku wszystkich nazw produktów.
- Przed zakodowaniem ciąg znaków musi być zgodny z formatem
Usuwanie informacji podatkowych na poziomie produktu: pola
taxesitaxCategory.Product.attributeszmieniono nazwę: poleProduct.attributeszostało zmienione naProduct.productAttributes.Usuwanie informacji podatkowych na poziomie produktu: pola
taxesitaxCategoryzostały usunięte zProduct.productAttributesobiektu. Więcej informacji znajdziesz w artykule pomocy Google Merchant Center na temat podatków.Zmiany w polu GTIN: pole
gtinw obiekcieProduct.productAttributeszostało zmienione nagtins, aby lepiej odzwierciedlać fakt, że może ono zawierać wiele wartości. PolegtinwOrderTrackingSignals.lineItemDetailsobiekcie jest terazarrayi zostało zmienione nagtins.Usunięcie pola kanału: pole
channelzostało usunięte z produktów, danych wejściowych produktów i źródeł danych. Wprowadziliśmy nowe pole logicznelegacyLocal, aby wyraźnie oznaczać produkty sprzedawane wyłącznie w sklepach stacjonarnych. Uwaga: polelegacyLocaljest polem pomocniczym, które ułatwia migrację. Zostanie ono wycofane, gdy metody marketingowe online i lokalne będą mogły być w pełni kierowane za pomocą jednego źródła produktów. Więcej informacji znajdziesz w tabeli w następnej sekcji.Nowe pola atrybutów asortymentu regionalnego i lokalnego:
- Wszystkie
RegionalInventorypola z wyjątkiemname,accountiregionsą teraz zawarte w nowym obiekcie o nazwieregionalInventoryAttributes. Na przykład atrybutRegionalInventory.priceznajduje się teraz wRegionalInventory.regionalInventoryAttributes.price. - Wszystkie
LocalInventorypola z wyjątkiemname,accountistoreCodesą teraz zawarte w nowym obiekcie o nazwielocalInventoryAttributes. Na przykład atrybutLocalInventory.priceznajduje się teraz wLocalInventory.localInventoryAttributes.price.
- Wszystkie
Usunięcie
customAttributesz asortymentu regionalnego i lokalnego: PolecustomAttributeszostało usunięte z zasobówRegionalInventoryiLocalInventory.Ulepszone tworzenie konta: zbędne pole
userszostało usunięte zCreateAndConfigureAccountRequest. Aby powiązać pierwszego użytkownika z nowym kontem, użyj pola pojedynczegouser.Zmiana niektórych typów atrybutów z ciągów znaków na wyliczenia: niektóre pola w zasobach
ProductiInventoryz określoną krótką listą wartości zostały zmienione z typustringna typenum, aby poprawić sprawdzanie poprawności danych (na przykład poleProduct.ProductAttributes.conditionjest terazenum).Usunięcie metody aktualizacji zasad zwrotów online: metoda
onlineReturnPolicy.updatezostała usunięta w wersjiv1. Zamiast tego utwórz zasady zwrotów online za pomocąonlineReturnPolicy.createmetody.
Jak przeprowadzić migrację
Wycofanie wersji v1beta interfejsu Merchant API jest zaplanowane na 28 lutego 2026 r.
Więcej informacji o harmonogramie wycofywania znajdziesz w
przewodniku po wersjach Merchant API.
Pierwszym krokiem migracji jest jednorazowa rejestracja programisty (patrz Rejestrowanie konta dewelopera. Zanim zaczną działać jakiekolwiek metody
v1, musisz wywołać metodęregisterGcpw przypadku każdego projektu Google Cloud używanego do uwierzytelniania.Niezależnie od tego, jak wywołujesz interfejsy API (za pomocą REST, gRPC lub za pomocą bibliotek klienta), możesz przeprowadzić migrację etapami. Oznacza to, że możesz aktualizować i migrować kod po jednym interfejsie API (na przykład, przenieść interfejs
ProductsAPI do wersjiv1, a interfejsAccountsAPI pozostawić w wersjiv1beta) bez konieczności jednoczesnej aktualizacji całej integracji.
Szczegółowe zmiany pól
W tej tabeli znajdziesz szczegółowe porównanie pól, które uległy zmianie
między wersjami v1beta i v1.
| v1beta | v1 | Opis |
|---|---|---|
ProductInput.name |
ProductInput.name |
Unpadded base64url encoding jest obsługiwane i obowiązkowe w przypadku
nazw produktów zawierających znaki używane przez Merchant API lub znaki zarezerwowane w adresach URL. |
Product.name |
Product.name |
Unpadded base64url encoding jest obsługiwane i obowiązkowe w przypadku
nazw produktów zawierających znaki używane przez Merchant API lub znaki zarezerwowane w adresach URL. |
Product.gtin |
Product.gtins |
Zmieniono nazwę pola GTIN. |
Product.taxes |
Usunięto | Pole taxes zostało usunięte. |
Product.taxCategory |
Usunięto | Pole taxCategory zostało usunięte. |
Product.channel |
Usunięto | Pole channel zostało usunięte. W przypadku lokalnych przypadków użycia użyj pola
legacyLocal. |
Product.attributes |
Product.productAttributes |
Pole attributes zostało zmienione na productAttributes.
|
availability, condition, gender, includedDestinations i excludedDestinations w polach Product są reprezentowane jako strings (lub array strings). |
Te pola są teraz enums (lub array z enums) |
Pola z określoną krótką listą wartości zostały zmienione z typu string na typ enum.
|
price, salePrice, salePriceEffectiveDate i availability w RegionalInventory |
Przeniesiono do RegionalInventory.regionalInventoryAttributes |
Te pola zostały przeniesione do regionalInventoryAttributes.
|
Pole RegionalInventory.availability jest string. |
RegionalInventory.regionalInventoryAttributes.availability jest teraz enums. |
Typ dostępności został zmieniony z string na enum.
|
price, salePrice, salePriceEffectiveDate, availability, quantity, pickupMethod, pickupSla i instoreProductLocation w LocalInventory |
Przeniesiono do LocalInventory.localInventoryAttributes |
Te pola zostały przeniesione do localInventoryAttributes.
|
Pole LocalInventory.availability jest string. |
LocalInventory.localInventoryAttributes.availability jest teraz enums. |
Typ dostępności został zmieniony z string na enum.
|
LocalInventory.customAttributes |
Usunięto | Atrybuty niestandardowe nie są już obsługiwane w przypadku asortymentu lokalnego. |
RegionalInventory.customAttributes |
Usunięto | Atrybuty niestandardowe nie są już obsługiwane w przypadku asortymentu regionalnego. |
ProductInput.channel |
Usunięto | Pole channel zostało usunięte. W przypadku lokalnych przypadków użycia użyj pola
legacyLocal. |
DataSource.channel |
Usunięto | Pole channel zostało usunięte. W przypadku lokalnych przypadków użycia użyj pola
legacyLocal. |
| Niedostępne | ProductInput.legacyLocal |
Nowe pole logiczne wskazujące, że produkt może być kierowany tylko na lokalne metody marketingowe. Identyfikator zasobu produktu będzie mieć prefiks „local~”. |
| Niedostępne | Product.legacyLocal |
Nowe pole logiczne wskazujące, że produkt jest sprzedawany tylko w sklepach stacjonarnych i nie jest dostępny do zakupu online. |
| Niedostępne | DataSource.legacyLocal |
Nowe pole logiczne wskazujące, że źródło danych zawiera produkty sprzedawane tylko w sklepach stacjonarnych. |
OrderTrackingSignals.LineItemDetails.gtin |
OrderTrackingSignals.LineItemDetails.gtins |
Pole gtin zostało zmienione na gtins i
jest teraz tablicą ciągów znaków (zamiast ciągu znaków). |
CreateAndConfigureAccountRequest.users |
Usunięto | Pole users zostało usunięte. Aby dodać pierwszego administratora do konta, użyj pola
user. |