Часто задаваемые вопросы

В этом разделе рассматриваются часто задаваемые вопросы, касающиеся регистрации разработчиков для использования API для продавцов.

Общая регистрация

Часто задаваемые вопросы о процессе регистрации:

Обязательна ли регистрация разработчика для использования Merchant API?

Да. Вам необходимо зарегистрировать свои контактные данные разработчика, чтобы Google мог отправлять важные обновления, касающиеся API, такие как объявления о сервисе и информация о новых функциях.

Если вы просто хотите изучить и протестировать Merchant API, вы можете использовать такие инструменты, как Google OAuth Playground и API Explorer, которые не требуют регистрации.

Как часто мне нужно регистрироваться?

Регистрация — это одноразовая процедура для каждого проекта Google Cloud. Независимо от того, работаете ли вы с несколькими торговыми учетными записями или нет, операция регистрации выполняется только один раз, и она применяется ко всем пользователям и сервисным учетным записям в рамках связанного проекта Google Cloud.

После успешной регистрации проекта Google Cloud ссылка остается активной, если ее явно не удалить, вызвав метод unregisterGcp . Вы не можете регистрировать общие проекты, принадлежащие Google, такие как API Explorer или OAuth Playground.

Какой адрес электронной почты мне следует указать в качестве контактного лица разработчика?

We recommend using an individual's corporate email address. Alternatively you could use general group aliases. You can't use service account emails, as communications are intended for human recipients. Google sends important API-specific updates, such as service announcements and new features information.

Если адрес электронной почты принадлежит существующему пользователю в учетной записи Merchant Center, ему автоматически предоставляется роль API developer . В противном случае на этот адрес отправляется приглашение.

The developer contact email address field is optional in the registerGcp method. If when you register you don't provide a value for this field, you must create a user that has the API developer role either in Merchant Center UI, or by calling the accounts.users.create method.

Обязательно ли указывать адрес электронной почты разработчика в учетной записи Google?

Да. Чтобы использовать существующий адрес электронной почты, не принадлежащий Google, вы можете связать его с учетной записью Google, выбрав опцию «Использовать существующий адрес электронной почты» в процессе регистрации учетной записи Google . Вы не можете использовать адреса электронной почты служебных учетных записей, поскольку служебные учетные записи не могут получать электронные письма.

Как выполнить аутентификацию и авторизацию при регистрации?

В зависимости от конкретного случая, для аутентификации и авторизации при регистрации доступны два различных сценария аутентификации:

  • OAuth 2.0 : для сторонних поставщиков или агентств, управляющих несколькими торговыми счетами.
  • Сервисные аккаунты : для доступа к вашему собственному аккаунту в Merchant Center.

Alt text for accessibility

На приведенной выше диаграмме показаны два потока аутентификации и авторизации для вызова регистрации. Вы можете выбрать один из следующих вариантов:

  • Использование OAuth с адресом электронной почты, например account@email.com , связанным с учетной записью Google.
  • Используя служебный аккаунт, например, sa@project.iam.gserviceaccount.com

Если вы решите использовать OAuth :

  • Создайте учетные данные OAuth в своем проекте Google Cloud для вашей электронной почты.
  • Убедитесь, что авторизующий адрес электронной почты существует в вашем Merchant Center и имеет тип доступа ADMIN

Если вы решите использовать сервисный аккаунт :

  • Убедитесь, что учетная запись службы существует в вашем проекте Google Cloud.
  • Убедитесь, что адрес электронной почты, связанный с учетной записью службы, существует в вашем Merchant Center и имеет тип доступа ADMIN

Perform the registration call under the authenticating identity's security context, using direct API calls or client libraries. Provide an email address for the developer contact, for example developer@email.com .

If the registration call is successful, a user exists in your Merchant Center with the provided developer email address and the API developer role. You get as a response a DeveloperRegistration resource.

В чём разница между адресом электронной почты для аутентификации и адресом электронной почты для связи с разработчиком?

Эти два адреса электронной почты выполняют разные функции в экосистеме Merchant API:

  • Аутентификация по электронной почте : Обычно для авторизации запросов к API продавца используется адрес электронной почты, связанный с вашей учетной записью Google или учетной записью сервиса, при условии, что:
    • Она находится в вашем Торговом центре и имеет роль ADMIN .
    • В проекте Google Cloud, где включен Merchant API, размещается клиент OAuth или учетная запись службы, связанная с адресом электронной почты, который авторизует вызовы API.
  • Developer contact email : The developer contact email must also be associated with a Google Account, but it serves as the primary contact for critical service announcements and API updates from Google. It can belong to a user or to a group of users. By default, it gets the API developer role in Merchant Center.

Обязательно ли мне принимать приглашение, полученное по электронной почте от разработчика?

Yes. The developer contact email recipient you provide has 14 days to accept the invitation. Registration is complete only after they have accepted the invitation. You can however, perform API calls during this time.

