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