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