このガイドでは、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」データソースに制限されていました。Merchant API では、
API入力タイプのデータソースを複数作成して管理できます。ラベルと言語のないデータソース。Merchant API では、
feedLabelとcontentLanguageを指定せずにプライマリ データソースを作成できます。このタイプのデータソースは、feedLabelとcontentLanguageの任意の組み合わせの商品を受け入れるため、地域ごとに別々のデータソースを必要としない統合の場合、商品のアップロードが簡素化されます。データターゲットの簡素化。各データソースは、
feedLabelとcontentLanguageの一意の組み合わせで定義された単一のターゲットに対応するようになりました。Merchant API では、複数データをターゲットにしたフィードは非推奨になりました。データソース戦略を選択する。データソースを管理するには、次の 3 つの方法があります。
既存の 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 データソースと組み合わせることができます。ラベルと言語ごとに新しい Merchant API データソースを作成する。 新しい
feedLabelとcontentLanguageの組み合わせをサポートする必要がある場合(それらを厳密に分離しておくことを推奨します)、または特定のfeedLabelとcontentLanguageに依存するデータソース ルールの設定を使用する場合は、このオプションを使用します。使用するfeedLabelとcontentLanguageのペアごとに、別々のデータソースを作成する必要があります。任意のラベルと言語に対して単一の Merchant API データソースを作成する。 このオプションを使用すると、
feedLabelとcontentLanguageが 任意の商品を受け入れる単一のデータソースを使用することで、管理を簡素化できます。このオプションを選択した場合は、すべての商品をこの新しいデータソースに移行し、商品の移行が完了したら古い Content 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)を指定するオブジェクトであり、より明示的な構成を提供します。 |