Если приглашение не будет принято в указанный срок, ссылка-приглашение утрачивает силу. Вы больше не сможете выполнять вызовы API продавца и вам придется перезапустить процесс регистрации.

Почему моя регистрация разработчика завершается ошибкой "тестовый аккаунт"?

Developer registration is restricted to production (live) accounts to ensure integration stability. If you are using an account created specifically for testing that is marked as a "test account" in Merchant Center, the registration will be rejected.

Могу ли я зарегистрировать дополнительный аккаунт, которым буду управлять для клиента?

We strongly recommend registering the account that represents your business identity. Registering a client's sub-account is not allowed and is error-prone; if that client leaves your service or deletes the account, your entire API integration might be disabled.

Нужно ли подтверждать регистрацию моего сайта или достаточно просто верифицировать его?

For developer registration, the website must be verified . This proves you have administrative control over the site associated with the account. While claiming is required for other features like Shopping ads, verification is the primary requirement for API registration.

Управление проектами и клиентскими отношениями

Часто задаваемые вопросы об управлении аккаунтами и проектами:

Я работаю с несколькими аккаунтами Merchant Center. Нужно ли мне регистрировать каждый аккаунт Merchant Center, который я хочу использовать, в Merchant API?

No. If you are a third party developer or an agency that manages multiple merchants' accounts, you register your Google Cloud project with your own primary Merchant Center account, not with each of your merchants' accounts. In this way you represent the developer for all the API work you do for your merchants.

Я работаю с несколькими учетными записями Merchant Center. Как мне выбрать основную учетную запись Merchant Center?

Выбор основного аккаунта зависит от типа вашего бизнеса:

  • Marketplaces with an existing advanced account: If your business operates as a marketplace and already has an advanced account representing the entire platform, use this existing account ID as the primary Merchant Center Account.
  • Сервисы сравнения цен (CSS): Если вы являетесь сервисом сравнения цен, используйте свой уникальный идентификатор учетной записи CSS или идентификатор групповой учетной записи CSS.
  • Agencies, Developers, and other 3Ps: If you are a 3P business such as an agency or third-party developer that manages multiple merchant accounts and lack a single Merchant Center ID representing your business, you should create a new, primary Merchant Center Account and request converting it to an advanced account .

Once your Google Cloud project is registered to your primary Merchant Center account, you can use that same project to manage any other Merchant Center account you have access to, without needing to register those accounts individually.

Я использую несколько проектов Google Cloud. Нужно ли регистрировать каждый из них?

Yes. Since the registration process links the calling Google Cloud project, you must perform the registerGcp call from each Google Cloud project you use to make API calls.

A single Google Cloud project can only be registered to exactly one Merchant Center account at a time. However, a single Merchant Center account can have multiple Google Cloud projects registered to it. Similarly, you can use the same developer email address to perform multiple registrations, across multiple Google Cloud projects or multiple Merchant Centers.

Что произойдет, если я зарегистрирую проект Google Cloud с несколькими учетными записями Merchant Center?

Попытка зарегистрировать проект Google Cloud, который уже зарегистрирован в другом аккаунте Merchant Center, приведет к ошибке ALREADY_REGISTERED .

Как мне аутентифицировать вызов API для регистрации разработчиков?

To authenticate the developer registration API call for the Merchant API, you use credentials managed through a Google Cloud Project. You have two primary options for the identity that performs the authentication:

  • Google Account such as Gmail using OAuth 2.0 : This method uses OAuth 2.0 client credentials generated within your Google Cloud Project. The API call is authorized on behalf of a specific Google Account that the user signs into.
  • Service Account : This method uses a Google Cloud Service Account, which is a special type of Google Account intended for applications. Credentials for the Service Account are also managed within your Google Cloud project.

Для успешной регистрации разработчика, подтверждающая личность (учетная запись Google или сервисная учетная запись), должна соответствовать следующим критериям в Merchant Center:

  • Exists as a User in Merchant Center : The email address associated with the authenticating Google Account or the Service Account must be added as a user in the Merchant Center account you are registering.
  • Требуется роль администратора : этому пользователю должна быть назначена роль ADMIN в рамках конкретной учетной записи Merchant Center.

При выполнении вызовов API:

  • If you are using Direct API calls , you must obtain and provide a valid Access Token in the Authorization header. This token is generated by the OAuth 2.0 flow for a Google Account or the server-to-server authentication flow for a Service Account.
  • Клиентские библиотеки, предоставляемые Google, обычно берут на себя сложные задачи получения и обновления токенов доступа в рамках своей конфигурации.

The authenticating user might not be the same as the developer contact user . For more information, see What is the difference between the authenticating email and the one developer contact email?

Как часто мне нужно обновлять токены доступа?

Токены доступа как для служебных учетных записей, так и для OAuth 2.0 обычно истекают через 1 час. Однако механизм получения нового токена зависит от используемого метода аутентификации:

  • Для создания нового токена доступа при необходимости учетные записи служб используют закрытый ключ или учетные данные среды .
  • В потоках OAuth 2.0 используется refresh_token для вызова конечной точки токена Google OAuth2, чтобы получить новый токен доступа со сроком действия 1 час.

