products
Ten zasób zapewnia dużą elastyczność i kontrolę nad ponad 60 atrybutami produktu.Istnieje wiele pól, które są obowiązkowe i muszą być uwzględnione, aby można było wyświetlać produkty w Zakupach Google.
Istnieje wiele pól opcjonalnych, które mogą stać się obowiązkowe w zależności od różnych warunków, takich jak lokalizacja, typ produktu, warianty produktu i pakiety produktów. Więcej informacji o ponad 60 opcjonalnych parametrach, które można skonfigurować dla produktów, znajdziesz w specyfikacjach danych produktów.
Zasób products
umożliwia insert
, get
, update
i delete
po jednym produkcie naraz oraz list
wszystkie produkty w bazie danych Merchant Center.
Zasób
productstatuses
może służyć do sprawdzania stanu zatwierdzenia lub odrzucenia konkretnego produktu w miejscu docelowym. Więcej informacji o tym, które produkty mogą mieć problemy z jakością danych i jakie to mogą być problemy, znajdziesz w przewodniku po stanie produktu.
W przykładach interfejsu API używamy 3 produktów: 2 koszulek Google i czapki Google. Używamy minimalnego zestawu danych o produktach przedstawionego w tabeli poniżej, aby wykonywać wywołania zasobów products
w celu wstawiania, pobierania, aktualizowania, wyświetlania i usuwania poszczególnych produktów oraz partii produktów.
Zalecamy skonfigurowanie informacji o dostawie i podatkach na poziomie konta, a nie na poziomie produktu.
W przypadku subkont wielu sprzedawców na platformach handlowych wszystkie produkty muszą zawierać pole external_seller_id
. Więcej informacji znajdziesz w artykule Identyfikatory produktów.
![]() |
![]() |
![]() |
|
id | online:en:US:1111111111 | online:en:US:2222222222 | online:en:US:3333333333 |
offerId | 1111111111 | 2222222222 | 3333333333 |
tytuł | Czarna koszulka Google | Google Tee Green | Czapka z daszkiem Google Twill Cap |
opis | Czarna koszulka Google | Koszulka Google w 100% z bawełny | Klasyczna czapka Google |
identyfikator grupy produktów | google_tee | google_tee | |
link | http://my.site.com/blacktee | http://my.site.com/greentee | http://my.site.com/blackhat |
warunek | Nowy | Nowość | Nowy |
cena | 21,99 PLN | 21,99 PLN | 10,99 PLN |
dostępność | W magazynie | W magazynie | W magazynie |
imageLink | https://shop.example.com/ |
https://shop.example.com/ |
https://shop.example.com/ |
gtin | 9504000059422 | 9504000059446 | 9504000059452 |
mpn | 00638NIC | 00638ANG | 00638ABC |
marka | |||
Kategoria produktów Google | Ubrania i akcesoria > Ubrania | Ubrania i akcesoria > Ubrania | Ubrania i akcesoria > Akcesoria odzieżowe > Kapelusze |
kolor | czarny | zielony | czarny |
rozmiar | L | M | M |
age_group | tylko dla dorosłych | tylko dla dorosłych | tylko dla dorosłych |
płeć | mężczyźni | mężczyźni | uniseks |
included_destination | Shopping Actions, reklamy produktowe | Shopping Actions, reklamy produktowe | Shopping Actions |
products.insert
Aby wstawić pojedynczy produkt, użyj tego adresu URL żądania, podając identyfikator sprzedawcy i przykładową treść JSON. Wstawienie powoduje utworzenie nowego produktu. Jeśli dla danego produktu istnieją wartości atrybutów channel
, contentLanguage
, offerId
i feedLabel
, ta metoda aktualizuje ten wpis i zastępuje wszystkie dane z poprzednich wywołań interfejsu API dla danego produktu.
Produkty wykluczone ze wszystkich miejsc docelowych na dłużej niż 7 dni są automatycznie usuwane.
W przykładzie pokazano dodanie nowego produktu „Black Google Tee” do dostępnych produktów.
POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
Przykładowa treść żądania wywołania products.insert
:
{
"kind": "content#product",
"offerId": "1111111111",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
}
Produkt może też mieć atrybuty niestandardowe ustawione w treści JSON. Możemy na przykład ustawić purchase_quantity_limit
dla pojedynczego produktu, aby ograniczyć liczbę sztuk, które klient może zamówić:
"customAttributes": [
{
"name": "purchase_quantity_limit",
"value": "4"
}
]
Pamiętaj, że purchase_quantity_limit
atrybut niestandardowy ustawia limit zakupu
na zamówienie klienta w definicji produktu i jest też obsługiwany przez pliki danych. Atrybut
jest obecnie w wersji beta, dopóki nie będzie w pełni obsługiwany przez interfejs API. Sprzedawca może dodać dowolny dodatkowy atrybut niestandardowy, ale nie spowoduje to żadnego konkretnego przetwarzania przez interfejsy API.
Prawidłowe wywołanie zwraca kod HTTP 200
i treść odpowiedzi zawierającą wstawiony zasób produktu z wypełnionymi tylko polami id
, offerId
, contentLanguage
, feedLabel
i channel
:
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online"
}
products.get
Aby uzyskać informacje o konkretnym produkcie w bazie danych Merchant Center, użyj
products.get
. Zanim nowo dodany produkt będzie dostępny w ramach tego wywołania, może minąć kilka minut.
Użyj tego adresu URL żądania HTTP i parametrów, identyfikatora sprzedawcy oraz identyfikatora produktu (w formacie identyfikatora REST) produktu, który chcesz pobrać:
GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Wywołanie zakończone pomyślnie zwraca kod HTTP 200
i „zasób produktu” w treści odpowiedzi. Oto przykładowe dane produktu pobrane z produktu o identyfikatorze online:en:US:1111111111
:
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"source": "api",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
}
products.update
Aby zaktualizować pojedynczy produkt, użyj tego adresu URL żądania z metodą PATCH, podając identyfikator sprzedawcy, identyfikator produktu i treść JSON zawierającą dane, które chcesz zaktualizować w przypadku produktu. W przeciwieństwie do products.insert
, które wymaga podania wszystkich odpowiednich pól, products.update
wymaga tylko określenia pól, które chcesz zmienić.
Aby dodać lub zmodyfikować atrybut, podaj pole z nową wartością w treści JSON. W pokazanym przykładzie zaktualizujemy title
i description
istniejącego produktu „Black Google Tee” za pomocą danych produktu podanych w treści żądania, pozostawiając wszystkie inne pola bez zmian.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Przykładowa treść żądania wywołania products.update
:
{
"title": "Google Tee Black Limited Edition",
"description": "The Limited Edition Tee is available in unisex sizing and features a retail fit."
}
Za pomocą żądania products.update
można aktualizować tylko pola najwyższego poziomu.
Jeśli chcesz zaktualizować zagnieżdżone pola, musisz podać cały obiekt najwyższego poziomu.
W tym przykładzie zaktualizowany zostanie obiekt najwyższego poziomu salePrice
, w tym zagnieżdżone pola istniejącego produktu, za pomocą danych produktu podanych w treści żądania. Wszystkie inne pola pozostaną bez zmian.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
{
"salePrice": {
"value": "17.99",
"currency": "USD"
}
}
Aby wybrać określone pola do zaktualizowania bez wprowadzania zmian w pozostałych polach uwzględnionych w treści żądania, możesz określić updateMask
. Ten parametr ciągu zapytania
powinien być listą pól rozdzielonych przecinkami, które chcesz zmodyfikować.
Symbol updateMask
jest przydatny, gdy chcesz potwierdzić, że zaktualizowane zostaną tylko wymienione pola. Nieokreślenie parametru updateMask
jest równoznaczne z oznaczeniem wszystkich pól w żądaniu do zaktualizowania, jak pokazano w przykładzie powyżej.
Przedstawiony przykład zaktualizuje tylko pola description
i availability
istniejącego produktu „Black Google Tee” odpowiednimi danymi produktu podanymi w treści żądania, pozostawiając wszystkie inne pola, w tym title
, bez zmian.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=description,availability
Przykładowa treść żądania wywołania products.update
:
{
"title": "Google Tee Black",
"description": "This Limited Edition is out of print.",
"availability": "out of stock"
}
Jeśli pole jest podane na liście updateMask
, ale nie w treści żądania, zostanie ono usunięte z zasobu Product
, jeśli istnieje.
W przykładzie użyjemy znaku updateMask
, aby usunąć wartość pola salePrice
.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=salePrice
Przykładowa treść żądania nie powinna zawierać pola salePrice
, aby je usunąć. Możesz też nie podawać treści lub podać pustą treść. Inne pola pozostaną bez zmian, o ile nie występują w updateMask
.
Aby użyć parametru updateMask
w żądaniu products.custombatch
, musisz określić updateMask
w treści żądania.
W tym przykładzie zaktualizujemy price
i availability
istniejącego produktu „Black Google Tee” za pomocą products.custombatch
z danymi produktu podanymi w pozycji pakietu, pozostawiając wszystkie inne pola, w tym title
i description
, bez zmian.
POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
"entries": [{
"batchId": 1,
"merchantId": "MERCHANT_ID",
"productId": "online:en:US:1111111111",
"method": "update",
"product": {
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"availability": "in stock",
"price": {
"value": "19.99",
"currency": "USD"
}
},
"updateMask": "availability,price"
}]
}
products.delete
Aby usunąć pojedynczy produkt, użyj products.delete
z przykładowym adresem URL żądania HTTP, identyfikatorem sprzedawcy i identyfikatorem produktu (w formacie identyfikatora REST, np. online:en:US:1111111111
) dla produktu, który chcesz usunąć:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Odpowiedź informująca o powodzeniu zwraca kod HTTP Status 204
bez treści.
products.list
products.list
zawiera listę wszystkich produktów, które sprzedawca ma w bazie danych Merchant Center. Użyj tego adresu URL żądania:
GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
W przypadku udanego wywołania zwracana jest odpowiedź HTTP 200
i dane JSON produktów w kluczu „resources”.
Zwrócone zostaną te 3 przykładowe produkty:
{
"kind": "content#productsListResponse",
"resources": [
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"source": "api",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
},
{
"kind": "content#product",
"id": "online:en:US:2222222222",
"offerId": "2222222222",
"source": "api",
"title": "Google Tee Green",
"description": "100% cotton jersey fabric sets this Google t-shirt above the crowd.
Features the google logo across the chest. Unisex sizing.",
"link": "http://my.site.com/greentee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX0906.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "green",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531649",
"itemGroupId": "google_tee",
"mpn": "608802531649",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Medium"
]
},
{
"kind": "content#product",
"id": "online:en:US:3333333333",
"offerId": "3333333333",
"source": "api",
"title": "Google Twill Cap",
"description": "Classic urban styling distinguishes this Google cap.
Retains its shape, even when not being worn.",
"link": "http://my.site.com/blackhat/",
"imageLink": "https://shop.example.com/.../images/GGOEGHPB071610.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-07T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "173",
"gtin": "689355417246",
"mpn": "689355417246",
"price": {
"value": "10.99",
"currency": "USD"
},
"sizes": [
"Medium"
]
}
]
}