миграция, совместимость

Миграция управления регионом

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

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