このガイドでは、Content API for Shopping の datafeeds サービスと datafeedstatuses サービスから Merchant API のデータソース サブ API に統合を移行する方法について説明します。新しいデータソース サブ API により、データ パイプラインをより直接的に制御し、データソースの管理を簡素化できます。
新機能について詳しくは、データソースを管理するガイドをご覧ください。
主な違い
Merchant API には、Content API for Shopping と比較して次のようなメリットがあります。
- 明示的なデータソースの作成。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メソッドを使用して、アカウントの自動データソース機能を有効または無効にできるようになりました。詳細については、自動フィード設定を構成するをご覧ください。
リクエスト
次の表は、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)を指定するオブジェクトであり、より明示的な構成を提供します。 |