Zasób products
zapewnia dużą elastyczność i kontrolę nad ponad 60 atrybutami produktów.Jest wiele pól, które są wymagane i muszą zostać spełnione, aby witryna została zatwierdzona do wyświetlania w Zakupach Google.
Jest 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 produktów i pakiety produktów. Więcej informacji o ponad 60 opcjonalnych parametrach, które można skonfigurować dla produktów, znajdziesz w specyfikacji danych produktów.
Zasób products
umożliwia insert
, get
, update
i delete
1 produkt naraz oraz list
wszystkich produktów 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 na czym polegają problemy, znajdziesz w przewodniku po stanie produktów.
W przykładach dotyczących interfejsu API używamy 3 produktów: 2 koszulek Google i czapki Google. Korzystamy z minimalnego zestawu danych wymienionych w tabeli poniżej, aby wywoływać zasoby w products
do wstawiania, pobierania, aktualizowania, wyświetlania i usuwania poszczególnych produktów oraz ich partii.
Zalecamy skonfigurowanie informacji o dostawie i podatkach na poziomie konta, a nie na poziomie produktu.
W przypadku subkont wielu sprzedawców platform 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 z logo Google | Zielona koszulka z logo Google | Czapka z daszkiem Google |
opis | Czarna koszulka z logo Google | Koszulka Google z 100% bawełny | Klasyczna czapka z daszkiem w Google |
identyfikator grupy produktów [item_group_ID] | google_tee | google_tee | |
link | http://my.site.com/blacktee | http://my.site.com/greentee | http://my.site.com/blackhat |
stan | Nowi | Nowi | Nowi |
price | 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 |
gender | 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, podając identyfikator sprzedawcy i przykładową treść JSON. Wstawienie tworzy nowy produkt. Jeśli w przypadku 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 tego produktu.
Produkty wykluczone ze wszystkich miejsc docelowych na dłużej niż 7 dni są automatycznie usuwane.
Pokazany przykład pokazuje wstawienie nowej „czarnej koszulki Google” do dostępnych produktów.
POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
Przykładowe wywołanie treści żądania dla 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"
]
}
W treści JSON produkt może też mieć atrybuty niestandardowe ustawione. Możemy na przykład ustawić 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 zgodnie z definicją produktu. Jest on też obsługiwany przez pliki danych. Atrybut jest obecnie w wersji beta do czasu pełnego obsługi przez interfejs API. Sprzedawca może dodać wszelkie dodatkowe atrybuty niestandardowe, ale nie powoduje to konkretnego przetwarzania przez interfejsy API.
Pomyślne wywołanie zwraca kod HTTP 200
i treść odpowiedzi zawierającą wstawiony zasób produktu z wypeł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
. Zanim nowo wstawiony produkt będzie dostępny w tej rozmowie, może minąć kilka minut.
Użyj tych adresów URL i parametrów żądania HTTP, swojego identyfikatora sprzedawcy i identyfikatora produktu (w formacie identyfikatora REST) dla produktu, który chcesz pobrać:
GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Pomyślne wywołanie zwraca HTTP 200
i „zasób produktu” w treści odpowiedzi. Oto przykładowe dane produktów 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ąc identyfikator sprzedawcy, identyfikator produktu oraz treść JSON zawierającą dane, które chcesz zaktualizować w przypadku produktu. W przeciwieństwie do pola products.insert
, gdzie wymagane jest wypełnienie wszystkich odpowiednich pól, products.update
wymaga tylko określenia pól, które chcesz zmienić.
Aby dodać lub zmodyfikować atrybut, w treści JSON podaj nową wartość w tym polu. Przykładowy przykład spowoduje zaktualizowanie atrybutów title
i description
istniejącej koszulki „Czarna koszulka Google” za pomocą danych produktów podanych w treści żądania, pozostawiając pozostałe pola bez zmian.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Przykładowe wywołanie treści żądania dla 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.
Przykład pokazany spowoduje zaktualizowanie obiektu salePrice
najwyższego poziomu, w tym zagnieżdżonych pól istniejącego produktu, danymi produktu udostępnionymi w treści żądania, pozostawiając wszystkie inne pola bez zmian.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
{
"salePrice": {
"value": "17.99",
"currency": "USD"
}
}
Aby wybrać niektóre pola do zaktualizowania bez wprowadzania zmian w innych w treści żądania, możesz określić pole updateMask
. Ten parametr ciągu zapytania powinien być rozdzielaną przecinkami listą pól, które chcesz zmodyfikować.
Pole updateMask
jest przydatne, gdy chcesz potwierdzić, że tylko nazwane pola będą aktualizowane. Brak określenia updateMask
jest równoznaczne z oznaczeniem wszystkich pól w żądaniu do aktualizacji, jak pokazano w przykładzie powyżej.
Przykład pokazany spowoduje zaktualizowanie tylko description
i availability
istniejącej „czarnej koszulki Google” o odpowiednie dane produktu podane w treści żądania. Wszystkie pozostałe pola, w tym title
, pozostaną niezmienione.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=description,availability
Przykładowe wywołanie treści żądania dla products.update
:
{
"title": "Google Tee Black",
"description": "This Limited Edition is out of print.",
"availability": "out of stock"
}
Jeśli pole znajduje się na liście updateMask
, ale nie ma go w treści żądania, zostanie ono usunięte z zasobu Product
, jeśli istnieje.
W podanym przykładzie użyto parametru 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 można było je usunąć. Możesz też nie wpisać żadnej treści lub pustej treści. Inne pola pozostaną nienaruszone, dopóki nie pojawią się w updateMask
.
Aby użyć parametru updateMask
w żądaniu products.custombatch
, musisz w jego treści określić właściwość updateMask
.
Przykład pokazany spowoduje zaktualizowanie price
i availability
istniejącej „czarnej koszulki Google” przy użyciu atrybutu products.custombatch
o dane produktów podane we wpisie zbiorczym. Pozostałe pola, w tym title
i description
, pozostaną niezmienione.
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 atrybutu products.delete
z przykładowym adresem URL żądania HTTP, identyfikatorem sprzedawcy i identyfikatorem produktu (w formacie identyfikatora REST, takim jak online:en:US:1111111111
) produktu, który chcesz usunąć:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Pomyślna odpowiedź zwraca kod 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
Pomyślne wywołanie zwraca dane HTTP 200
i JSON produktów w kluczu „resources”.
Wyświetlane 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"
]
}
]
}