Zasób products
zapewnia dużą elastyczność i kontrolę nad ponad 60 atrybutami produktów.Istnieje kilka wymaganych pól, które trzeba uwzględnić, aby zostały zatwierdzone do wyświetlania 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, wersje produktu i pakiety produktów. Więcej informacji o ponad 60 opcjonalnych parametrach, które można skonfigurować w przypadku produktów, znajdziesz w Specyfikacji danych produktów.
Zasób products
pozwala na insert
, get
, update
i delete
po 1 produkcie naraz oraz list
na wszystkie produkty w bazie danych Merchant Center.
Za pomocą zasobu productstatuses
można sprawdzić stan zatwierdzenia lub odrzucenia konkretnego produktu w miejscu docelowym. Więcej informacji o produktach, w przypadku których mogą występować problemy z jakością danych, oraz o możliwych problemach znajdziesz w przewodniku po stanie produktów.
W przykładowych interfejsach API używamy 3 produktów: 2 koszulek Google i czapki Google. Korzystamy z minimalnego zbioru danych produktów pokazanych w tabeli poniżej, aby wykonywać wywołania zasobów products
w celu wstawiania, pobierania, aktualizowania, wyświetlania i usuwania poszczególnych produktów i grup produktów.
Zalecamy, aby informacje o dostawie i podatkach były skonfigurowane na poziomie konta, a nie na poziomie produktu.
W przypadku subkont wielu sprzedawców na platformach handlowych wszystkie usługi muszą zawierać pole external_seller_id
. Więcej informacji znajdziesz w sekcji Identyfikatory produktów.
id | online:en:US:1111111111 | online:en:US:2222222222 | online:en:US:3333333333 |
---|---|---|---|
offerId | 1111111111 | 2222222222 | 3333333333 |
title | Czarna koszulka Google | Zielona koszulka Google | Czapka z daszkiem Google |
opis | Czarna koszulka Google | Koszulka Google 100% bawełna | Klasyczna czapka z daszkiem 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 |
stan | Nowość | Nowość | Nowość |
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 |
brand | |||
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 | P | P |
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 poniższego adresu URL żądania zawierającego identyfikator sprzedawcy i przykładową treść JSON. Wstawienie tworzy nowy produkt. Jeśli w przypadku danego produktu występują 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.
Pokazany przykład pokazuje nową „czarną koszulkę Google” do dostępnych produktów.
POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
Przykładowe wywołanie treści żądania dla elementu 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ć ustawione atrybuty niestandardowe w treści JSON. Możemy na przykład ustawić atrybut purchase_quantity_limit
dla pojedynczego produktu, aby ograniczyć liczbę produktów, które klient może zamówić:
"customAttributes": [
{
"name": "purchase_quantity_limit",
"value": "4"
}
]
Pamiętaj, że atrybut niestandardowy purchase_quantity_limit
ustawia limit zakupów na zamówienie klienta na podstawie definicji produktu i jest również obsługiwany w plikach danych. Ten atrybut jest obecnie w wersji beta, dopóki interfejs API nie będzie w pełni obsługiwany. Sprzedawca może dodawać wszelkie dodatkowe atrybuty niestandardowe, ale nie powoduje to żadnego konkretnego przetwarzania przez interfejsy API.
Udane wywołanie zwraca kod HTTP 200
i treść odpowiedzi zawierającą wstawiony zasób produktu z uzupełnionymi tylko wartościami 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
. Może minąć kilka minut, zanim nowo wstawiony produkt będzie dostępny za pomocą tej wywołania.
Użyj poniższego adresu URL i parametrów żądania HTTP, identyfikatora sprzedawcy i identyfikatora produktu (w formacie REST) produktu, który chcesz otrzymać:
GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Udane wywołanie zwraca wartość 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 poniższego adresu URL żądania z metodą PATCH. Podaj identyfikator sprzedawcy, identyfikator produktu i treść JSON zawierającą dane, które chcesz zaktualizować w produkcie. W przeciwieństwie do products.insert
, który wymaga wypełnienia wszystkich odpowiednich pól, products.update
wymaga tylko określenia pól, które chcesz zmienić.
Aby dodać lub zmodyfikować atrybut, określ pole z nową wartością w treści JSON. W pokazanym przykładzie wartości title
i description
istniejącej koszulki „Black Google Tee” zostaną zaktualizowane o dane produktu podane w treści żądania. Pozostałe pola pozostaną bez zmian.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Przykładowe wywołanie treści żądania dla elementu 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.
Pokazany przykład spowoduje zaktualizowanie obiektu salePrice
najwyższego poziomu, w tym zagnieżdżonych pól istniejącego produktu, danymi produktu podanymi w treści żądania. Wszystkie pozostałe 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 aktualizacji bez wprowadzania zmian w pozostałych polach zawartych w żądaniu, możesz określić updateMask
. Powinien to być rozdzielona przecinkami lista pól, które chcesz zmodyfikować.
updateMask
przydaje się, gdy chcesz zapewnić, że tylko nazwane pola będą aktualizowane. Nieokreślenie pola updateMask
jest równoważne oznaczeniem wszystkich pól w żądaniu do aktualizacji, jak pokazano w przykładzie powyżej.
Pokazany przykład spowoduje zaktualizowanie tylko wartości description
i availability
istniejącej koszulki „Black Google Tee” o odpowiednie dane produktu podane w treści żądania. Pozostawienie bez zmian żadnych innych pól, w tym pola title
.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=description,availability
Przykładowe wywołanie treści żądania dla elementu 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 ma go w treści żądania, to pole zostanie usunięte z zasobu Product
, jeśli istnieje.
W pokazanym przykładzie użyto updateMask
do usunięcia wartości pola salePrice
.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=salePrice
Aby można było usunąć przykładową treść żądania, nie powinno ono zawierać pola salePrice
. Możesz też nie podać żadnej treści lub może ona być pusta. Pozostałe pola pozostają niezmienione, o ile nie są dostępne w updateMask
.
Aby użyć updateMask
w żądaniu products.custombatch
, w treści żądania należy określić updateMask
.
W pokazanym przykładzie zaktualizujesz pola price
i availability
istniejącej koszulki „Black Google Tee” za pomocą products.custombatch
z użyciem danych produktów podanych we wpisie zbiorczym, pozostawiając bez zmian wszystkie inne pola, w tym title
i description
.
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 identyfikatora products.delete
z przykładowym adresem URL żądania HTTP, identyfikatorem sprzedawcy i identyfikatorem produktu (w formacie identyfikatora REST, np. online:en:US:1111111111
) produktu, który chcesz usunąć:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Odpowiedź pomyślna zwraca żądanie HTTP Status 204
bez treści odpowiedzi.
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
Udane wywołanie zwraca dane HTTP 200
i JSON dotyczące produktów w kluczu „resources”.
Zwracane są 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"
]
}
]
}