Interfejs Merchant API to bardziej niezawodny i intuicyjny sposób zarządzania danymi produktów. Główna zmiana polega na rozdzieleniu danych produktów na 2 osobne zasoby: ProductInput
do przesyłania danych i Product
do wyświetlania ostatecznej, przetworzonej wersji, w tym stanu produktu i problemów. Ta nowa struktura zapewnia bardziej przewidywalne i przejrzyste działanie.
Ten przewodnik omawia najważniejsze różnice, które pomogą Ci przenieść integrację z Content API for Shopping. Szczegółowy przewodnik po korzystaniu z nowych funkcji znajdziesz w artykule Zarządzanie produktami.
Najważniejsze różnice
Oto najważniejsze zmiany w sposobie zarządzania produktami w Merchant API w porównaniu z Content API for Shopping:
Osobne zasoby dla danych wejściowych i przetworzonych: interfejs Merchant API dzieli zarządzanie produktami na 2 zasoby. Możesz użyć zasobu
ProductInput
do wstawiania, aktualizowania i usuwania danych o produktach. Możesz użyć zasobuProduct
tylko do odczytuProduct
, aby wyświetlić produkt końcowy po przetworzeniu przez Google Twoich danych wejściowych, zastosowaniu reguł i połączeniu danych z dodatkowych źródeł.Stan zintegrowanej usługi: usługa
productstatuses
zostanie usunięta. Problemy z weryfikacją produktów i stany miejsc docelowych są teraz bezpośrednio uwzględniane w zasobieProduct
w poluproductStatus
, co upraszcza pobieranie danych.Przewidywalne aktualizacje produktów: nowa metoda
productInputs.patch
bezpośrednio modyfikuje konkretne dane wejściowe produktu. Jest to znaczne ulepszenie w porównaniu z interfejsem Content API for Shopping, w którym aktualizacje mogły być nieoczekiwanie zastępowane przez inne przesłane pliki danych. W Merchant API aktualizacja pozostaje do momentu ponownego zaktualizowania lub usunięcia danego produktu. Aktualizacje produktów są stosowane do zasobuProductInput
zamiast do zasobuProduct
.Wybierz źródło danych, aby ułatwić zarządzanie danymi: wszystkie operacje zapisu wymagają teraz parametru zapytania
dataSource
, co pozwala jednoznacznie określić, które źródło danych jest modyfikowane.productInputs
Jest to szczególnie przydatne, jeśli masz wiele źródeł danych.Nowe identyfikatory zasobów: produkty są teraz identyfikowane za pomocą zasobu RESTful
name
zamiast polaid
. Format toaccounts/{account}/products/{product}
.Brak niestandardowych partii: metoda
custombatch
nie jest już dostępna. Możesz używać asynchronicznych żądań lub grupowania żądań HTTP, aby wysyłać wiele żądań w jednym wywołaniu HTTP.Źródła danych dla dowolnej etykiety pliku danych i języka: interfejs Merchant API umożliwia tworzenie źródła danych bez określania etykiety pliku danych i języka, a tym samym pozwala na wstawianie produktu z dowolną etykietą pliku danych i językiem.
Żądania
W tej sekcji porównujemy formaty żądań w Content API for Shopping i Merchant API.
Opis prośby | Content API for Shopping | Merchant API |
---|---|---|
Pobieranie produktu | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} |
Wyświetlanie produktów | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products |
Wstaw produkt | POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products |
POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert |
Aktualizowanie produktu | PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} |
Usuwanie produktu | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} |
Pobieranie stanu produktu | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} |
Wyświetlanie listy stanów produktów | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products |
Zbiorcze przesyłanie wielu żądań | POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch |
Żądania asynchroniczne, przetwarzanie wsadowe HTTP |
Identyfikatory
Format identyfikatorów produktów w interfejsie Merchant API został zmieniony na standardową nazwę zasobu REST.
Opis identyfikatora | Content API for Shopping | Merchant API |
---|---|---|
Identyfikator produktu | Ciąg składający się z segmentów rozdzielonych dwukropkiem (: ).Format: channel:contentLanguage:targetCountry:offerId lub channel:contentLanguage:feedLabel:offerId .Przykład: online:en:US:sku123 |
Ciąg znaków zasobu REST name .Format: accounts/{account}/products/{product} , gdzie {product} to contentLanguage~feedLabel~offerId .Przykład: accounts/12345/products/en~US~sku123 |
Metody
W tej tabeli znajdziesz metody Content API for Shopping i ich odpowiedniki w Merchant API.
Metoda Content API for Shopping | Metoda Merchant API | Dostępność i uwagi |
---|---|---|
products.get |
products.get |
Pobiera ostateczny, przetworzony produkt. |
products.list |
products.list |
Zawiera listę gotowych, przetworzonych produktów. |
products.insert |
productInputs.insert |
Wstawia dane wejściowe produktu. Wymaga subskrypcji dataSource . |
products.update |
productInputs.update |
Zachowanie jest znacznie inne. Aktualizuje konkretne dane wejściowe produktu i jest trwałe. |
products.delete |
productInputs.delete |
Usuwa konkretne dane wejściowe produktu. Wymaga subskrypcji dataSource . |
products.custombatch |
Niedostępne | Używaj żądań asynchronicznych lub przetwarzania wsadowego HTTP. |
productstatuses.get |
products.get |
Usługa productstatuses zostanie usunięta. Informacje o stanie są teraz częścią zasobu Product . |
productstatuses.list |
products.list |
Usługa productstatuses zostanie usunięta. Informacje o stanie są teraz częścią zasobu Product . |
productstatuses.custombatch |
Niedostępne | Użyj [asynchronous |
requests](/merchant/api/samples/insert-product-input-async) lub przetwarzanie wsadowe HTTP. |
Szczegółowe zmiany w polach
W tej tabeli znajdziesz ważne pola, które zostały zmienione, dodane lub usunięte w interfejsie Merchant API.
Content API for Shopping | Merchant API | Opis |
---|---|---|
id |
name |
Głównym identyfikatorem produktu jest teraz zasób REST name . |
Atrybuty specyfikacji danych produktów najwyższego poziomu (np. title , price , link ) |
productAttributes obiekt |
Atrybuty produktów, takie jak title , price i link , nie są już polami najwyższego poziomu. Są one teraz zgrupowane w obiekcie productAttributes w zasobach Product i ProductInput . Zapewnia to bardziej przejrzystą i uporządkowaną strukturę zasobów. |
targetCountry |
feedLabel |
Nazwa zasobu używa teraz znaku feedLabel zamiast targetCountry , aby była zgodna z funkcjami Merchant Center. |
feedId |
dataSource (parametr zapytania) |
Nazwa dataSource jest teraz wymaganym parametrem zapytania we wszystkich metodach zapisu productInputs (insert , update , delete ). |
channel |
Niedostępne. Używaj symbolu legacy_local tylko w przypadku produktów dostępnych lokalnie. |
Pole channel nie jest już dostępne w interfejsie Merchant API. W przypadku produktów z kanałem LOCAL w Content API for Shopping należy ustawić pole legacy_local na wartość „true”. |
Niedostępne | versionNumber |
Nowe pole opcjonalne w ProductInput , które może być używane, by nie dopuścić do błędnej kolejności wstawiania danych do podstawowych źródeł danych. |
string pola typu z określonym zestawem wartości, |
enum pola typu z określonym zestawem wartości, |
Pola w atrybutach produktów z określonym zestawem wartości (np. excluded_destinations , availability ) mają teraz typ enum . |