Миграция управления регионом
 В этом руководстве объясняется, как перенести интеграцию из RegionsService в Content API for Shopping в RegionsService в под-API Accounts.
 Служба Regions позволяет определять пользовательские географические области для таких целей, как региональное ценообразование и переопределение условий доставки. Регионы можно использовать с такими службами, как 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для списка/создания,nameдля получения/удаления и стандартного использованияupdate_mask). -  Типы оболочек: поля, которые ранее использовали 
google.protobuf.StringValueилиgoogle.protobuf.BoolValueв Content API, теперь используют стандартныеoptionalполя в Merchant API. -  Новые функции:
-  API торговца вводит тип 
RadiusAreaв ресурсеRegionдля определения регионов на основе радиуса вокруг точки (первоначально с видимостьюTRUST_TESTER). -  Доступны пакетные методы — 
BatchCreateRegions,BatchUpdateRegions,BatchDeleteRegions. 
 -  API торговца вводит тип 
 - Обработка ошибок: коды ошибок и сообщения об ошибках предоставляют более конкретную обратную связь.
 
Запросы
Вот как меняются шаблоны запросов:
| Элемент | 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/*} |  Имя ресурса в 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 (строка) |  {region} (строка, часть name строки) |  Найдите идентификатор региона, встроенный в строку имени ресурса, например, accounts/{account}/regions/{region} . | 
| Имя ресурса | Не используется строго для запросов. |  name : accounts/{account}/regions/{region} | Стандартный идентификатор для запросов Get/Update/Delete. | 
| Имя родителя | Не используется строго для запросов. |  parent : accounts/{account} | Стандартный идентификатор для запросов на список/создание. | 
Ресурсы
 Структура ресурсов Region претерпела незначительные изменения:
| Элемент | API контента для покупок | API торговца | Описание | 
|---|---|---|---|
| Идентификатор ресурса |  region_id (строка), merchant_id (int64) |  name (строка): accounts/{account}/regions/{region} |  API торговца использует одно поле name в качестве идентификатора ресурса. | 
 display_name |  google.protobuf.StringValue |  optional string | Тип оболочки удален. | 
 radius_area | Недоступно (Н/Д) |  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 |  В большинстве случаев отдельное поле region_id интегрировано в name в CreateRegionRequest . Это влияет на сообщения 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 . |