Перенос настроек главной страницы

В Merchant API есть специальный ресурс Homepage. Этот ресурс предоставляет новые методы управления заявкой на главную страницу, предлагая возможности, выходящие за рамки классического Content API for Shopping.

Чтобы получить доступ к функциям для интернет-магазина, нужно сначала подтвердить право собственности на сайт, а затем заявить права на него в аккаунте. Чтобы завершить настройку, используйте accounts.homepage.claim.

Основные различия

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

  • Специальный ресурс. Merchant API предоставляет отдельный ресурс Homepage (accounts.homepage) для всех операций, связанных с главной страницей. В Content API for Shopping для заявления прав использовался метод accounts.claimwebsite, URL главной страницы (website_url) был частью ресурса Account, а статус заявления прав (website_claimed) – частью ресурса AccountStatus.
  • Точные методы. Merchant API предлагает специальные методы для:
    • Получение сведений о главной странице: accounts.homepage.getHomepage
    • Обновите URI главной страницы: accounts.homepage.updateHomepage.
    • Заявите права на главную страницу: accounts.homepage.claim.
    • Отмена заявления прав на главную страницу: accounts.homepage.unclaim. В Content API for Shopping для заявления прав использовался метод accounts.claimwebsite, для указания URL (и отмены заявления прав путем указания пустого URL) – accounts.update, а для получения URL и статуса заявления прав – accounts.get и accountstatuses.get соответственно.
  • Централизованная информация. Ресурс Homepage Merchant API содержит как uri (URL главной страницы), так и статус claimed. Все методы, работающие с ресурсом Homepage, возвращают этот ресурс, предоставляя немедленную обратную связь о текущем состоянии. В Content API for Shopping метод accounts.claimwebsite не возвращал обновленный статус, поэтому требовались отдельные вызовы.
  • Явный отказ. В Content API for Shopping отказ обычно выполнялся путем обновления Account.website_url до пустой строки. В Merchant API есть специальный метод homepage.unclaim.
  • Перезапись заявки. Оба API поддерживают параметр overwrite, который позволяет перенести заявку из другого аккаунта, если право собственности подтверждено.

Запросы

В Merchant API используются разные конечные точки RESTful для управления разными аспектами главной страницы.

Описание запроса Content API for Shopping Merchant API
Как получить сведения о главной странице accounts.get (Account.website_url), accountstatuses.get (AccountStatus.website_claimed) GET /accounts/v1/accounts/{account}/homepage
Обновите URI главной страницы accounts.update (настройка Account.website_url) PATCH /accounts/v1/accounts/{account}/homepage
Заявите права на главную страницу или подтвердите ее повторно POST /content/v2.1/{merchantId}/accounts/{accountId}/claimwebsite (выполнено Account.website_url действие с помощью accounts.update) POST /accounts/v1/accounts/{account}/homepage:claim
Отказ от ответственности на главной странице accounts.update (задайте для Account.website_url пустую строку) POST /accounts/v1/accounts/{account}/homepage:unclaim

Идентификаторы

В Merchant API упрощена идентификация ресурсов.

Описание идентификатора Content API for Shopping Merchant API
Идентификатор аккаунта для доступа к ресурсу merchantId (расширенный аккаунт) и accountId (дочерний аккаунт) в пути account (часть поля name, например accounts/{account_id}/homepage)
Идентификатор ресурса домашней страницы Неприменимо (неявно для ресурса Account) name: accounts/{account_id}/homepage (идентификатор дочернего ресурса Homepage)

Методы

Метод accounts.claimwebsite из Content API for Shopping, который был предназначен для заявления прав на сайт, теперь входит в более широкий набор функций ресурса Homepage Merchant API.

Метод Content API for Shopping Метод Merchant API Доступность и примечания
accounts.claimwebsite accounts.homepage.claim Напрямую инициирует или повторно проверяет заявление прав на сайт. Выполняет действия с uri, ранее заданным с помощью homepage.update. Содержит параметр overwrite. Возвращает ресурс Homepage с текущим статусом uri и claimed.
accounts.get (Account.website_url), accountstatuses.get (AccountStatus.website_claimed) accounts.homepage.getHomepage Новый специальный метод для получения текущей главной страницы uri и ее статуса claimed за один вызов.
accounts.update (чтобы задать Account.website_url) accounts.homepage.updateHomepage Новый специальный метод для настройки или изменения главной страницы uri.
accounts.update (в качестве обходного решения для отказа от прав в поле Account.website_url задана пустая строка) accounts.homepage.unclaim Новый специальный метод, позволяющий явно отказаться от прав на главную страницу.

Подробные изменения полей

Структура информации на главной странице и доступ к ней значительно изменились. Теперь в Merchant API используется ресурс Homepage.

Content API for Shopping Merchant API Описание
merchantId (параметр пути для accounts.claimwebsite) name (параметр пути для методов Homepage, формат: accounts/{account}/homepage) Часть account строки name в Merchant API соответствует accountId из Content API for Shopping.
accountId (параметр пути для accounts.claimwebsite) name (параметр пути для методов Homepage, формат: accounts/{account}/homepage) Идентификатор аккаунта, для которого настраивается главная страница.
overwrite (логическое значение в теле ContentAccountsClaimwebsiteRequest и AccountsCustomBatchRequestEntry) ClaimHomepageRequest.overwrite (логическое значение в теле запроса homepage.claim) Необязательное поле. Если задано значение true, то будут предприняты попытки заявить права на сайт. При этом существующие права другого аккаунта могут быть аннулированы, если запрашивающий аккаунт сможет подтвердить право собственности.
Account.website_url (поле в ресурсе Account, задается с помощью accounts.update, считывается с помощью accounts.get) Homepage.uri (поле в ресурсе Homepage) URI (URL) главной страницы магазина. В Merchant API это отдельное поле в ресурсе Homepage. Он задается с помощью accounts.homepage.updateHomepage и возвращается всеми методами Homepage.
AccountStatus.website_claimed (поле в ресурсе AccountStatus, чтение с помощью accountstatuses.get) Homepage.claimed (логическое поле output_only в ресурсе Homepage) Указывает, заявлены ли права на uri и подтвержден ли он. Этот статус доступен в ресурсе Homepage, который возвращается всеми связанными с ним методами Merchant API.
Н/Д UpdateHomepageRequest.update_mask (параметр тела запроса accounts.homepage.updateHomepage) Необязательная маска поля для homepage.update, указывающая, какие поля (например, uri) ресурса Homepage обновляются.