Управление миграционными регионами

В этом руководстве объясняется, как перенести интеграцию с RegionsService в Content API для покупок на RegionsService в подсистеме Accounts API.

Сервис «Регионы» позволяет определять пользовательские географические области для таких сценариев использования, как региональное ценообразование и переопределение условий доставки. Вы можете использовать регионы с такими сервисами, как RegionalInventory и ShippingSettings .

Ключевые отличия

  • Структура API: Сервис «Регионы» теперь является частью под-API Accounts в API продавца (например, merchantapi.googleapis.com/accounts/v1/... ).
  • Имена ресурсов: API для продавцов использует имена ресурсов ( accounts/{account}/regions/{region} ) вместо отдельных параметров merchant_id и region_id в пути URL для операций Get, Update и Delete.
  • Соответствие требованиям AIP: Методы API для продавцов соответствуют стандартным шаблонам предложений по улучшению API (например, использование parent для List/Create, name для Get/Delete и стандартное использование update_mask ).
  • Типы-обертки: Поля, которые ранее использовали google.protobuf.StringValue или google.protobuf.BoolValue в Content API, теперь используют стандартные optional поля в Merchant API.
  • Новые возможности:
    • API для продавцов вводит тип RadiusArea в ресурс Region для определения регионов на основе радиуса вокруг точки (первоначально с видимостью TRUST_TESTER ).
    • Доступны пакетные методы: BatchCreateRegions , BatchUpdateRegions , BatchDeleteRegions .
  • Обработка ошибок: Коды и сообщения об ошибках предоставляют более конкретную обратную связь.

Запросы

Вот как меняются шаблоны запросов:

Элемент API контента для покупок API для продавцов Описание
Конечная точка https://shoppingcontent.googleapis.com https://merchantapi.googleapis.com Базовая область изменяется.
Получить путь /content/v2.1/{merchant_id}/regions/{region_id} /accounts/v1/{name=accounts/*/regions/*} API для продавцов использует под-API accounts и name ресурса.
Список путей /content/v2.1/{merchant_id}/regions /accounts/v1/{parent=accounts/*}/regions API продавца использует parent для указания учетной записи.
Создать путь /content/v2.1/{merchant_id}/regions /accounts/v1/{parent=accounts/*}/regions API продавца использует parent . region_id — это поле в теле запроса.
Обновить путь /content/v2.1/{merchant_id}/regions/{region_id} /accounts/v1/{name=accounts/*/regions/*} В Merchant API имя ресурса является частью объекта region в теле запроса.
Удалить путь /content/v2.1/{merchant_id}/regions/{region_id} /accounts/v1/{name=accounts/*/regions/*} Использует name ресурса.

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

Измените использование идентификаторов следующим образом:

Элемент API контента для покупок API для продавцов Описание
Счет merchant_id (целое число) account (целое число, часть name или parent строка) Найдите идентификатор учетной записи, встроенный в строку имени ресурса, например, accounts/{account} .
Область region_id (string) {region} (строка, часть строки name ) Найдите идентификатор региона, встроенный в строку имени ресурса, например, accounts/{account}/regions/{region} .
Название ресурса Используется не только для запросов. name : accounts/{account}/regions/{region} Стандартный идентификатор для запросов Get/Update/Delete.
Имя родителя Используется не только для запросов. parent : accounts/{account} Стандартный идентификатор для запросов List/Create.

Ресурсы

В структуре ресурсов Region произошли незначительные изменения:

Элемент API контента для покупок API для продавцов Описание
Идентификатор ресурса region_id (string), merchant_id (int64) name (строка): accounts/{account}/regions/{region} API для продавцов использует одно поле name в качестве идентификатора ресурса.
display_name google.protobuf.StringValue optional string Тип оболочки удален.
radius_area Нет данных (N/A) RadiusArea Этот новый тип определяет регионы по радиусу. Включает в себя region_code , lat_lng , radius , radius_units . По умолчанию видимость ограничена.
regional_inventory_eligible google.protobuf.BoolValue (только для вывода) optional bool (только для вывода) Тип оболочки удален.
shipping_eligible google.protobuf.BoolValue (только для вывода) optional bool (только для вывода) Тип оболочки удален.

Методы

Измените способ применения методов следующим образом:

Элемент API контента для покупок API для продавцов Описание
Получить регион GetRegion GetRegion В запросе используется name .
Создать регион CreateRegion CreateRegion Запрос получает parent из URL-адреса, а тело запроса включает объект region и region_id .
Обновить регион UpdateRegion UpdateRegion В запросе используются region (который должен включать region.name ) и update_mask .
Удалить регион DeleteRegion DeleteRegion В запросе используется name .
Список регионов ListRegions ListRegions В запросе используется parent . Поведение page_size и page_token остается неизменным.
Пакетное создание Н/Д BatchCreateRegions Это новый метод.
Пакетное обновление Н/Д BatchUpdateRegions Это новый метод.
Пакетное удаление Н/Д BatchDeleteRegions Это новый метод.

Поля переименованы

Элемент API контента для покупок API для продавцов Описание
Идентификатор учетной записи merchant_id account (часть name или parent ) Интегрировано в строки name ресурсов. Это влияет на сообщения Region (ответ) и protobuf, используемые для выполнения запросов API, таких как CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest и ListRegionsRequest .
Идентификатор региона region_id region (часть name ), region_id В большинстве случаев это поле интегрировано в name , а в CreateRegionRequest используется отдельное поле region_id . Это влияет на сообщения Region (ответ) и protobuf, используемые для выполнения запросов API, таких как CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest и ListRegionsRequest .
Название региона (выходные данные) region_id name В поле основного идентификатора в ответе теперь указывается полное name ресурса. Это влияет на Region .
Отображаемое имя display_name display_name Тип изменяется с StringValue на optional string . Это влияет на Region .
Флаги соответствия требованиям ...eligible ...eligible Тип изменяется с BoolValue на optional bool . Это влияет на Region .
Обновить маску update_mask update_mask Пути к полям Region . Это влияет на UpdateRegionRequest .

Узнать больше