Najczęstsze pytania

W tej sekcji znajdziesz odpowiedzi na najczęstsze pytania dotyczące rejestracji dewelopera w Merchant API.

Rejestracja ogólna

Najczęstsze pytania dotyczące procesu rejestracji:

Czy rejestracja dewelopera jest wymagana do korzystania z interfejsu Merchant API?

Tak. Musisz zarejestrować swoje informacje kontaktowe dewelopera, abyśmy mogli wysyłać Ci ważne aktualizacje dotyczące interfejsu API, takie jak ogłoszenia o usługach i informacje o nowych funkcjach.

Jeśli chcesz tylko poznać i przetestować interfejs Merchant API, możesz użyć narzędzi takich jak Google OAuth Playground i API Explorer, które nie wymagają rejestracji.

Jak często muszę się rejestrować?

Rejestracja jest jednorazową konfiguracją dla każdego projektu w chmurze Google Cloud. Niezależnie od tego, czy pracujesz z wieloma kontami sprzedawcy, czy nie, operację rejestracji wykonujesz tylko raz i dotyczy ona wszystkich użytkowników i kont usługi w połączonym projekcie Google Cloud.

Po zarejestrowaniu projektu w chmurze Google link pozostaje aktywny, dopóki nie zostanie usunięty przez wywołanie metody unregisterGcp. Nie możesz zarejestrować udostępnionych projektów należących do Google, takich jak APIs Explorer czy OAuth Playground.

Jaki adres e-mail mam podać jako kontakt do dewelopera?

Zalecamy użycie firmowego adresu e-mail danej osoby. Możesz też użyć ogólnych aliasów grup. Nie możesz używać adresów e-mail kont usługi, ponieważ komunikaty są przeznaczone dla osób. Google wysyła ważne aktualizacje dotyczące interfejsów API, takie jak powiadomienia o usługach i informacje o nowych funkcjach.

Jeśli adres e-mail należy do istniejącego użytkownika na koncie Merchant Center, automatycznie otrzyma on rolę API developer. Jeśli nie, na ten adres zostanie wysłane zaproszenie.

Pole kontaktowego adresu e-mail dewelopera jest opcjonalne w metodzie registerGcp. Jeśli podczas rejestracji nie podasz wartości w tym polu, musisz utworzyć użytkownika z rolą API developer w interfejsie Merchant Center lub wywołując metodę accounts.users.create.

Czy kontaktowy adres e-mail dewelopera musi być kontem Google?

Tak. Aby użyć istniejącego adresu e-mail spoza Google, możesz powiązać go z kontem Google, wybierając opcję Użyj swojego obecnego adresu e-mail w procesie rejestracji Utwórz konto Google. Nie możesz używać adresów e-mail kont usługi, ponieważ konta usługi nie mogą odbierać e-maili.

Jak przeprowadzić uwierzytelnianie i autoryzację wywołania rejestracji?

W zależności od przypadku użycia dostępne są 2 różne scenariusze uwierzytelniania i autoryzacji wywołania rejestracji:

  • OAuth 2.0: dla dostawców zewnętrznych lub agencji zarządzających wieloma kontami sprzedawców.
  • Konta usługi: aby uzyskać dostęp do własnego konta Merchant Center.

Tekst alternatywny na potrzeby ułatwień dostępu

Powyższy diagram przedstawia 2 procesy uwierzytelniania i autoryzacji wywołania rejestracji. Możesz wybrać jedną z tych opcji:

  • Używanie protokołu OAuth z adresem e-mail, takim jak account@email.com, powiązanym z kontem Google
  • użycie konta usługi, takiego jak sa@project.iam.gserviceaccount.com;

Jeśli zdecydujesz się na OAuth:

  • Tworzenie danych logowania OAuth w projekcie Google Cloud na potrzeby poczty e-mail
  • Sprawdź, czy adres e-mail, który ma zostać upoważniony, istnieje w Merchant Center i ma typ dostępu ADMIN.

Jeśli zdecydujesz się na konto usługi:

  • Sprawdź, czy konto usługi istnieje w projekcie Google Cloud.
  • Upewnij się, że adres e-mail powiązany z kontem usługi istnieje w Merchant Center i ma typ dostępu ADMIN.

