このガイドでは、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)を指定するオブジェクトであり、より明示的な構成を提供します。 |