プロダクトを移行する

Merchant API では、商品データをより堅牢かつ直感的に管理できるようになります。主な変更点は、商品データが 2 つの異なるリソースに分離されたことです。ProductInput はデータを送信するためのリソース、Product は商品ステータスや問題など、最終的な処理済みバージョンを表示するためのリソースです。この新しい構造により、より予測可能で透明性の高いエクスペリエンスが実現します。

このガイドでは、統合を Content API for Shopping から移行するうえで重要な違いについて説明します。新機能の使用に関する詳細なガイドについては、プロダクトを管理するをご覧ください。

主な違い

Merchant API での商品管理方法と Content API for Shopping での商品管理方法の主な違いは次のとおりです。

  • 入力データと処理済みデータ専用のリソース: Merchant API は、商品管理を 2 つのリソースに分割します。ProductInput リソースを使用して、商品データを挿入、更新、削除できます。読み取り専用の Product リソースを使用すると、Google が入力を処理し、ルールを適用して、補助ソースのデータを結合した後の最終的な商品を表示できます。

  • 統合されたプロダクトのステータス: productstatuses サービスが削除されます。商品検証の問題とリンク先ステータスが productStatus フィールド内の Product リソースに直接含まれるようになり、データ取得が簡素化されました。

  • 予測可能なプロダクトの更新: 新しい productInputs.patch メソッドは、特定のプロダクト入力を直接変更します。これは Content API for Shopping から大幅に改善された点です。Content API for Shopping では、他のフィードのアップロードによって更新が予期せず上書きされる可能性がありました。Merchant API では、特定の商品の入力が再度更新されるか削除されるまで、更新は維持されます。商品更新は、処理済みの Product リソースではなく、ProductInput リソースに適用されます。

  • データソースを選択してデータ管理を簡素化: すべての productInputs 書き込みオペレーションで dataSource クエリ パラメータが必要になり、変更するデータソースが明示的に指定されるようになりました。これは、複数のソースからデータが提供される場合に特に便利です。

  • 新しいリソース識別子: 商品は id フィールドではなく、RESTful リソース name で識別されるようになりました。形式は accounts/{account}/products/{product} です。

  • カスタム バッチなし: custombatch メソッドは使用できなくなりました。非同期リクエストまたは HTTP バッチ処理を使用して、単一の HTTP 呼び出しで複数のリクエストを送信できます。

  • 任意のフィードラベルと言語のデータソース: Merchant API を使用すると、フィードラベルと言語を指定せずにデータソースを作成できるため、任意のフィードラベルと言語の商品を挿入できます。

リクエスト

このセクションでは、Content API for Shopping と Merchant API のリクエスト形式を比較します。

リクエストの説明 Content API for Shopping Merchant API
商品を入手する GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product}
商品を一覧表示する GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products
商品を挿入する POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert
商品を更新する PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput}
商品の削除 DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput}
商品のステータスを取得する GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product}
商品のステータスを一覧表示する GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products
複数のリクエストをバッチ処理する POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch 非同期リクエスト、HTTP バッチ処理

識別子

Merchant API での商品 ID の形式が標準の REST リソース名に変更されました。

識別子の説明 Content API for Shopping Merchant API
商品 ID コロン(:)で区切られたセグメントで構成される文字列。
形式: channel:contentLanguage:targetCountry:offerId または channel:contentLanguage:feedLabel:offerId
例: online:en:US:sku123
REST リソース name 文字列。
形式: accounts/{account}/products/{product}{product}contentLanguage~feedLabel~offerId)。
例: accounts/12345/products/en~US~sku123

メソッド

次の表に、Content API for Shopping のメソッドと、Merchant API での同等のメソッドを示します。

Content API for Shopping のメソッド Merchant API メソッド 提供状況とメモ
products.get products.get 処理済みの最終的な商品を取得します。
products.list products.list 最終的な処理済みプロダクトを一覧表示します。
products.insert productInputs.insert 商品入力を挿入します。dataSource が必要です。
products.update productInputs.update 動作は大きく異なります。特定の商品入力を更新し、永続化します。
products.delete productInputs.delete 特定の商品入力を削除します。dataSource が必要です。
products.custombatch 利用不可 非同期リクエストまたは HTTP バッチ処理を使用します。
productstatuses.get products.get productstatuses サービスが削除されます。ステータス情報が Product リソースの一部になりました。
productstatuses.list products.list productstatuses サービスが削除されます。ステータス情報が Product リソースの一部になりました。
productstatuses.custombatch 利用不可 [非同期

リクエスト](/merchant/api/samples/insert-product-input-async) または HTTP バッチ処理を使用します。|

フィールドの変更の詳細

次の表に、Merchant API で変更、追加、削除された重要なフィールドを示します。

Content API for Shopping Merchant API 説明
id name プロダクトのプライマリ識別子は、REST リソース name になりました。
最上位の商品データ仕様の属性(titlepricelink productAttributes オブジェクト titlepricelink などの商品属性は、トップレベル フィールドではなくなりました。これらは、Product リソースと ProductInput リソースの両方で productAttributes オブジェクト内にグループ化されています。これにより、よりクリーンで整理されたリソース構造が実現します。
targetCountry feedLabel Merchant Center の機能に合わせて、リソース名で targetCountry ではなく feedLabel が使用されるようになりました。
feedId dataSource(クエリ パラメータ) dataSource 名が、すべての productInputs 書き込みメソッド(insertupdatedelete)の必須クエリ パラメータになりました。
channel 利用できません。ローカルのみの商品には legacy_local を使用します。 channel フィールドが Merchant API から削除されました。Content API for Shopping で LOCAL チャネルを使用している商品は、代わりに legacy_local フィールドを true に設定する必要があります。
利用不可 versionNumber ProductInput の新しいオプション フィールド。メイン データソースへの順不同の挿入を防ぐために使用できます。
定義された値のセットを持つ string 型のフィールド 定義された値のセットを持つ enum 型のフィールド 値のセットが定義されている商品属性内のフィールド(excluded_destinationsavailability など)が enum 型になりました。