Wykonaj wywołanie rejestracji w kontekście zabezpieczeń tożsamości uwierzytelniającej, używając bezpośrednich wywołań interfejsu API lub bibliotek klienta. Podaj adres e-mail do kontaktu z deweloperem, np. developer@email.com.

Jeśli wywołanie rejestracji się powiedzie, w Merchant Center pojawi się użytkownik z podanym adresem e-mail dewelopera i rolą API developer. W odpowiedzi otrzymasz zasób DeveloperRegistration.

Jaka jest różnica między adresem e-mail do uwierzytelniania a kontaktowym adresem e-mail dewelopera?

Te 2 adresy e-mail służą do różnych celów w ekosystemie Merchant API:

  • Uwierzytelnianie adresu e-mail: zwykle używasz adresu e-mail powiązanego z kontem Google lub kontem usługi jako tożsamości do autoryzowania żądań do interfejsu Merchant API, pod warunkiem że:
    • Istnieje w Merchant Center i ma rolę ADMIN.
    • Projekt Google Cloud z włączonym interfejsem Merchant API hostuje klienta OAuth lub konto usługi powiązane z adresem e-mail, który autoryzuje wywołania interfejsu API.
  • Kontaktowy adres e-mail dewelopera: kontaktowy adres e-mail dewelopera musi być powiązany z kontem Google, ale służy jako główny adres kontaktowy do otrzymywania ważnych powiadomień o usługach i aktualizacjach interfejsu API od Google. Może należeć do użytkownika lub grupy użytkowników. Domyślnie otrzymuje on rolę API developer w Merchant Center.

Czy muszę zaakceptować zaproszenie wysłane na kontaktowy adres e-mail dewelopera?

Tak. Osoba, której adres e-mail podasz, ma 14 dni na zaakceptowanie zaproszenia. Rejestracja zostanie zakończona dopiero po zaakceptowaniu zaproszenia. W tym czasie możesz jednak wykonywać wywołania interfejsu API.

Jeśli zaproszenie nie zostanie zaakceptowane w określonym czasie, link z zaproszeniem wygaśnie. Nie możesz już wykonywać wywołań interfejsu Merchant API i musisz ponownie rozpocząć proces rejestracji.

Dlaczego rejestracja dewelopera nie powiodła się z powodu błędu „konto testowe”?

Rejestracja dewelopera jest ograniczona do kont produkcyjnych (aktywnych), aby zapewnić stabilność integracji. Jeśli używasz konta utworzonego specjalnie do testowania, które jest oznaczone w Merchant Center jako „konto testowe”, rejestracja zostanie odrzucona.

Czy mogę zarejestrować subkonto, którym zarządzam w imieniu klienta?

Zdecydowanie zalecamy zarejestrowanie konta, które reprezentuje tożsamość Twojej firmy. Rejestrowanie subkonta klienta jest niedozwolone i może powodować błędy. Jeśli klient zrezygnuje z Twojej usługi lub usunie konto, cała integracja z interfejsem API może zostać wyłączona.

Czy muszę zgłosić prawa do witryny, czy wystarczy ją zweryfikować?

W przypadku rejestracji dewelopera witryna musi być zweryfikowana. Potwierdza to, że masz kontrolę administracyjną nad witryną powiązaną z kontem. Zgłoszenie praw jest wymagane w przypadku innych funkcji, takich jak reklamy produktowe, ale weryfikacja jest podstawowym wymaganiem do rejestracji interfejsu API.

Zarządzanie kontem i projektem

Częste pytania dotyczące zarządzania kontem i projektem:

Pracuję z wieloma kontami Merchant Center. Czy muszę zarejestrować każde konto Merchant Center, którego chcę używać z interfejsem Merchant API?

Nie. Jeśli jesteś deweloperem zewnętrznym lub agencją zarządzającą kontami wielu sprzedawców, zarejestruj projekt Google Cloud na swoim głównym koncie Merchant Center, a nie na kontach poszczególnych sprzedawców. W ten sposób reprezentujesz dewelopera we wszystkich pracach związanych z interfejsem API, które wykonujesz dla sprzedawców.

