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

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

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

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

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

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

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

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

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

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

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

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

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

Поле «Адрес электронной почты разработчика» в методе registerGcp является необязательным. Если при регистрации вы не указываете значение в этом поле, необходимо создать пользователя с ролью API_DEVELOPER либо в пользовательском интерфейсе Merchant Center, либо вызвав метод accounts.users.create .

Обязательно ли указывать адрес электронной почты разработчика в учетной записи 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

Выполните запрос на регистрацию в контексте безопасности аутентифицирующего пользователя, используя прямые вызовы API или клиентские библиотеки. Укажите адрес электронной почты для связи с разработчиком, например, developer@email.com .

Если запрос на регистрацию пройден успешно, в вашем Merchant Center будет создан пользователь с указанным адресом электронной почты разработчика и ролью API_DEVELOPER . В ответ вы получите ресурс DeveloperRegistration .

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

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

  • Аутентификация по электронной почте : Обычно для авторизации запросов к API продавца используется адрес электронной почты, связанный с вашей учетной записью Google или учетной записью сервиса, при условии, что:
    • Она находится в вашем Торговом центре и имеет роль ADMIN .
    • В проекте Google Cloud, где включен Merchant API, размещается клиент OAuth или учетная запись службы, связанная с адресом электронной почты, который авторизует вызовы API.
  • Адрес электронной почты разработчика : Адрес электронной почты разработчика также должен быть связан с учетной записью Google, но он служит основным контактным лицом для важных уведомлений о сервисах и обновлениях API от Google. Он может принадлежать пользователю или группе пользователей. По умолчанию ему присваивается роль API developer в Merchant Center.

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

Да. У указанного вами адреса электронной почты разработчика есть 14 дней, чтобы принять приглашение. Регистрация считается завершенной только после того, как он примет приглашение. Однако в течение этого времени вы можете выполнять вызовы API.

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

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

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

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

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

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

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

  • Торговые площадки с уже существующим расширенным аккаунтом: Если ваша компания работает как торговая площадка и уже имеет расширенный аккаунт , представляющий всю платформу, используйте этот существующий идентификатор аккаунта в качестве основного аккаунта Merchant Center.
  • Сервисы сравнения цен (CSS): Если вы являетесь сервисом сравнения цен, используйте свой уникальный идентификатор учетной записи CSS или идентификатор групповой учетной записи CSS.
  • Агентства, разработчики и другие сторонние поставщики услуг: Если вы являетесь сторонним поставщиком услуг, например, агентством или сторонним разработчиком, управляющим несколькими торговыми счетами, и у вас нет единого идентификатора Merchant Center, представляющего вашу компанию, вам следует создать новый основной аккаунт Merchant Center и запросить его преобразование в расширенный аккаунт .

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

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

Да. Поскольку процесс регистрации связывает вызывающий проект Google Cloud, вам необходимо выполнить вызов registerGcp из каждого проекта Google Cloud, который вы используете для выполнения вызовов API.

Один проект Google Cloud может быть зарегистрирован только в одном аккаунте Merchant Center одновременно. Однако к одному аккаунту Merchant Center может быть зарегистрировано несколько проектов Google Cloud. Аналогично, вы можете использовать один и тот же адрес электронной почты разработчика для выполнения нескольких регистраций в нескольких проектах Google Cloud или нескольких аккаунтах Merchant Center.

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

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

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

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

  • Использование учетной записи Google, например Gmail, с OAuth 2.0 : Этот метод использует учетные данные клиента OAuth 2.0, сгенерированные в вашем проекте Google Cloud. Вызов API авторизуется от имени конкретной учетной записи Google, в которую входит пользователь.
  • Сервисный аккаунт : Этот метод использует сервисный аккаунт Google Cloud, который представляет собой особый тип аккаунта Google, предназначенный для приложений. Учетные данные для сервисного аккаунта также управляются в рамках вашего проекта Google Cloud.

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

  • Наличие учетной записи пользователя в Merchant Center : Адрес электронной почты, связанный с аутентифицирующей учетной записью Google или учетной записью службы, должен быть добавлен в качестве пользователя в регистрируемую вами учетную запись Merchant Center.
  • Требуется роль администратора : этому пользователю должна быть назначена роль ADMIN в рамках конкретной учетной записи Merchant Center.

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

  • Если вы используете прямые вызовы API , вам необходимо получить и предоставить действительный токен доступа в заголовке Authorization . Этот токен генерируется в процессе аутентификации OAuth 2.0 для учетной записи Google или в процессе аутентификации между серверами для учетной записи службы.
  • Клиентские библиотеки, предоставляемые Google, обычно берут на себя сложные задачи получения и обновления токенов доступа в рамках своей конфигурации.

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

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

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

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

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

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

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

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

Нет. Если адрес электронной почты, указанный при регистрации, еще не существует в Merchant Center, Merchant API создаст учетную запись в Merchant Center с указанным адресом электронной почты в статусе «Ожидание». Если адрес электронной почты разработчика принадлежит существующему пользователю в учетной записи Merchant Center, ему автоматически присваивается роль API_DEVELOPER .

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

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

Какие права доступа имеет роль "Разработчик API"?

Роль API Developer — это роль с минимальными правами в Merchant Center. Если вы планируете использовать адрес электронной почты разработчика для авторизации вызовов к Merchant API, мы рекомендуем добавить права ADMIN или STANDARD права, чтобы разрешить пользователю выполнять вызовы API.

Нужно ли регистрировать каждого пользователя-разработчика или учетную запись службы, обращающиеся к 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, для которого была произведена регистрация разработчика, будет удален?

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

Если вам необходимо удалить учетную запись Merchant Center, сначала следует вызвать метод unregisterGcp для безопасного удаления связи, и только после этого приступать к удалению идентификатора Merchant Center. Если вы хотите продолжать использовать Merchant API, вам необходимо зарегистрироваться с другим идентификатором Merchant Center сразу после отмены регистрации текущего. Только после этого приступайте к удалению идентификатора Merchant Center.

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

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

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

Сторонним разработчикам и агентствам следует поддерживать собственную основную учетную запись в Merchant Center и регистрировать все свои проекты Google Cloud в этой единой централизованной учетной записи. Не регистрируйте свой проект Google Cloud в учетной записи каждого отдельного продавца.

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

Скрипты приложений обычно запускаются в проекте Google Cloud по умолчанию. Вам необходимо зарегистрировать этот идентификатор Google Cloud по умолчанию в своей учетной записи Merchant Center. Идентификатор Google Cloud получается автоматически API, поэтому вам не нужно указывать его в качестве параметра.

Могу ли я проверить, зарегистрирован ли идентификатор Merchant Center для конкретного идентификатора проекта Google Cloud?

Да. Вы можете проверить, какой идентификатор Merchant Center зарегистрирован для конкретного проекта Google Cloud, используя метод getAccountForGcpRegistration . Чтобы удалить связь проекта Google Cloud с вашей учетной записью Merchant Center, используйте метод unregisterGcp .