W tym podejściu do interakcji z interfejsem Merchant API wysyłasz nieprzetworzone żądania bezpośrednio 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 parsowanie odpowiedzi.
Krok 1. Zarejestruj się jako programista
Aby korzystać z interfejsu Merchant API, musisz zarejestrować dane kontaktowe dewelopera.
Rejestracja umożliwia:
- Tworzy kontakt techniczny dla konta Merchant Center, przypisując użytkownikowi rolę API developer. Dzięki temu Google może wysyłać ważne aktualizacje dotyczące konkretnie 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.
- Umożliwia korzystanie z wielu kont sprzedawców bez konieczności wielokrotnej rejestracji. Podczas rejestracji identyfikator projektu Google Cloud używany do uwierzytelniania w interfejsie Merchant API jest powiązany z kontem Merchant Center, które ma kontakty techniczne (API developer). Dzięki temu możesz otrzymywać ważne aktualizacje dotyczące wszystkich kont sprzedawcy, którymi zarządzasz, o ile uwierzytelnianie odbywa się za pomocą zarejestrowanego projektu Google Cloud.
Podczas rejestracji zapoznaj się z wymaganiami wstępnymi i ograniczeniami opisanymi w sekcji Rejestracja.
Aby zarejestrować się za pomocą metody developerRegistration.registerGcp, 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}"
}
Wywołanie zakończone pomyślnie zwraca zasób DeveloperRegistration, który potwierdza połączenie między Twoim projektem a kontem.
{
  "name": "accounts/{ACCOUNT_ID}/developerRegistration",
  "gcpIds": [
    "123456789012345"
  ]
}
Krok 2. Zarządzanie kontaktami dewelopera i uprawnieniami
Podczas rejestracji:
- Jeśli adres e-mail należy do użytkownika konta Merchant Center, otrzyma on rolę API_DEVELOPER.
- 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, odbiorca musi zaakceptować zaproszenie.
Po wstępnej rejestracji zalecamy dodanie kilku deweloperów i przyznanie im dodatkowych uprawnień dostępu.
Krok 2a. Przyznawanie dodatkowych uprawnień
Rola API_DEVELOPER 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, takie jak STANDARD lub ADMIN. Więcej informacji znajdziesz w sekcji Typy dostępu.
Uprawnienia 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 i API_DEVELOPER. Dzięki temu będą mogli w pełni zarządzać kontem i otrzymywać powiadomienia dotyczące interfejsu 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. Dodawanie deweloperów rezerwowych
Aby zapobiec przerwaniu dostępu do interfejsu API w przypadku, gdy główna osoba kontaktowa dewelopera opuści Twoją organizację, dodaj co najmniej jednego dewelopera rezerwowego.
Użytkownika możesz dodać za pomocą metody accounts.users.create, a zaktualizować za pomocą metody accounts.users.patch.
Zalecamy przyznanie temu użytkownikowi ról ADMIN i API_DEVELOPER.
Krok 3. Tworzenie podstawowego źródła danych o produktach
Aby wstawić produkt, musisz mieć podstawowe źródło danych o produktach. Poniższa prośba pokazuje, jak utworzyć źródło danych, którego możesz użyć do wstawienia produktu na 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 uruchomieniu tego żądania powinna pojawić się 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 on potrzebny do wstawienia produktu.
To źródło danych możesz wyświetlić w interfejsie Merchant Center. Więcej informacji znajdziesz w artykule Jak znaleźć kartę Źródła danych.
Krok 4. Wstaw produkt
Po utworzeniu źródła danych spróbuj wstawić do niego produkt. Uruchom to polecenie, podając prawidłową wartość ACCOUNT_ID. Zastąp {DATASOURCE_NAME} skopiowaną wcześniej wartością.
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 uruchomieniu tego żądania powinna pojawić się 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 pobrać 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. Zobacz Wyświetlanie danych produktów.