В этом разделе вы найдете ответы на часто задаваемые вопросы о регистрации разработчиков в Merchant 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.
На схеме выше показаны два процесса аутентификации и авторизации для вызова регистрации. Можно выбрать один из следующих вариантов:
- Использование 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:
- Аутентификация электронной почты. Обычно для авторизации запросов к Merchant API используется адрес электронной почты, связанный с аккаунтом Google или сервисным аккаунтом. При этом должны выполняться следующие условия:
- Он существует в вашем аккаунте Merchant Center и имеет роль "
ADMIN". - В облачном проекте Google Cloud, в котором включен Merchant API, размещается клиент OAuth или сервисный аккаунт, связанный с адресом электронной почты, который авторизует вызовы API.
- Он существует в вашем аккаунте Merchant Center и имеет роль "
- Контактный адрес электронной почты разработчика. Контактный адрес электронной почты разработчика также должен быть связан с аккаунтом Google. На него будут приходить важные объявления о сервисе и обновлениях API от Google. Он может принадлежать пользователю или группе пользователей. По умолчанию ему назначается роль
API developerв Merchant Center.
Обязательно ли принимать приглашение, отправленное на контактный адрес электронной почты разработчика?
Да. У получателя приглашения будет 14 дней, чтобы принять его. Регистрация будет завершена только после того, как они примут приглашение. Однако в это время можно выполнять вызовы API.
Если приглашение не будет принято в указанный срок, ссылка на него станет недействительной. Вы больше не можете выполнять вызовы Merchant API и должны перезапустить процесс регистрации.
Почему при регистрации аккаунта разработчика возникает ошибка, связанная с тестовым аккаунтом?
Регистрация разработчиков ограничена рабочими аккаунтами, чтобы обеспечить стабильность интеграции. Если вы используете аккаунт, созданный специально для тестирования и помеченный в Merchant Center как тестовый, регистрация будет отклонена.
Можно ли зарегистрировать дочерний аккаунт, которым я управляю для клиента?
Мы настоятельно рекомендуем зарегистрировать аккаунт, который представляет вашу компанию. Регистрировать дочерний аккаунт клиента не разрешается, и это может привести к ошибкам. Если клиент перестанет пользоваться вашим сервисом или удалит аккаунт, вся ваша интеграция с API может быть отключена.
Нужно ли заявлять права на сайт или достаточно его подтвердить?
Для регистрации разработчика сайт должен быть подтвержден. Это подтверждает, что у вас есть права администратора сайта, связанного с аккаунтом. Заявлять права на сайт нужно для работы с другими функциями, например товарной рекламой, а для регистрации API достаточно подтвердить право собственности.
Управление аккаунтами и проектами
Часто задаваемые вопросы об управлении аккаунтами и проектами:
Я работаю с несколькими аккаунтами Merchant Center. Нужно ли регистрировать каждый аккаунт Merchant Center, который я хочу использовать с Merchant API?
Нет. Если вы сторонний разработчик или агентство, которое управляет аккаунтами нескольких продавцов, вам нужно зарегистрировать облачный проект Google Cloud в своем основном аккаунте Merchant Center, а не в аккаунтах каждого из продавцов. Таким образом, вы будете представлять разработчика при работе с API для своих продавцов.
Я работаю с несколькими аккаунтами Merchant Center. Как выбрать основной аккаунт Merchant Center?
Выбор основного аккаунта зависит от типа вашей компании:
- Торговые площадки с расширенным аккаунтом. Если у вас уже есть расширенный аккаунт, который представляет всю платформу, используйте его идентификатор аккаунта в качестве основного аккаунта Merchant Center.
- Сервисы сравнения цен (ССЦ). Если вы представляете ССЦ, укажите уникальный идентификатор аккаунта ССЦ или группы ССЦ.
- Агентства, разработчики и другие сторонние компании. Если вы представляете стороннюю компанию, например агентство или стороннего разработчика, которая управляет несколькими аккаунтами продавцов и не имеет единого идентификатора 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 для регистрации разработчика в Merchant 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 обычно действуют в течение часа. Однако способ получения нового токена зависит от используемого метода аутентификации:
- Сервисные аккаунты используют закрытый ключ или учетные данные среды, чтобы при необходимости создавать новый токен доступа.
- В процессах OAuth 2.0 используется refresh_token для вызова конечной точки токена Google OAuth2, чтобы получить новый токен доступа на один час.
Мы настоятельно рекомендуем использовать официальные библиотеки Google Auth, которые выполняют эту ротацию автоматически, чтобы ваше приложение никогда не простаивало.
Пользователи и роли
Часто задаваемые вопросы о пользователях и ролях:
Должен ли аккаунт разработчика уже существовать в Merchant Center?
Нет. Если аккаунта с указанным адресом электронной почты ещё нет в Merchant Center, Merchant API создаст его со статусом "Ожидает подтверждения". Если адрес электронной почты разработчика принадлежит существующему пользователю в аккаунте Merchant Center, ему автоматически назначается роль API developer.
Должен ли контактный адрес электронной почты разработчика иметь права администратора в Merchant Center?
Нет. Пользователь Merchant Center, связанный с контактным адресом электронной почты разработчика, по умолчанию получает роль API developer, которая необходима для получения важных уведомлений. Однако у него минимальные разрешения в Merchant Center. Чтобы пользователь мог выполнять другие вызовы API или управлять настройками в интерфейсе Merchant Center, ему нужно предоставить дополнительные роли, например STANDARD или ADMIN. Подробнее о ролях в Merchant Center рассказывается в статье "Типы доступа".
Какие разрешения есть у роли "API developer"?
Роль API developer предоставляет минимальные права в Merchant Center. Если вы планируете использовать контактный адрес электронной почты разработчика для авторизации вызовов Merchant API, рекомендуем добавить разрешения ADMIN или STANDARD, чтобы пользователь мог выполнять вызовы API.
Нужно ли регистрировать каждого пользователя-разработчика или сервисный аккаунт, вызывающий API?
Нет. Регистрация разработчика связана с облачным проектом Google Cloud, который используется для вызовов API, а не с отдельными пользователями или сервисными аккаунтами. После того как проект Google Cloud будет зарегистрирован в основном аккаунте Merchant Center, вы сможете использовать любой идентификатор, управляемый через связанный проект Google Cloud, с учетными данными OAuth или сервисными аккаунтами, чтобы авторизовать вызовы Merchant API. При этом идентификаторы должны быть в Merchant Center и им должна быть назначена роль ADMIN.
Как изменить контактный адрес электронной почты разработчика после регистрации?
Чтобы управлять контактами, используйте стандартный сервис accounts.users или страницу "Доступ и сервисы" в интерфейсе Merchant Center. На ней можно добавлять и удалять пользователей с ролью API developer.
Что произойдет, если из аккаунта Merchant Center будет удален последний пользователь с ролью "API developer"?
Чтобы избежать немедленного прекращения работы сервиса, запускается 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.
Почему я не вижу роль "API developer" в Merchant Center?
Роль API developer видна в интерфейсе Merchant Center только после того, как для аккаунта Merchant Center будет выполнена регистрация разработчика. В аккаунтах Merchant Center без регистрации роль API developer не отображается.
Особые случаи
Часто задаваемые вопросы об особых случаях:
Я представляю агентство или стороннего разработчика, управляющего несколькими аккаунтами продавцов. Как лучше всего настроить этот параметр?
Сторонние разработчики и агентства должны иметь собственный основной аккаунт Merchant Center и регистрировать все свои проекты Google Cloud в этом едином централизованном аккаунте. Не регистрируйте облачный проект Google Cloud в аккаунте каждого продавца.
Как работает регистрация для Google Apps Script?
Обычно скрипты Apps Script выполняются в проекте Google Cloud по умолчанию. Вам нужно зарегистрировать этот идентификатор Google Cloud по умолчанию в аккаунте Merchant Center. Идентификатор Google Cloud определяется API автоматически, поэтому его не нужно указывать в качестве параметра.
Можно ли проверить, зарегистрирован ли идентификатор Merchant Center в определенном идентификаторе проекта Google Cloud?
Да. Чтобы узнать, какой идентификатор Merchant Center зарегистрирован для определенного проекта Google Cloud, используйте метод getAccountForGcpRegistration. Чтобы отменить связь проекта Google Cloud с аккаунтом Merchant Center, используйте метод unregisterGcp.
Переход с Content API на Merchant API для пользователей приложения Google & YouTube в Shopify
Часто задаваемые вопросы о переходе с Content API на Merchant API для сторонних платформ и приложений
Нужно ли что-то делать, чтобы перейти с Content API на Merchant API?
Ничего предпринимать не нужно. Если вы управляете фидами Merchant Center через приложение Google & YouTube в Shopify, перенос данных из Content API в Merchant API будет выполнен Google.
Изменятся ли идентификаторы товаров после перехода на Merchant API?
Нет, переход на Merchant API не влияет на идентификаторы товаров в фидах Merchant Center.
Нужно ли переустанавливать приложение Google & YouTube в Shopify, чтобы завершить переход?
Для завершения перехода от вас не требуется никаких действий. Переустанавливать приложение Google & YouTube не нужно.
Почему в Merchant Center по-прежнему есть источники данных Content API?
Источники данных Content API могут по-прежнему показываться в Merchant Center во время перехода на Merchant API. Это нормально, и вам не нужно ничего делать.