Pracuję z wieloma kontami Merchant Center. Jak wybrać podstawowe konto Merchant Center?

Wybór konta głównego zależy od rodzaju działalności:

  • Platformy handlowe z istniejącym kontem zaawansowanym: jeśli Twoja firma działa jako platforma handlowa i ma już konto zaawansowane reprezentujące całą platformę, użyj identyfikatora tego konta jako podstawowego konta Merchant Center.
  • Usługi porównywania cen (CSS): jeśli jesteś usługą porównywania cen, użyj unikalnego identyfikatora konta usługi porównywania cen lub identyfikatora konta grupy usług porównywania cen.
  • Agencje, deweloperzy i inne firmy zewnętrzne: jeśli jesteś firmą zewnętrzną, np. agencją lub deweloperem, która zarządza wieloma kontami sprzedawców i nie ma jednego identyfikatora w Merchant Center reprezentującego Twoją firmę, utwórz nowe, główne konto Merchant Center i poproś o przekształcenie go w konto zaawansowane.

Gdy projekt w chmurze Google Cloud zostanie zarejestrowany na Twoim podstawowym koncie Merchant Center, możesz używać tego samego projektu do zarządzania innymi kontami Merchant Center, do których masz dostęp, bez konieczności rejestrowania tych kont osobno.

Używam wielu projektów Google Cloud. Czy muszę zarejestrować każdy z nich?

Tak. Ponieważ proces rejestracji łączy wywołujący projekt Google Cloud, musisz wykonać wywołanie registerGcp z każdego projektu Google Cloud, którego używasz do wywoływania interfejsu API.

Pojedynczy projekt w chmurze Google Cloud może być zarejestrowany tylko na jednym koncie Merchant Center naraz. Jednak z jednym kontem Merchant Center może być zarejestrowanych wiele projektów Google Cloud. Podobnie możesz użyć tego samego adresu e-mail dewelopera, aby przeprowadzić wiele rejestracji w wielu projektach Google Cloud lub na wielu kontach Merchant Center.

Co się stanie, jeśli zarejestruję projekt Google Cloud na kilku kontach Merchant Center?

Próba zarejestrowania projektu Google Cloud, który jest już zarejestrowany na innym koncie Merchant Center, spowoduje błąd ALREADY_REGISTERED.

Jak uwierzytelnić wywołanie interfejsu API rejestracji dewelopera?

Aby uwierzytelnić wywołanie interfejsu API rejestracji dewelopera dla interfejsu Merchant API, użyj danych logowania zarządzanych w projekcie Google Cloud. Masz 2 główne opcje tożsamości, która przeprowadza uwierzytelnianie:

  • Konto Google, takie jak Gmail, korzystające z protokołu OAuth 2.0: ta metoda używa danych uwierzytelniających klienta OAuth 2.0 wygenerowanych w projekcie Google Cloud. Wywołanie interfejsu API jest autoryzowane w imieniu konkretnego konta Google, na które loguje się użytkownik.
  • Konto usługi: ta metoda korzysta z konta usługi Google Cloud, które jest specjalnym rodzajem konta Google przeznaczonym dla aplikacji. Danymi logowania do konta usługi zarządza się również w projekcie Google Cloud.

Aby rejestracja dewelopera się powiodła, tożsamość uwierzytelniająca (konto Google lub konto usługi) musi spełniać te kryteria w Merchant Center:

  • Istnieje jako użytkownik w Merchant Center: adres e-mail powiązany z uwierzytelniającym kontem Google lub kontem usługi musi zostać dodany jako użytkownik na koncie Merchant Center, które rejestrujesz.
  • Wymagana rola administratora: użytkownik musi mieć przypisaną rolę ADMIN na tym koncie Merchant Center.

Podczas wywoływania interfejsu API:

  • Jeśli używasz bezpośrednich wywołań interfejsu API, musisz uzyskać i podać prawidłowy token dostępu w nagłówku Authorization. Ten token jest generowany przez przepływ OAuth 2.0 dla konta Google lub przepływ uwierzytelniania między serwerami dla konta usługi.
  • Biblioteki klienta udostępniane przez Google zwykle obsługują złożone procesy uzyskiwania i odświeżania tokenów dostępu w ramach konfiguracji.

