wywołania zasobów dotyczących usług

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/store/20160512512/assets/items/images/GGOEGXXX1100.jpg https://shop.example.com/store/20160512512/assets/items/images/GGOEGXXX0906.jpg https://shop.example.com/store/20160512512/assets/items/images/GGOEGHPB071610.jpg
gtin 9504000059422 9504000059446 9504000059452
mpn 00638NIC 00638ANG 00638ABC
brand Google Google Google
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"
   ]
  }
 ]
}