Мы настоятельно рекомендуем использовать официальные библиотеки аутентификации Google, которые автоматически выполняют эту ротацию, благодаря чему ваше приложение никогда не будет простаивать.

Пользователи и роли

Часто задаваемые вопросы о пользователях и ролях:

Обязательно ли наличие учетной записи электронной почты разработчика в Merchant Center?

No. If the registration email account does not exist already in Merchant Center, Merchant API creates the account in Merchant Center with the specified email in Pending status. If the developer email address belongs to an existing user in the Merchant Center account, they are automatically granted the API developer role.

Требуется ли для отправки контактного адреса разработчика права администратора в Merchant Center?

Нет. Пользователь Merchant Center, связанный с адресом электронной почты разработчика, по умолчанию получает роль API developer , необходимую для получения важных уведомлений. Однако у него минимальные права доступа в Merchant Center. Чтобы разрешить этому пользователю выполнять другие вызовы API или управлять настройками в пользовательском интерфейсе Merchant Center, необходимо предоставить ему дополнительные роли, такие как STANDARD или ADMIN . Дополнительную информацию о ролях Merchant Center см. в разделе «Типы доступа».

Какие права доступа имеет роль " API developer "?

The API developer role is a role with minimal rights in the Merchant Center. If you plan on using the developer contact email to authorize calls to Merchant API, we recommend adding ADMIN or STANDARD permissions to enable the user to perform API calls.

Нужно ли регистрировать каждого пользователя-разработчика или учетную запись службы, обращающиеся к API?

Нет. Регистрация разработчика привязана к проекту Google Cloud, используемому для выполнения вызовов API, а не к отдельным пользователям или учетным записям служб. После успешной регистрации проекта Google Cloud в вашей основной учетной записи Merchant Center вы можете использовать любую учетную запись, управляемую через связанный проект Google Cloud с помощью учетных данных OAuth или учетных записей служб, для авторизации вызовов API Merchant, при условии, что они существуют в вашем Merchant Center и им назначена роль ADMIN .

Как изменить адрес электронной почты для связи с разработчиками после первоначальной регистрации?

Для управления или изменения контактов используйте стандартную службу accounts.users или страницу «Доступ и услуги» в пользовательском интерфейсе Merchant Center, чтобы добавлять или удалять пользователей с ролью API developer .

Что произойдет, если последний пользователь с именем « API developer » будет удален из учетной записи Merchant Center?

Для предотвращения немедленных перебоев в предоставлении услуг предоставляется 30-дневный льготный период. В течение этого времени:

  • Администраторы получат три обязательных уведомления о начале работы сервиса по электронной почте (обычно за 30, 17 и 4 дня до начала блокировки).
  • Вызовы API будут по-прежнему функционировать в обычном режиме.
  • Если новый API developer не будет добавлен до истечения льготного периода, вызовы API из связанных проектов Google Cloud будут заблокированы с ошибкой AUTH_GCP_NOT_REGISTERED .

По истечении 30-дневного льготного периода вызовы API из связанных проектов Google Cloud блокируются и выдают ошибку AUTH_GCP_NOT_REGISTERED до тех пор, пока не будет восстановлен действительный контакт разработчика.

Что произойдет, если идентификатор Merchant Center, для которого была произведена регистрация разработчика, будет удален?

Don't delete the Merchant Center account used for developer registration while your integration is active. Deleting this account immediately breaks your integration, and you will no longer be able to perform API calls from the associated Google Cloud project.

If you must delete that Merchant Center account, you should first call the unregisterGcp method to safely remove the link, and only then proceed with deleting the Merchant Center ID. If you want to keep using Merchant API, you need to register with another Merchant Center ID right after you unregister the current one. Only then proceed with deleting the Merchant Center ID.

Почему я не вижу роль « API developer » в Merchant Center?

The API developer role is only visible in the Merchant Center UI after the developer registration is performed for the given Merchant Center account. Merchant Center accounts without registrations don't see the API developer role.

Особые варианты использования

Часто задаваемые вопросы о специальных вариантах использования:

I am an agency or a third-party developer managing multiple merchant accounts. What is the best way to set this up?

Third party developers and agencies should maintain their own primary Merchant Center account and register all of their Google Cloud projects to that single, centralized account. Don't register your Google Cloud project with each individual merchant's account.

Как работает регистрация в Google App Scripts?

App Scripts usually run on a default Google Cloud project. You must register this default Google Cloud ID with your Merchant Center account. The Google Cloud ID is obtained automatically by the API, so you don't need to provide it as a parameter.

Can I check if a Merchant Center ID is registered to a specific Google Cloud project ID?

Yes. You can check which Merchant Center ID is registered to a specific Google Cloud project by using the getAccountForGcpRegistration method. To remove a Google Cloud project link to your Merchant Center account, use the unregisterGcp method.