Użytkownik uwierzytelniający może nie być tym samym użytkownikiem, który jest kontaktem dewelopera. Więcej informacji znajdziesz w artykule Jaka jest różnica między adresem e-mail do uwierzytelniania a kontaktowym adresem e-mail dewelopera?.

Jak często muszę odświeżać tokeny dostępu?

Tokeny dostępu zarówno dla kont usługi, jak i OAuth 2.0 zwykle wygasają po godzinie. Sposób uzyskiwania nowego tokena zależy jednak od używanej metody uwierzytelniania:

  • Konta usługi używają klucza prywatnego lub danych logowania środowiska, aby w razie potrzeby utworzyć nowy token dostępu.
  • Przepływy OAuth 2.0 używają parametru refresh_token do wywołania punktu końcowego tokena Google OAuth2 w celu otrzymania nowego tokena dostępu na 1 godzinę.

Zdecydowanie zalecamy korzystanie z oficjalnych bibliotek uwierzytelniania Google, które automatycznie obsługują tę rotację, dzięki czemu aplikacja nigdy nie będzie miała przestojów.

Użytkownicy i role

Częste pytania dotyczące użytkowników i ról:

Czy konto e-mail dewelopera musi już istnieć w Merchant Center?

Nie. Jeśli konto e-mail użyte do rejestracji nie istnieje jeszcze w Merchant Center, interfejs Merchant API utworzy konto w Merchant Center z podanym adresem e-mail i stanem Oczekujące. Jeśli adres e-mail dewelopera należy do dotychczasowego użytkownika konta Merchant Center, automatycznie otrzyma on rolę API developer.

Czy kontaktowy adres e-mail dewelopera musi mieć uprawnienia administratora w Merchant Center?

Nie. Użytkownik Merchant Center powiązany z kontaktowym adresem e-mail dewelopera domyślnie otrzymuje rolę API developer, która jest wymagana do otrzymywania ważnych powiadomień. Ma jednak 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 o rolach w Merchant Center znajdziesz w artykule o typach dostępu.

Jakie uprawnienia ma rola „API developer”?

Rola API developer to rola z minimalnymi uprawnieniami w Merchant Center. Jeśli planujesz używać kontaktowego adresu e-mail dewelopera do autoryzowania wywołań interfejsu Merchant API, zalecamy dodanie uprawnień ADMIN lub STANDARD, aby umożliwić użytkownikowi wykonywanie wywołań interfejsu API.

Czy muszę zarejestrować każde konto dewelopera lub konto usługi wywołujące interfejs API?

Nie. Rejestracja dewelopera jest powiązana z projektem Google Cloud używanym do wywoływania interfejsu API, a nie z poszczególnymi użytkownikami lub kontami usługi. Gdy projekt w chmurze Google Cloud zostanie zarejestrowany na Twoim podstawowym koncie Merchant Center, możesz używać dowolnej tożsamości zarządzanej w połączonym projekcie Google Cloud za pomocą danych logowania OAuth lub kont usługi, aby autoryzować wywołania interfejsu API Merchant API, pod warunkiem że istnieją one w Merchant Center i mają przypisaną rolę ADMIN.

Jak zmienić kontaktowy adres e-mail dewelopera po pierwszej rejestracji?

Aby zarządzać kontaktami lub je zmieniać, użyj standardowej usługi accounts.users lub strony „Dostęp i usługi” w interfejsie Merchant Center, aby dodać lub usunąć użytkowników z rolą API developer.

Co się stanie, jeśli ostatni użytkownik „API developer” zostanie usunięty z konta Merchant Center?

Aby uniknąć natychmiastowej przerwy w działaniu usługi, rozpocznie się 30-dniowy okres prolongaty. W tym czasie:

  • Administratorzy otrzymają e-mailem 3 obowiązkowe powiadomienia o usłudze (zwykle około 30, 17 i 4 dni przed zablokowaniem).
  • Wywołania interfejsu API będą działać normalnie.
  • Jeśli przed upływem okresu prolongaty nie zostanie dodany nowy API developer, wywołania interfejsu API z powiązanych projektów Google Cloud będą blokowane i będzie wyświetlany błąd AUTH_GCP_NOT_REGISTERED.

