リージョン管理を移行する
このガイドでは、Content API for Shopping の RegionsService から Accounts サブ API 内の RegionsService に統合を移行する方法について説明します。
Regions サービスを使用すると、地域別の価格設定や送料のオーバーライドなどのユースケースで使用するカスタムの地理的領域を定義できます。RegionalInventory や ShippingSettings などのサービスでリージョンを使用できます。
主な違い
- API の構造: Regions サービスは、Merchant API の
Accountsサブ API(merchantapi.googleapis.com/accounts/v1/...など)の一部になりました。 - リソース名: Merchant API では、Get、Update、Delete オペレーションの URL パスで、個別の
merchant_idパラメータとregion_idパラメータではなく、リソース名(accounts/{account}/regions/{region})を使用します。 - AIP 準拠: Merchant API メソッドは、標準の API 改善提案パターン(List/Create に
parentを使用、Get/Delete にnameを使用、標準のupdate_maskの使用など)に準拠しています。 - ラッパー型: Content API で
google.protobuf.StringValueまたはgoogle.protobuf.BoolValueを使用していたフィールドは、Merchant API で標準のoptionalフィールドを使用するようになりました。 - 新しい機能:
- Merchant API では、
Regionリソース内にRadiusAreaタイプが導入され、ポイントを中心とした半径に基づいて地域を定義できるようになりました(最初はTRUST_TESTERの可視性)。 - バッチメソッド(
BatchCreateRegions、BatchUpdateRegions、BatchDeleteRegions)を使用できます。
- Merchant API では、
- エラー処理: エラーコードとメッセージで、より具体的なフィードバックを提供します。
リクエスト
リクエスト パターンの変更は次のとおりです。
| 項目 | 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 を使用します。 |
識別子
識別子の使用を次のように変更します。
| 項目 | Content API for Shopping | Merchant API | 説明 |
|---|---|---|---|
| アカウント | merchant_id(整数) |
account(整数、name または parent 文字列の一部) |
リソース名文字列に埋め込まれているアカウント ID を見つけます(例: accounts/{account})。 |
| リージョン | region_id(文字列) |
{region}(文字列、name 文字列の一部) |
リソース名文字列に埋め込まれているリージョン ID を見つけます(例: accounts/{account}/regions/{region})。 |
| リソース名 | リクエストに厳密に使用されるわけではありません。 | name: accounts/{account}/regions/{region} |
Get/Update/Delete リクエストの標準識別子。 |
| 保護者名 | リクエストに厳密に使用されるわけではありません。 | parent: accounts/{account} |
List/Create リクエストの標準識別子。 |
リソース
Region リソース構造に若干の変更があります。
| 項目 | Content API for Shopping | Merchant API | 説明 |
|---|---|---|---|
| リソース ID | 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(出力のみ) |
ラッパータイプを削除しました。 |
メソッド
メソッドの使用を次のように変更します。
| 項目 | Content API for Shopping | Merchant API | 説明 |
|---|---|---|---|
| リージョンを取得 | GetRegion |
GetRegion |
リクエストは name を使用します。 |
| リージョンを作成 | CreateRegion |
CreateRegion |
リクエストは URL から parent を取得し、リクエストの本文には region オブジェクトと region_id が含まれます。 |
| リージョンを更新する | UpdateRegion |
UpdateRegion |
リクエストでは、region(region.name を含む)と update_mask を使用します。 |
| リージョンを削除 | DeleteRegion
|
DeleteRegion
|
リクエストは name を使用します。 |
| リージョンを一覧表示する | ListRegions |
ListRegions |
リクエストは parent を使用します。page_size と page_token の動作は一貫しています。 |
| 一括作成 | なし | BatchCreateRegions |
これは新しいメソッドです。 |
| 一括更新 | なし | BatchUpdateRegions |
これは新しいメソッドです。 |
| 一括削除 | なし | BatchDeleteRegions |
これは新しいメソッドです。 |
名前が変更されたフィールド
| 項目 | Content API for Shopping | Merchant API | 説明 |
|---|---|---|---|
| アカウント ID | merchant_id |
account(name または parent の一部) |
リソース name 文字列に統合されます。これは、Region(レスポンス)と、CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest や ListRegionsRequest などの API リクエストの作成に使用される protobuf メッセージに影響します。 |
| リージョン ID | region_id |
region(name の一部)、region_id |
ほとんどの場合、name に統合されます。CreateRegionRequest には別の region_id フィールドがあります。これは、Region(レスポンス)と、CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest や ListRegionsRequest などの API リクエストの作成に使用される protobuf メッセージに影響します。 |
| 地域名(出力) | 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 に影響します。 |