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

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/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
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"
   ]
  }
 ]
}