Перенос управления аккаунтом

Accounts API разделен на набор ресурсов, которые позволяют более эффективно управлять аккаунтами Merchant Center и точнее контролировать их различные аспекты.

В этом руководстве описаны основные изменения и рассказывается, как перенести существующую интеграцию управления аккаунтом из Content API for Shopping в Merchant API.

От одного ресурса к нескольким

В Content API for Shopping ресурс Account был монолитным объектом, содержащим все данные – от названия аккаунта и URL сайта до списков пользователей и информации о компании.

В Merchant API он разделен на несколько более мелких и специализированных ресурсов. Это изменение позволяет выполнять более целенаправленные и эффективные вызовы API. Например, чтобы изменить только адрес компании, теперь нужно отправить запрос PATCH к ресурсу BusinessInfo, а не обновлять весь объект Account.

Ниже приведено краткое описание того, как концепции из ресурса Content API for Shopping Account сопоставляются с новыми ресурсами в Merchant API.

Новые возможности

В Merchant API также есть новые возможности для управления аккаунтом, которых не было в Content API for Shopping:

  • Условия использования. Получайте и принимайте Условия использования программным путем с помощью ресурсов TermsOfService и TermsOfServiceAgreementState.
  • Создание аккаунтов. Метод accounts.createAndConfigure теперь поддерживает создание аккаунтов со связями (например, accountManagement), настройку alias и отмену подтверждения адреса электронной почты с помощью поля user.verificationMailSettings.verificationMailMode в пользу подтверждения на основе API с помощью нового метода accounts.verifySelf.
  • Доступ к аккаунту по псевдониму. Доступ к аккаунтам с использованием формата providerId~accountAlias. Это позволяет компаниям, управляющим несколькими аккаунтами, использовать собственные идентификаторы аккаунтов.

Запросы

В таблице ниже сравниваются URL запросов для распространенных задач по управлению аккаунтом в Content API for Shopping и Merchant API.

Описание запроса Content API for Shopping Merchant API
Получить аккаунт GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/accounts/{accountId} GET https://merchantapi.googleapis.com/accounts/v1/accounts/{account}
Как получить аккаунт по псевдониму Недоступно напрямую GET https://merchantapi.googleapis.com/accounts/v1/accounts/{provider}~{alias}
Как посмотреть список дочерних аккаунтов GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/accounts GET https://merchantapi.googleapis.com/accounts/v1/accounts/{provider}:listSubaccounts
Создать дочерний аккаунт POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/accounts POST https://merchantapi.googleapis.com/accounts/v1/accounts:createAndConfigure
Обновить данные аккаунта PUT https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/accounts/{accountId} PATCH для нужного ресурса. Например, чтобы изменить название аккаунта, выполните следующие действия: PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{account}
Удалить дочерний аккаунт DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/accounts/{accountId} DELETE https://merchantapi.googleapis.com/accounts/v1/accounts/{account}
Заявить права на сайт POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/accounts/{accountId}/claimwebsite POST https://merchantapi.googleapis.com/accounts/v1/accounts/{account}/homepage:claim
Связать аккаунты POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/accounts/{accountId}/link POST https://merchantapi.googleapis.com/accounts/v1/accounts/{account}/services:propose

Управление основной информацией об аккаунте

Ресурс Account в Merchant API содержит основные сведения об аккаунте Merchant Center, такие как его название, идентификатор и базовые настройки.

Запросить сравнение

Описание запроса Content API for Shopping Merchant API
Получить сведения об аккаунте GET /content/v2.1/{merchantId}/accounts/{accountId} (доступ к основным атрибутам, таким как name, adult_content) GET /accounts/v1/accounts/{account}
Как создать дочерний аккаунт POST /content/v2.1/{merchantId}/accounts POST /accounts/v1/accounts:createAndConfigure
Обновите сведения об аккаунте PUT /content/v2.1/{merchantId}/accounts/{accountId} (обновление основных атрибутов) PATCH /accounts/v1/accounts/{account}
Как удалить дочерний аккаунт DELETE /content/v2.1/{merchantId}/accounts/{accountId} DELETE /accounts/v1/accounts/{account}

