В этом руководстве рассказывается, как перейти с метода RegionsService в Content API for Shopping на метод RegionsService в Accounts sub-API.
Сервис Regions позволяет определять собственные географические регионы для таких целей, как региональное ценообразование и переопределение доставки. Регионы можно использовать с такими сервисами, как RegionalInventory и ShippingSettings.
Основные различия
- Структура API. Сервис Regions теперь является частью дочернего API
Accountsв Merchant API (например,merchantapi.googleapis.com/accounts/v1/...). - Названия ресурсов. Merchant API использует названия ресурсов (
accounts/{account}/regions/{region}) вместо отдельных параметровmerchant_idиregion_idв пути URL для операций Get, Update и Delete. - Соответствие AIP. Методы Merchant API соответствуют стандартным шаблонам API Improvement Proposal (например, использование
parentдля List/Create,nameдля Get/Delete и стандартное использованиеupdate_mask). - Типы оболочек. Поля, в которых ранее использовались
google.protobuf.StringValueилиgoogle.protobuf.BoolValueв Content API, теперь используют стандартные поляoptionalв Merchant API. - Новые функции:
- В Merchant API появился тип
RadiusAreaв ресурсеRegion, который позволяет определять регионы на основе радиуса вокруг точки (изначально с видимостьюTRUST_TESTER). - Доступны пакетные методы
BatchCreateRegions,BatchUpdateRegionsиBatchDeleteRegions.
- В Merchant API появился тип
- Обработка ошибок. Коды ошибок и сообщения предоставляют более конкретную обратную связь.
Запросы
Вот как меняются шаблоны запросов:
| Item | Content API for Shopping | Merchant API | Описание |
|---|---|---|---|
| Конечная точка | https://shoppingcontent.googleapis.com |
https://merchantapi.googleapis.com |
Изменился базовый домен. |
| Get Path | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Merchant API использует дочерний API accounts и ресурс name. |
| Путь к списку | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
В Merchant API для указания аккаунта используется parent. |
| Создать путь | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
Merchant 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. |
Идентификаторы
Измените использование идентификаторов следующим образом:
| Item | Content API for Shopping | Merchant API | Описание |
|---|---|---|---|
| Аккаунт | merchant_id (целое число) |
account (целое число, часть строки name или parent) |
Найдите идентификатор аккаунта, встроенный в строку названия ресурса, например accounts/{account}. |
| Регион | region_id (строка) |
{region} (строка, часть строки name) |
Найдите идентификатор региона, встроенный в строку названия ресурса, например accounts/{account}/regions/{region}. |
| Название ресурса | Не используется строго для запросов. | name: accounts/{account}/regions/{region}. |
Стандартный идентификатор для запросов на получение, обновление и удаление. |
| Имя родителя | Не используется строго для запросов. | parent: accounts/{account}. |
Стандартный идентификатор для запросов List/Create. |
Ресурсы
В структуре ресурса Region произошли незначительные изменения:
| Item | Content API for Shopping | Merchant API | Описание |
|---|---|---|---|
| Идентификатор ресурса | region_id (строка), merchant_id (int64) |
name (строка): accounts/{account}/regions/{region} |
Merchant 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 (только вывод) |
Тип упаковочной машины удален. |
Методы
Измените использование методов следующим образом:
| Item | Content API for Shopping | Merchant API | Описание |
|---|---|---|---|
| Get Region | GetRegion |
GetRegion |
В запросе используется name. |
| Создать регион | CreateRegion |
CreateRegion |
Запрос берет parent из URL, а тело запроса включает объект region и region_id.
|
| Изменить регион | UpdateRegion |
UpdateRegion |
В запросе используются параметры region (который должен включать region.name) и update_mask.
|
| Удалить регион | DeleteRegion
|
DeleteRegion
|
В запросе используется name.
|
| List Regions | ListRegions |
ListRegions |
В запросе используется parent. Поведение page_size и page_token согласовано.
|
| Массовое создание | − | BatchCreateRegions |
Это новый метод. |
| Пакетное обновление | − | BatchUpdateRegions |
Это новый метод. |
| Массовое удаление | − | BatchDeleteRegions |
Это новый метод. |
Переименованные поля
| Item | Content API for Shopping | Merchant 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. |