Переход с accountstatuses на Account Issues

Изменился способ получения информации о проблемах на уровне аккаунта, которые могут повлиять на ваши товары и репутацию аккаунта. В отличие от ресурса accountstatuses в Content API for Shopping, в Merchant API есть специальный ресурс AccountIssue, который предоставляет более структурированную и подробную информацию.

Подробную информацию о том, как использовать новую функцию, вы найдете в руководстве по просмотру проблем с аккаунтом.

Примечание. В Merchant API проблемы на уровне аккаунта и агрегированные статусы товаров разделены. Также ознакомьтесь с руководством по переходу с accountstatuses на агрегированные статусы товаров.

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

Вот основные улучшения и отличия ресурса AccountIssue в Merchant API:

  • Специальный ресурс. Проблемы с аккаунтом – это отдельный ресурс. В Content API for Shopping проблемы на уровне аккаунта были вложенным полем в общем ресурсе AccountStatus. С помощью Merchant API вы можете размещать их напрямую, используя метод accounts.issues.list.
  • Структурированные данные о влиянии. Ресурс AccountIssue содержит подробное поле impactedDestinations. В этом поле вы найдете подробную информацию о том, на что влияет проблема, в том числе о целевом сервисе (например, товарной рекламе), регионе и серьезности проблемы в этом регионе.
  • Перечисление для степени серьезности. Поле severity теперь является перечислением (со значениями CRITICAL, ERROR, SUGGESTION), что упрощает программную обработку по сравнению со строковыми значениями в Content API for Shopping.
  • Стандартизированные идентификаторы. У каждой проблемы с аккаунтом есть уникальный полный ресурс name в формате accounts/{ACCOUNT_ID}/issues/{ISSUE_ID}. Этот стандартизированный подход заменяет строку id из Content API for Shopping.
  • Поддержка локализации. Метод accounts.issues.list позволяет указать language_code, чтобы получать сведения о проблемах, например название и описание, на предпочитаемом языке. В Content API for Shopping это было невозможно.
  • Особенности расширенных аккаунтов. Если вы вызовете метод accounts.issues.list для расширенного аккаунта, то получите только проблемы, которые относятся непосредственно к нему. Проблемы в дочерних аккаунтах не возвращаются. В Content API for Shopping метод accountstatuses.list возвращает статусы всех дочерних аккаунтов. Чтобы получить информацию о проблемах во всех дочерних аккаунтах в Merchant API, нужно вызвать accounts.listSubaccounts, а затем accounts.issues.list для каждого дочернего аккаунта.

Запросы

В Merchant API можно посмотреть список проблем с определенным аккаунтом Merchant Center.

GET https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/issues

Сравнение URL запросов

Описание запроса Content API for Shopping Merchant API
Как получить список проблем на уровне аккаунта для одного аккаунта GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/accountstatuses/{ACCOUNT_ID} GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/issues
Как получить список проблем на уровне аккаунта для всех дочерних аккаунтов расширенного аккаунта GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/accountstatuses Недоступно. Вам нужно перебрать дочерние аккаунты.

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

В Merchant API изменились идентификаторы аккаунтов и проблем.

Сравнение идентификаторов

Описание идентификатора Content API for Shopping Merchant API
Идентификатор аккаунта {MERCHANT_ID} и {ACCOUNT_ID} в качестве параметров пути. {ACCOUNT_ID} в качестве параметра пути в формате accounts/{ACCOUNT_ID}.
Идентификатор проблемы Поле id в теле ответа (например, "products-that-enable-dishonest-behavior-hacking-policy"). name в теле ответа, которое является полным названием ресурса (например, accounts/12345/issues/example-issue-id).

Методы

В Merchant API методы получения проблем с аккаунтом были объединены и упрощены.

Сравнение способов

Content API for Shopping Merchant API Доступность и примечания
accountstatuses.get accounts.issues.list Доступно. Чтобы получить проблемы для одного аккаунта, используйте accounts.issues.list и укажите идентификатор аккаунта. В Merchant API нет метода get для отдельных проблем.
accountstatuses.list Прямого эквивалента нет. Недоступно. Метод accounts.issues.list в Merchant API возвращает только проблемы для указанного аккаунта, а не для его дочерних аккаунтов. Чтобы получить проблемы для всех дочерних аккаунтов, сначала вызовите accounts.listSubaccounts, а затем accounts.issues.list для каждого дочернего аккаунта.
accountstatuses.custombatch Прямого эквивалента нет. Недоступно. Пакетная обработка проблем с аккаунтом не поддерживается в Merchant API. Для каждого аккаунта необходимо выполнить отдельный вызов list.

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

Поля в ресурсе account issue были обновлены, чтобы сделать его более структурированным и понятным.

Сравнение полей

Content API for Shopping Merchant API Описание
accountLevelIssues (массив в AccountStatus) accountIssues (массив в ListAccountIssuesResponse) Проблемы теперь являются отдельным ресурсом верхнего уровня, а не вложенным полем.
id (строка) name (строка) Идентификатор проблемы теперь является полным названием ресурса, например accounts/{ACCOUNT_ID}/issues/{ISSUE_ID}.
title (строка) title (строка) Без изменений.
detail (строка) detail (строка) Без изменений.
documentation (строка) documentationUri (строка) Поле переименовано, чтобы было понятно, что это URL.
severity (строка) severity (перечисление) Теперь степень серьезности – это структурированное перечисление (CRITICAL, ERROR, SUGGESTION), а не строка.
country (строка), destination (строка) impactedDestinations (повторяющееся сообщение) Теперь влияние представлено в виде списка, в котором для каждой затронутой области указаны целевой сервис, регион и уровень серьезности. Поле country заменено полем regionCode в сообщении Impact.
(Недоступно) language_code, time_zone (параметры запроса) Новые параметры в запросе list позволяют локализовать человекочитаемые поля, такие как title и detail.