Подробное сравнение полей

Content API for Shopping (Account) Merchant API (Account) Примечания
id account_id Цифровой идентификатор теперь используется только для вывода. Основной идентификатор – это ресурс name.
name account_name Человекочитаемое название аккаунта.
language language_code Название поля изменено на language_code.

Управление информацией о компании

Ресурс BusinessInfo позволяет управлять общедоступной информацией о вашей компании, например адресом и контактными данными службы поддержки. Он заменяет объект businessInformation в Content API for Shopping.

Запросить сравнение

Описание запроса Content API for Shopping Merchant API
Получить информацию о компании GET /content/v2.1/{merchantId}/accounts/{accountId} (доступ к атрибуту business_information) GET /accounts/v1/accounts/{account}/businessInfo
Обновить информацию о компании PUT /content/v2.1/{merchantId}/accounts/{accountId} (обновление атрибута business_information) PATCH /accounts/v1/accounts/{account}/businessInfo

Подробное сравнение полей

Content API for Shopping (business_information) Merchant API (BusinessInfo) Примечания
phone_number phone Теперь это поле называется phone и использует google.type.PhoneNumber.
customer_service.url customer_service.uri Название поля изменено на uri.

Как настроить главную страницу

Чтобы управлять URL сайта магазина, а также подтверждать его и заявлять на него права, используйте ресурс Homepage. Это поле заменяет поле websiteUrl и метод accounts.claimwebsite из Content API for Shopping.

Запросить сравнение

Описание запроса Content API for Shopping Merchant API
Получить URL главной страницы GET /content/v2.1/{merchantId}/accounts/{accountId} (доступ к атрибуту website_url) GET /accounts/v1/accounts/{account}/homepage
Изменить URL главной страницы PUT /content/v2.1/{merchantId}/accounts/{accountId} (обновление атрибута website_url) PATCH /accounts/v1/accounts/{account}/homepage
Заявить права на главную страницу POST /content/v2.1/{merchantId}/accounts/{accountId}/claimwebsite POST /accounts/v1/accounts/{account}/homepage:claim
Отказаться от прав на главную страницу Недоступно POST /accounts/v1/accounts/{account}/homepage:unclaim

Подробное сравнение полей

Content API for Shopping (Account) Merchant API (Homepage) Примечания
website_url uri URL главной страницы магазина.
Недоступно напрямую claimed Логическое поле, которое принимает значение true, если права на главную страницу заявлены.

Управление пользователями

Ресурс User позволяет управлять доступом к аккаунту Merchant Center. Это значение заменяет массив users в ресурсе Account. Ключевое отличие заключается в процессе создания пользователей. В Merchant API при добавлении пользователя отправляется приглашение. Пользователь должен принять приглашение, чтобы получить доступ к аккаунту.

Запросить сравнение

Описание запроса Content API for Shopping Merchant API
Получение списка пользователей GET /content/v2.1/{merchantId}/accounts/{accountId} (доступ к атрибуту users) GET /accounts/v1/accounts/{account}/users
Как создать пользователя PUT /content/v2.1/{merchantId}/accounts/{accountId} (обновление атрибута users) POST /accounts/v1/accounts/{account}/users
Как изменить профиль пользователя PUT /content/v2.1/{merchantId}/accounts/{accountId} (обновление атрибута users) PATCH /accounts/v1/accounts/{account}/users/{email}
Удаление пользователя PUT /content/v2.1/{merchantId}/accounts/{accountId} (обновление атрибута users) DELETE /accounts/v1/accounts/{account}/users/{email}

Подробное сравнение полей

Content API for Shopping (объект массива users) Merchant API (ресурс User) Примечания
email_address name (в формате accounts/{account}/users/{email}) Адрес электронной почты пользователя теперь является частью названия ресурса.
admin, order_manager, reporting_manager и т. д. access_rights Права доступа теперь объединены в повторяющееся поле перечисления.
Недоступно state Новое поле, доступное только для вывода, которое указывает, является ли пользователь PENDING или VERIFIED.

