データソースを移行する

このガイドでは、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 では、feedLabelcontentLanguage を指定せずにプライマリ データソースを作成できます。このタイプのデータソースは、feedLabelcontentLanguage の任意の組み合わせの商品を受け入れるため、地域ごとに別々のデータソースを必要としない統合の場合、商品のアップロードが簡素化されます。

  • データターゲットの簡素化。各データソースは、feedLabelcontentLanguage の一意の組み合わせで定義された単一のターゲットに対応するようになりました。Merchant API では、複数データをターゲットにしたフィードは非推奨になりました。

  • データソース戦略を選択する。データソースを管理するには、次の 3 つの方法があります。

    1. 既存の Content API データソースを維持する。Content API for Shopping で作成したデータソースは Merchant API と互換性があるため、引き続き使用できます。リソース名は、dataSources.list を使用するか、Merchant Center の UI で確認できます。Content API のプライマリ データソースは、作成時に使用した特定の feedLabelcontentLanguage のみをサポートします。Merchant API を使用して商品を挿入した場合でも、Content API データソースは Merchant Center に「Content API」ソースとして表示されます。これらを、特定の feedLabelcontentLanguage のペアをターゲットとする新しい Merchant API データソースと組み合わせることができます。

    2. ラベルと言語ごとに新しい Merchant API データソースを作成する。 新しい feedLabelcontentLanguage の組み合わせをサポートする必要がある場合(それらを厳密に分離しておくことを推奨します)、または特定の feedLabelcontentLanguage に依存するデータソース ルールの設定を使用する場合は、このオプションを使用します。使用する feedLabelcontentLanguage のペアごとに、別々のデータソースを作成する必要があります。

    3. 任意のラベルと言語に対して単一の Merchant API データソースを作成する。 このオプションを使用すると、feedLabelcontentLanguage任意の商品を受け入れる単一のデータソースを使用することで、管理を簡素化できます。このオプションを選択した場合は、すべての商品をこの新しいデータソースに移行し、商品の移行が完了したら古い 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.listfileUploads.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 の DatafeedDatafeedStatus リソースと、Merchant API の DataSourceFileUpload リソースのフィールドレベルでの変更点を示します。

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: trueenabled: false と同等です。
format 利用できません fileEncodingcolumnDelimiterquotingMode の各フィールドが削除されました。これらは自動的に検出されるようになりました。
targets primaryProductDataSource.feedLabelprimaryProductDataSource.contentLanguageprimaryProductDataSource.countries 繰り返される targets フィールドが削除されました。各データソースには、これらのフィールドで定義された単一のターゲットが設定されるようになりました。これは、複数データをターゲットにしたフィードが非推奨になったことを反映しています。
DatafeedStatus FileUpload ファイル アップロードのステータスは、別の読み取り専用リソースになりました。
datafeedId name ファイル アップロードの識別子。親データソースを参照します。
processingStatus processingState アップロードの処理ステータス。文字列値(successfailurein progress)は、列挙型(SUCCEEDEDFAILEDIN_PROGRESS)に置き換えられました。
errorswarnings issues エラーと警告は 1 つの issues リストに統合されました。各問題には severity フィールド(ERROR または WARNING)があります。
lastUploadDate uploadTime 前回のアップロードのタイムスタンプ。形式が文字列から Timestamp オブジェクトに変更されました。
countrylanguagefeedLabel 該当なし これらのフィールドはステータス リソースに存在しなくなりました。これらは DataSource リソースの一部です。
targets[].included_destinationstargets[].excluded_destinations primaryProductDataSource.destinations 掲載先と非掲載先の 2 つの別々のリストが、1 つの destinations リストに置き換えられました。新しいリストの各アイテムは、送信先とその状態(ENABLED または DISABLED)を指定するオブジェクトであり、より明示的な構成を提供します。