Po upływie 30-dniowego okresu prolongaty wywołania interfejsu API z powiązanych projektów Google Cloud są blokowane i zwracają błąd AUTH_GCP_NOT_REGISTERED, dopóki nie zostanie przywrócony prawidłowy kontakt dewelopera.

Co się stanie, jeśli identyfikator w Merchant Center, na którym dokonano rejestracji dewelopera, zostanie usunięty?

Nie usuwaj konta Merchant Center użytego do rejestracji dewelopera, gdy integracja jest aktywna. Usunięcie tego konta spowoduje natychmiastowe przerwanie integracji i nie będzie już można wykonywać wywołań interfejsu API z powiązanego projektu Google Cloud.

Jeśli musisz usunąć to konto Merchant Center, najpierw wywołaj metodę unregisterGcp, aby bezpiecznie usunąć połączenie, a dopiero potem usuń identyfikator w Merchant Center. Jeśli chcesz nadal korzystać z Merchant API, musisz zarejestrować się za pomocą innego identyfikatora w Merchant Center zaraz po wyrejestrowaniu obecnego. Dopiero wtedy usuń identyfikator w Merchant Center.

Dlaczego nie widzę roli „API developer” w Merchant Center?

Rola API developer jest widoczna w interfejsie Merchant Center tylko po zarejestrowaniu dewelopera na danym koncie Merchant Center. Konta Merchant Center bez rejestracji nie widzą roli API developer.

Specjalne przypadki użycia

Najczęstsze pytania dotyczące specjalnych przypadków użycia:

Jestem agencją lub deweloperem zewnętrznym zarządzającym wieloma kontami sprzedawców. Jak najlepiej to skonfigurować?

Deweloperzy i agencje zewnętrzni powinni mieć własne główne konto Merchant Center i zarejestrować wszystkie swoje projekty Google Cloud na tym jednym, scentralizowanym koncie. Nie rejestruj projektu Google Cloud na koncie każdego sprzedawcy.

Jak działa rejestracja w Google Apps Script?

Skrypty aplikacji zwykle działają w domyślnym projekcie Google Cloud. Musisz zarejestrować ten domyślny identyfikator Google Cloud na koncie Merchant Center. Identyfikator Google Cloud jest uzyskiwany automatycznie przez interfejs API, więc nie musisz podawać go jako parametru.

Czy mogę sprawdzić, czy identyfikator w Merchant Center jest zarejestrowany w konkretnym identyfikatorze projektu Google Cloud?

Tak. Możesz sprawdzić, który identyfikator Merchant Center jest zarejestrowany w konkretnym projekcie Google Cloud, używając metody getAccountForGcpRegistration. Aby usunąć link do projektu Google Cloud z konta Merchant Center, użyj metody unregisterGcp.

Migracja z Content API do Merchant API dla użytkowników Google & YouTube w Shopify

Najczęstsze pytania dotyczące migracji z Content API do Merchant API w przypadku platform i aplikacji innych firm:

Czy aby przejść z Content API na Merchant API, muszę coś zrobić?

Nie musisz nic robić. Jeśli do zarządzania plikami danych Merchant Center używasz aplikacji Google & YouTube w Shopify, migracją z Content API na Merchant API zajmie się Google.

Czy migracja zmieni identyfikatory moich produktów?

Nie, migracja nie zmienia identyfikatorów produktów w plikach danych Merchant Center.

Czy muszę ponownie zainstalować aplikację Google & YouTube w Shopify, aby dokończyć przejście?

Nie musisz nic robić, aby dokończyć ten proces. Nie musisz ponownie instalować aplikacji Google & YouTube.

Dlaczego nadal widzę źródła danych Content API w Merchant Center?

Źródła danych Content API mogą nadal pojawiać się w Merchant Center podczas przechodzenia na Merchant API. Takie przypadki są normalne i nie wymagają żadnych działań z Twojej strony.