このガイドでは、Content API for Shopping の datafeeds サービスと
datafeedstatuses サービスから
Merchant API のデータソース サブ API への統合を移行する方法について説明します。新しいデータソース サブ API を使用すると、データ パイプラインをより直接的に制御し、データソースの管理を簡素化できます。
新機能について詳しくは、 データソースを管理するガイドをご覧ください。
主な違い
Content API for Shopping と比較して、Merchant API には次のような利点があります。
データソースの明示的な作成。この API では、最初の商品をアップロードしても「Content API」データソースは自動的に作成されなくなりました。Merchant API では、商品データをアップロードする前に、データソースを明示的に作成する必要があります。 これにより、商品データ パイプラインの構成や管理を、初期段階からより細かく設定できるようになります。
複数の API データソースのサポート。Content API for Shopping では、自動的に作成される「Content API」データソースを 1 つしか使用できませんでした。Merchant API では、
API入力タイプのデータソースを複数作成して管理できます。ラベルと言語のないデータソース。Merchant API を使用すると、
feedLabelとcontentLanguageを指定せずにプライマリ データソースを作成できます。このタイプのデータソースは、feedLabelとcontentLanguageの任意の組み合わせの商品を受け入れるため、地域ごとに個別のデータソースを必要としない統合の場合、商品のアップロードが簡素化されます。データターゲットの簡素化。各データソースは、
feedLabelとcontentLanguageの一意の組み合わせで定義された単一のターゲットに対応するようになりました。Merchant API では、複数データをターゲットにしたフィードは非推奨となっています。専用のファイル アップロード ステータス。Merchant API では、ファイルベースのデータソースのステータスは、読み取り専用の独立した
fileUploadsリソースで表されます。 ファイル アップロードのステータスを取得するには、latestエイリアスを指定してfileUploads.getメソッドを使用します。新しいデータソース タイプ。
DataSourceリソースは、プロモーション、ローカル在庫、地域別在庫など、より多くの業種をサポートしており、すべてのデータ パイプラインを統合的に管理できます。自動データソース。Merchant API では、Accounts サブ API の
autofeedSettings.updateAutofeedSettingsメソッドを使用して、アカウントの 自動データソース 機能を有効または 無効にできるようになりました。詳しくは、 自動フィードの設定を構成するをご覧ください。
データソース戦略を選択する
データソースを管理するには、次の 3 つの方法があります。
任意のフィードラベルと言語に対して 1 つの Merchant API データソースを作成する。 このオプションを使用すると、
feedLabelとcontentLanguageの 任意の商品を受け入れる単一のデータソースを使用することで、管理を簡素化できます。以前の Content API の設定では、特定のラベルと言語のルールを個別のデータソースで定義し、対応するターゲット ルールを持つデータソースに商品を挿入していました。このオプションを選択する場合は、すべての商品を新しいデータソースに移行し、すべての商品の移行が完了したら Content API データソースを削除することをおすすめします。ラベルと言語ごとに新しい Merchant API データソースを作成する。 このオプションは、新しい
feedLabelとcontentLanguageの組み合わせをサポートする必要がある場合(それらを厳密に分離しておくことを推奨します)、または特定のfeedLabelとcontentLanguageに依存するデータソース ルール設定を使用する場合に使用します。使用するfeedLabelとcontentLanguageのペアごとに個別のデータソースを作成する必要があります。Merchant API データソースは、Content API for Shopping で作成したデータソースと組み合わせることができます。
- 既存の Content API データソースを保持する。Content API for Shopping で作成したデータソースは Merchant API と互換性があるため、引き続き使用できます。リソース名は、
dataSources.listを使用するか、Merchant Center の UI で確認できます。Content API のプライマリ データソースは、作成時に指定された特定のfeedLabelとcontentLanguageのみをサポートします。Merchant API を使用して商品を挿入した場合でも、Content API データソースは Merchant Center に「Content API」ソースとして表示されます。これらは、特定のfeedLabelとcontentLanguageのペアをターゲットとする新しい Merchant API データソースと組み合わせることができます。
`dataSources.list` 呼び出しを繰り返さないように、商品ごとに
すべてのプライマリ データソースの名前を 1 回保存して、ローカルの商品データベースにデータを入力することをおすすめします。dataSources.list
リクエスト
次の表に、Content API for Shopping と Merchant API のリクエスト URL の形式を比較します。
| リクエストの説明 | Content API for Shopping | Merchant API |
|---|---|---|
| データソースを作成する | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds |
POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources |
| データソースを取得する | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| データソースを一覧表示する | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources |
| データソースを更新する | PUT https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
PATCH https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| データソースを削除する | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
DELETE https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| データソースを取得する | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID}/fetchNow |
POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}:fetch |
| データソースのステータスを取得する | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses/{DATAFEED_ID} |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}/fileUploads/latest |
| データソースのステータスを一覧表示する | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses |
利用できません。ファイルベースのデータソースごとに dataSources.list と fileUploads.get を使用します。 |
識別子
Merchant API では、文字列ベースのリソース名が識別子として使用されます。
| 識別子の説明 | Content API for Shopping | Merchant API |
|---|---|---|
| データソース識別子 | datafeedId(数値) |
name(文字列、形式: accounts/{account}/dataSources/{datasource}) |
メソッド
次の表に、Content API for Shopping の datafeeds
サービスと datafeedstatuses サービスのメソッドと、Merchant API の同等のメソッドを比較します。
| Content API for Shopping メソッド | Merchant API メソッド | 対象範囲と備考 |
|---|---|---|
datafeeds.custombatch |
利用不可 | 代わりに個別の API 呼び出しを使用してください。 |
datafeeds.delete |
dataSources.delete |
使用可能 |
datafeeds.fetchnow |
dataSources.fetch |
使用可能このメソッドは、ファイル入力のあるデータソースでのみ機能します。 |
datafeeds.get |
dataSources.get |
使用可能 |
datafeeds.insert |
dataSources.create |
使用可能 |
datafeeds.list |
dataSources.list |
使用可能 |
datafeeds.update |
dataSources.update |
使用可能PUT ではなく PATCH セマンティクスを使用します。 |
datafeedstatuses.custombatch |
利用不可 | 代わりに個別の API 呼び出しを使用してください。詳しくは、複数のリクエストを一度に送信するをご覧ください。 |
datafeedstatuses.get |
fileUploads.get |
ファイルベースのデータソースで使用できます。latest エイリアスを使用して、最新のアップロードのステータスを取得します。他のデータソース タイプの場合、ステータス情報は DataSource リソースの一部です。 |
datafeedstatuses.list |
利用不可 | 複数のデータソースのステータスを取得するには、まず dataSources.list でデータソースをすべて一覧表示します。次に、ファイルベースのデータソースごとに latest エイリアスを指定して fileUploads.get を呼び出します。 |
フィールドの詳細な変更点
次の表に、Content API for Shopping の Datafeed と
DatafeedStatus リソースと、Merchant API の DataSource
と FileUpload リソースのフィールドレベルでの変更点を示します。
| Content API for Shopping | Merchant API | 説明 |
|---|---|---|
Datafeed |
DataSource |
データソース構成のメインリソース。 |
id |
name |
リソース識別子。数値 ID から文字列リソース名に変更されました。 |
name |
displayName |
ユーザーに表示されるデータソースの名前。 |
attributeLanguage |
primaryProductDataSource.contentLanguage |
データソース内の商品の 2 文字の ISO 639-1 言語コード。 |
fileName |
fileInput.fileName |
アップロードされたファイルの名前。このフィールドは fileInput の下にネストされるようになりました。 |
fetchSchedule |
fileInput.fetchSettings |
ファイルベースのデータソースを取得するスケジュール。これは fileInput の下にネストされるようになりました。 |
fetchSchedule.paused |
fileInput.fetchSettings.enabled |
ロジックが反転しています。paused: true は enabled: false と同等です。 |
format |
利用不可 | fileEncoding、columnDelimiter、quotingMode の各フィールドが削除されました。これらは自動検出されるようになりました。 |
targets |
primaryProductDataSource.feedLabel、primaryProductDataSource.contentLanguage、primaryProductDataSource.countries |
繰り返される targets フィールドが削除されました。各データソースには、これらのフィールドで定義された単一のターゲットが設定されるようになりました。これは、複数データをターゲットにしたフィードの非推奨を反映したものです。 |
DatafeedStatus |
FileUpload |
ファイル アップロードのステータスは、読み取り専用の独立したリソースになりました。 |
datafeedId |
name |
ファイル アップロードの識別子。親データソースを参照します。 |
processingStatus |
processingState |
アップロードの処理ステータス。文字列値(success、failure、in progress)は、列挙型(SUCCEEDED、FAILED、IN_PROGRESS)に置き換えられました。 |
errors、warnings |
issues |
エラーと警告は 1 つの issues リストに統合されました。各問題には severity フィールド(ERROR または WARNING)があります。 |
lastUploadDate |
uploadTime |
前回のアップロードのタイムスタンプ。形式が文字列から Timestamp オブジェクトに変更されました。 |
country、language、feedLabel |
該当なし | これらのフィールドはステータス リソースに存在しなくなりました。これらは DataSource リソースの一部です。 |
targets[].included_destinations、targets[].excluded_destinations |
primaryProductDataSource.destinations |
追加先と非掲載先の 2 つの別々のリストが、1 つの destinations リストに置き換えられました。新しいリストの各アイテムは、追加先とその状態(ENABLED または DISABLED)を指定するオブジェクトであり、より明示的な構成を提供します。 |