Omówienie interfejsu Merchant Products API

Z tej strony dowiesz się, jak przesyłać produkty i zarządzać nimi za pomocą programowania. Za pomocą interfejsu Merchant Products API możesz wstawiać i aktualizować produkty w źródle danych, pobierać produkty z konta oraz usuwać je z źródła danych.

Interfejs Merchant Products API zawiera 2 zasoby.

  • productInputs reprezentuje dane wejściowe Twoich produktów.
  • products reprezentuje przetworzone produkty, które zostały utworzone z podanych przez Ciebie części.

productInputs może być podstawowy lub dodatkowy, w zależności od tego, czy jest przesłany do podstawowego źródła danych czy do dodatkowego źródła danych. Każdy element product będzie zbudowany z jednego podstawowego elementu productInput i dowolnej liczby dodatkowych elementów productInputs.

Interfejs Merchant Products API umożliwia tworzenie katalogów sklepów internetowych lub lokalnych. Są to produkty, które mogą się wyświetlać w wielu miejscach docelowych zakupów. Zasób productInputs możesz użyć po utworzeniu konta Merchant Center, skonfigurowaniu pierwszego źródła danych i przesłaniu początkowego zestawu produktów za pomocą interfejsu API.

Chociaż sprzedawcy mogą przesyłać produkty za pomocą pliku o nazwie PrimaryProductDataSource, tworzenie i usuwanie produktów za pomocą interfejsu Merchant API ma kilka zalet. Zalety to m.in. szybszy czas reakcji i możliwość aktualizowania produktów w czasie rzeczywistym bez konieczności zarządzania dużymi plikami. Zanim zmiany produktów wprowadzone przez wywołania interfejsu API pojawią się w bazie danych Zakupów Google, może minąć do kilku godzin.

Wymagania wstępne

Jeśli nie masz źródła danych, utwórz je za pomocą Merchant DataSources API lub w Merchant Center.

Jeśli masz już źródło danych utworzone za pomocą interfejsu Merchant Center lub interfejsu API, możesz dodać produkty za pomocą interfejsu Merchant Products API. Jeśli dodawania produktów używasz interfejsu Content API for Shopping, zapoznaj się z przewodnikiem po migracji, aby dowiedzieć się, jak zacząć korzystać z interfejsu Merchant Products API.

Użytkownik jest odpowiedzialny za przestrzeganie zasad dotyczących reklam produktowych i bezpłatnych informacji. Zastrzegamy sobie prawo do egzekwowania tych zasad i podejmowania odpowiednich działań, jeśli wykryjemy treści lub zachowania, które są z nimi niezgodne.

Zasoby

Zasób products umożliwia pobieranie informacji o produktach z bazy danych Zakupów Google.

Zasób productInput reprezentuje dane wejściowe przesłane dla produktu. Zawiera też metody, które umożliwiają aktualizowanie lub usuwanie informacji o produktach pojedynczo lub wiele naraz w trybie zbiorczym. Zasób productInput musi zawierać te pola:

  • channel: kanał produktu.
  • offerId: unikalny identyfikator produktu.
  • contentLanguage: dwuliterowy kod języka ISO 639-1 produktu.
  • feedLabel: etykieta pliku danych produktu.

Przesyłanie danych produktu na konto

Aby przesłać dane produktu na swoje konto, użyj metody accounts.productInputs.insert. Musisz przekazać wyjątkowy identyfikator podstawowego lub dodatkowego źródła danych.

Ten przykładowy żądanie pokazuje, jak za pomocą metody accounts.productInputs.insert przesłać dane produktu na konto sprzedawcy. Żądanie określa cenę dostawy i region oraz atrybuty niestandardowe, takie jak data produkcji i rozmiar.

POST https://merchantapi.googleapis.com/products/v1beta/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE}

{
  "name": "{PRODUCT_TITLE}",
  "versionNumber": {VERSION_NUMBER},
  "contentLanguage": "{CONTENT_LANGUAGE}",
  "feedLabel": "{FEED_LABEL}",
  "offerId": "{OFFER_ID}",
  "channel": "ONLINE",
  "attributes": {
    "availability": "in stock",
    "imageLink": "{IMAGE_LINK}",
    "link": "{PRODUCT_LINK}",
    "brand": "{BRAND_NAME}",
    "price": {
      "currencyCode": "{CURRENCY_CODE}",
      "amountMicros": {PRICE}
    },
    "color": "red",
    "productWeight": {
      "value": 320,
      "unit": "g"
    },
    "adult": false,
    "shipping": [
      {
        "country": "GB",
        "price": {
          "amountMicros": {SHIPPING_COST},
          "currencyCode": "{CURRENCY_CODE_SHIPPING}"
        },
        "postalCode": "{SHIPPING_POSTALCODE}",
        "service": "",
        "region": "{SHIPPING_REGION}",
        "maxHandlingTime": "{MAX_HANDLING_TIME}",
        "minHandlingTime": "{MIN_HANDLING_TIME}",
        "maxTransitTime": "{MAX_TRANSIT_TIME}",
        "minTransitTime": "{MIN_TRANSIT_TIME}"
      }
    ],
    "gender": "Female"
  },
  "customAttributes": [
    {
      "name": "size",
      "value": "Large"
    },
    {
      "name": "Date of Manufacturing",
      "value": "2024-05-05"
    }
  ]
}

