Миграция управления регионом
 В этом руководстве объясняется, как перенести интеграцию из 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. |