迁移区域管理

本指南介绍了如何将集成从 Content API for Shopping 中的 RegionsService 迁移到 Accounts 子 API 中的 RegionsService。

借助 Regions 服务,您可以为地区性价格和配送覆盖设置等应用场景定义自定义地理区域。您可以将区域与 RegionalInventory 和 ShippingSettings 等服务搭配使用。

主要区别

  • API 结构:Regions 服务现在是 Merchant API 中 Accounts 子 API 的一部分(例如 merchantapi.googleapis.com/accounts/v1/...)。
  • 资源名称:Merchant API 在网址路径中使用资源名称 (accounts/{account}/regions/{region}),而不是单独的 merchant_id 和 region_id 参数,用于执行获取、更新和删除操作。
  • AIP 合规性:Merchant API 方法遵循标准 API 改进提案模式(例如,使用 parent 进行列出/创建,使用 name 进行获取/删除,以及标准 update_mask 用法)。
  • 封装容器类型:之前在 Content API 中使用 google.protobuf.StringValue 或 google.protobuf.BoolValue 的字段现在在 Merchant API 中使用标准 optional 字段。
  • 新功能:
    • Merchant API 在 Region 资源中引入了 RadiusArea 类型,用于根据某个点周围的半径定义区域(最初具有 TRUST_TESTER 曝光度)。
    • 可以使用批量方法:BatchCreateRegions、BatchUpdateRegions、BatchDeleteRegions。
  • 错误处理:错误代码和消息可提供更具体的反馈。

请求

请求模式的变化如下:

Item Content API for Shopping Merchant API 说明
端点 https://shoppingcontent.googleapis.com https://merchantapi.googleapis.com 基本域名发生变化。
获取路径 /content/v2.1/{merchant_id}/regions/{region_id} /accounts/v1/{name=accounts/*/regions/*} Merchant API 使用 accounts 子 API 和资源 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 字符串的一部分) 找到嵌入在资源名称字符串中的账号 ID,例如 accounts/{account}。
Region region_id(字符串) {region}(字符串,name 字符串的一部分) 找到嵌入在资源名称字符串中的地区 ID,例如 accounts/{account}/regions/{region}。
资源名称 不严格用于请求。 name:accounts/{account}/regions/{region} Get/Update/Delete 请求的标准标识符。
Parent Name(家长姓名) 不严格用于请求。 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 不适用 (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(仅限输出) 已移除封装容器类型。

方法

请按如下方式更改方法的使用:

Item Content API for Shopping Merchant API 说明
获取区域 GetRegion GetRegion 该请求使用 name。
创建区域 CreateRegion CreateRegion 该请求从网址中获取 parent,而请求正文包含 region 对象和 region_id。
更新区域 UpdateRegion UpdateRegion 该请求使用 region(必须包含 region.name)和 update_mask。
删除区域 DeleteRegion DeleteRegion 该请求使用 name。
列出区域 ListRegions ListRegions 该请求使用 parent。page_size 和 page_token 行为一致。
批量创建 不适用 BatchCreateRegions 这是一种新方法。
批量更新 不适用 BatchUpdateRegions 这是一种新方法。
批量删除 不适用 BatchDeleteRegions 这是一种新方法。

重命名的字段

Item Content API for Shopping Merchant API 说明
账号 ID merchant_id account(属于 name 或 parent) 已集成到资源 name 字符串中。这会影响 Region(响应)和用于发出 API 请求的 protobuf 消息,例如 CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest 和 ListRegionsRequest。
地区 ID region_id region(name 的一部分),region_id 在大多数国家/地区,此字段已集成到name中,但在CreateRegionRequest中,此字段与region_id分开。这会影响 Region(响应)和用于发出 API 请求的 protobuf 消息,例如 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。

了解详情