Zastąp następujące elementy:

  • {ACCOUNT_ID}: unikalny identyfikator Twojego konta Merchant Center.
  • {DATASOURCE}: unikalny identyfikator źródła danych. Powinien mieć format accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}.
  • {PRODUCT_TITLE}: nazwa produktu.
  • {VERSION_NUMBER}: numer wersji produktu. Opcjonalnie:
  • {CONTENT_LANGUAGE}: dwuliterowy kod języka ISO 639-1 produktu. Wymagane.
  • {FEED_LABEL}: kod regionu CLDR dla regionu, w którym chcesz sprzedawać produkt. Jeśli wartość podana dla pola feedLabel nie jest prawidłowa, pole targetCountry nie jest wypełnione.
  • {OFFER_ID}: unikalny identyfikator produktu. Wymagane.
  • {IMAGE_LINK}: link do obrazu produktu na Twojej stronie internetowej. Opcjonalnie:
  • {PRODUCT_LINK}: link do produktu w Twojej witrynie. Opcjonalnie:
  • {CURRENCY_CODE}: Waluta, w której podano cenę, przedstawiona za pomocą 3-literowych skrótów zgodnie z normą ISO 4217. Opcjonalnie:
  • {PRICE}: cena produktu wyrażona jako liczba w mikro. Opcjonalnie:
  • {SHIPPING_COST}: stała cena dostawy reprezentowana jako liczba. Opcjonalnie:
  • {SHIPPING_POSTALCODE}: zakres kodów pocztowych, w których obowiązuje koszt dostawy. Opcjonalnie:
  • {MAX_HANDLING_TIME}: Maksymalny czas obsługi zamówienia w dniach roboczych od momentu jego złożenia do wysyłki. Opcjonalnie:
  • {MIN_HANDLING_TIME}: minimalny czas obsługi zamówienia w dniach roboczych między jego otrzymaniem a wysłaniem. Wartość 0 oznacza, że zamówienie jest dostarczane tego samego dnia, w którym zostało złożone. Opcjonalnie:
  • {MAX_TRANSIT_TIME}: Maksymalny czas przewozu w dniach roboczych od wysyłki do dostarczenia zamówienia. Opcjonalnie:
  • {MIN_TRANSIT_TIME}: minimalny czas przewozu w dniach roboczych między wysyłką zamówienia a jego dostarczeniem. Wartość 0 oznacza, że zamówienie jest dostarczane tego samego dnia, w którym zostało wysłane. Opcjonalnie:

Gdy żądanie zostanie zrealizowane, zobaczysz tę odpowiedź:

{
  "name": "{PRODUCT_NAME}",
  "product": "{PRODUCT_ID}",
  "channel": "ONLINE",
  "offerId": "{OFFER_ID}",
  "contentLanguage": "{CONTENT_LANGUAGE}",
  "feedLabel": "{FEED_LABEL}",
  "versionNumber": "{VERSION_NUMBER}",
  "attributes": {
    "link": "{PRODUCT_LINK}",
    "imageLink": "{IMAGE_LINK}",
    "adult": false,
    "availability": "in stock",
    "brand": "{BRAND_NAME}",
    "color": "red",
    "gender": "Female",
    "price": {
      "amountMicros": "{PRICE}",
      "currencyCode": "{CURRENCY_CODE}"
    },
    "shipping": [
      {
        "price": {
          "amountMicros": "{SHIPPING_COST}",
          "currencyCode": "{CURRENCY_CODE}"
        },
        "country": "{SHIPPING_COUNTRY}",
        "region": "{SHIPPING_REGION}",
        "postalCode": "{SHIPPING_POSTALCODE}",
        "minHandlingTime": "{MIN_HANDLING_TIME}",
        "maxHandlingTime": "{MAX_HANDLING_TIME}",
        "minTransitTime": "{MIN_TRANSIT_TIME}",
        "maxTransitTime": "{MAX_TRANSIT_TIME}"
      }
    ],
    "productWeight": {
      "value": 320,
      "unit": "g"
    }
  },
  "customAttributes": [
    {
      "name": "Size",
      "value": "Large"
    },
    {
      "name": "Date of Manufacturing",
      "value": "2024-05-05"
    }
  ]
}

Pobieranie przetworzonego produktu z konta

Aby odzyskać przetworzony produkt z konta, użyj metody accounts.products.get. Po wstawieniu przetworzonego produktu może minąć kilka minut, zanim się pojawi.

Nazwę zasobu przetworzonego produktu możesz uzyskać z pola productodpowiedzi na accounts.productInputs.insert

Usuwanie danych o produkcie z konta

Aby usunąć dane produktu z konta, użyj metody accounts.productInputs.delete. Aby usunąć produkt za pomocą interfejsu Merchant Products API, musisz przekazać unikalny identyfikator podstawowego lub uzupełniającego źródła danych, do którego należy produkt.

Wyświetlanie listy produktów na koncie

Aby wyświetlić przetworzone produkty na swoim koncie, użyj metody accounts.products.list.