Zasób products
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 zatwierdzić wyświetlanie 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 | T-shirt Google ze 100% 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 zł |
| 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 | adult | adult | adult |
| płeć | male | male | unisex |
| 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 dodano nowy produkt „Czarny T-shirt Google” 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_limitatrybut 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 podanego poniżej 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 zostanie zaktualizowany 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 jako przeznaczonych do aktualizacji, jak pokazano w przykładzie powyżej.
Przedstawiony przykład zaktualizuje tylko pola description i availability istniejącego produktu „Black Google Tee” za pomocą odpowiednich danych produktu podanych 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, należy go określić w treści żądania.updateMask
W pokazanym przykładzie zaktualizujemy price i availability istniejącego produktu „Czarna koszulka Google” za pomocą products.custombatch z danymi produktu podanymi we wpisie w partii, 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 żądaniem HTTP, identyfikatorem sprzedawcy i identyfikatorem produktu (w formacie REST ID, 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 zwracany jest kod stanu 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"
]
}
]
}


