Bezpośrednie wywołania interfejsu API

W tym podejściu do interakcji z Merchant API wysyłasz bezpośrednio nieprzetworzone żądania do punktów końcowych interfejsu API, zwykle za pomocą protokołu HTTP(S). Ręcznie obsługujesz takie aspekty jak tworzenie treści żądania, ustawianie nagłówków (w tym uwierzytelniania) i analizowanie odpowiedzi.

Krok 1. Zarejestruj się jako programista

Aby korzystać z Merchant API, musisz zarejestrować informacje kontaktowe dewelopera.

Rejestracja umożliwia:

  • utworzenie kontaktu technicznego na koncie Merchant Center przez przypisanie roli API developer (programista interfejsu API) do użytkownika. Dzięki temu Google może wysyłać ważne aktualizacje dotyczące interfejsu API i funkcji, z których korzysta deweloper, np. ogłoszenia o usługach i informacje o nowych funkcjach, które mogą być mniej interesujące dla osób niebędących deweloperami.
  • pracę z wieloma kontami sprzedawcy bez konieczności wielokrotnej rejestracji. Gdy się zarejestrujesz, identyfikator projektu Google Cloud używany do uwierzytelniania w Merchant API zostanie powiązany z Twoim kontem Merchant Center, które ma kontakty techniczne (osoby z rolą API developer – programista interfejsu API). Dzięki temu możesz otrzymywać ważne aktualizacje dotyczące wszystkich kont sprzedawcy, którymi zarządzasz, o ile uwierzytelnianie jest przeprowadzane za pomocą zarejestrowanego projektu Google Cloud.

Podczas rejestracji przestrzegaj wymagań wstępnych i ograniczeń opisanych w sekcji Rejestracja.

Aby zarejestrować się za pomocą developerRegistration.registerGcp metody, możesz zacząć od tego przykładu, zastępując {DEVELOPER_EMAIL} odpowiednim adresem e-mail w treści żądania.

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/developerRegistration:registerGcp

{
  "developerEmail": "{DEVELOPER_EMAIL}"
}

Pomyślne wywołanie zwraca zasób DeveloperRegistration, który potwierdza powiązanie między Twoim projektem a kontem.

{
  "name": "accounts/{ACCOUNT_ID}/developerRegistration",
  "gcpIds": [
    "123456789012345"
  ]
}

Krok 2. Zarządzaj kontaktami i uprawnieniami dewelopera

Podczas rejestracji:

  • Jeśli adres e-mail należy do użytkownika na koncie Merchant Center, użytkownik ten otrzymuje rolę API_DEVELOPER (programista interfejsu API).
  • Jeśli adres e-mail nie należy do istniejącego użytkownika, na ten adres zostanie wysłane zaproszenie. Aby zostać dodanym jako nowy użytkownik z rolą API_DEVELOPER (programista interfejsu API), odbiorca musi zaakceptować zaproszenie.

Po wstępnej rejestracji zalecamy dodanie kilku deweloperów i przyznanie im dodatkowych praw dostępu.

Krok 2a. Przyznaj dodatkowe uprawnienia

Rola API_DEVELOPER (programista interfejsu API) jest wymagana do otrzymywania ważnych powiadomień, ale ma minimalne uprawnienia w Merchant Center. Aby umożliwić temu użytkownikowi wykonywanie innych wywołań interfejsu API lub zarządzanie ustawieniami w interfejsie Merchant Center, musisz przyznać mu dodatkowe role, np. STANDARD (standardowy) lub ADMIN (administrator). Więcej informacji znajdziesz w artykule Typy dostępu.

Prawa dostępu użytkownika możesz zaktualizować za pomocą metody accounts.users.patch.

Poniższy przykład pokazuje, jak zaktualizować użytkownika, aby przyznać mu role ADMIN (administrator) i API_DEVELOPER (programista interfejsu API). Dzięki temu będzie on mógł w pełni zarządzać kontem, a także otrzymywać komunikaty związane z interfejsem API.

PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/users/{DEVELOPER_EMAIL}?update_mask=access_rights
{
  "access_rights": [
    "ADMIN",
    "API_DEVELOPER"
  ]
}

Krok 2b. Dodaj zastępczych deweloperów

Aby zapobiec przerwaniu dostępu do interfejsu API, jeśli główna osoba kontaktowa dewelopera opuści Twoją organizację, dodaj co najmniej 1 zastępczego dewelopera.

Użytkownika możesz dodać za pomocą metody accounts.users.create lub zaktualizować za pomocą metody accounts.users.patch. Zalecamy przyznanie temu użytkownikowi ról ADMIN (administrator) i API_DEVELOPER (programista interfejsu API).

Krok 3. Utwórz podstawowe źródło danych o produktach

Aby wstawić produkt, potrzebujesz podstawowego źródła danych o produktach. Poniższe żądanie pokazuje, jak utworzyć źródło danych, którego możesz użyć do wstawienia produktu na swoje konto:

POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources

{
  "primaryProductDataSource": {
    "contentLanguage": "en",
    "countries": [
      "US"
    ],
    "feedLabel": "US"
  },
  "name": "primary-data-source",
  "displayName": "Primary Products Data Source"
}

Zastąp {ACCOUNT_ID} identyfikatorem utworzonego konta Merchant Center.

Po pomyślnym wykonaniu tego żądania powinna się pojawić taka odpowiedź:

{
  "name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
  "dataSourceId": "{DATASOURCE_ID}",
  "displayName": "Primary Products Data Source",
  "primaryProductDataSource": {
    "feedLabel": "US",
    "contentLanguage": "en",
    "countries": [
      "US"
    ],
    "defaultRule": {
      "takeFromDataSources": [
        {
          "self": true
        }
      ]
    }
  },
  "input": "API"
}

Skopiuj wartość pola name. Będzie ona potrzebna do wstawienia produktu.

To źródło danych możesz wyświetlić w interfejsie Merchant Center. Więcej informacji znajdziesz w artykule zobacz Jak znaleźć kartę Źródła danych.

Krok 4. Wstaw produkt

Po utworzeniu źródła danych spróbuj wstawić do niego produkt. Uruchom poniższe polecenie, podając prawidłowy ACCOUNT_ID. Zastąp {DATASOURCE_NAME} wartością skopiowaną wcześniej.

POST https://merchantapi.googleapis.com/products/v1/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE_NAME}
{
  "contentLanguage": "en",
  "feedLabel": "US",
  "name": "Red T-shirt",
  "productAttributes": {
    "gender": "MALE",
    "brand": "New brand"
  },
  "offerId": "tshirt-123"
}

Po pomyślnym wykonaniu tego żądania powinna się pojawić taka odpowiedź:

{
  "name": "accounts/{ACCOUNT_ID}/productInputs/en~US~tshirt-123",
  "product": "accounts/{ACCOUNT_ID}/products/en~US~tshirt-123",
  "offerId": "tshirt-123",
  "contentLanguage": "en",
  "feedLabel": "US",
  "productAttributes": {
    "brand": "New brand",
    "gender": "MALE"
  }
}

Identyfikator nowo utworzonego produktu to en~US~tshirt-123. Aby uzyskać szczegółowe informacje o tym produkcie, możesz użyć metody accounts.products.get. Możesz też wyświetlić ten produkt w interfejsie Merchant Center. Więcej informacji o wyświetlaniu danych produktów znajdziesz w artykule Omówienie produktów w Merchant Center.