Управление связями между аккаунтами и сервисами

В Content API for Shopping связи управлялись с помощью accounts.link. В Merchant API используется более явная модель с ресурсами AccountService и AccountRelationship, требующая процесса подтверждения (предложение и принятие).

Запросить сравнение

Описание запроса Content API for Shopping Merchant API
Связать аккаунты POST /content/v2.1/{merchantId}/accounts/{accountId}/link POST /accounts/v1/accounts/{account}/services:propose
Список связанных аккаунтов GET /content/v2.1/{merchantId}/accounts/{accountId}/listlinks GET /accounts/v1/accounts/{account}/relationships и GET /accounts/v1/accounts/{account}/services

Подробное сравнение полей

Content API for Shopping (AccountLink) Merchant API (AccountService, AccountRelationship) Примечания
linked_account_id provider (в AccountService) Идентификатор аккаунта, предоставляющего услугу.
service service_type (в AccountService) Тип предоставляемой услуги (например, ACCOUNT_AGGREGATION).
status handshake.approval_state (в AccountService) Статус связи (например, PENDING, ESTABLISHED).

Налоговые настройки аккаунта

Сервис accounttax из Content API for Shopping недоступен в Merchant API. Указывать налог с продаж для США больше не требуется. Подробнее читайте в статье Обновление спецификации сведений о товарах в Merchant Center – 2025 год.

Управление отличительными особенностями компании

Используйте ресурс BusinessIdentity, чтобы самостоятельно заявить атрибуты своей компании. Он заменяет объект businessIdentity в Content API for Shopping.

Запросить сравнение

Описание запроса Content API for Shopping Merchant API
Получить информацию о компании GET /content/v2.1/{merchantId}/accounts/{accountId} (доступ к атрибуту business_identity) GET /accounts/v1/accounts/{account}/businessIdentity
Обновить отличительные атрибуты компании PUT /content/v2.1/{merchantId}/accounts/{accountId} (обновление атрибута business_identity) PATCH /accounts/v1/accounts/{account}/businessIdentity

Подробное сравнение полей

Content API for Shopping (business_identity) Merchant API (BusinessIdentity) Примечания
black_owned.self_identified (логическое значение) black_owned.identity_declaration (перечисление) Логическое значение заменено перечислением (SELF_IDENTIFIES_AS, DOES_NOT_SELF_IDENTIFY_AS) для более явного объявления. Это относится ко всем атрибутам идентичности.
include_for_promotions (логическое значение) promotions_consent (перечисление) Глобальное логическое значение заменено более описательным перечислением (PROMOTIONS_CONSENT_GIVEN, PROMOTIONS_CONSENT_DENIED).

Получение списка аккаунтов

В Content API for Shopping единственным типом расширенного аккаунта был мультиаккаунт (MCA), и в нем был метод accounts.list для получения списка аккаунтов, связанных с этим мультиаккаунтом. Расширенные аккаунты в Merchant API обладают гораздо более широкими возможностями, позволяя использовать больше типов аккаунтов и связей. Чтобы упростить переход для расширенных аккаунтов, в Merchant API есть метод accounts.listSubaccounts, который является прямым эквивалентом метода accounts.list в Content API for Shopping. Мы представляем новый, более мощный метод accounts.list, который позволяет использовать расширенную фильтрацию аккаунтов.

Запросить сравнение

Описание запроса Content API for Shopping Merchant API
Как получить список аккаунтов в расширенном аккаунте GET /content/v2.1/{merchantId}/accounts GET /accounts/v1/accounts/{providerId}:listSubaccounts
Как получить список всех доступных аккаунтов Недоступно GET /accounts/v1/accounts

Подробное сравнение полей (параметры запроса)

Content API for Shopping (accounts.list) Merchant API (accounts.listSubaccounts) Примечания
merchant_id (параметр пути) provider (параметр пути) Идентификатор расширенного аккаунта в формате accounts/{account}.
max_results page_size Максимальное количество аккаунтов, которые нужно вернуть.