Merchant Data Sources API の概要

このページでは、商品を挿入できるデータソースをプログラムで作成して更新する方法について説明します。自動データソースを使用すると、商品データを Google に簡単に送信できます。自動化されたデータソースにより、ウェブサイトの関連商品に関する最新情報が Google に確実に届きます。

Content API for Shopping では、プライマリ データソースのみを作成できます。Merchant Data sources API を使用すると、次のタイプのデータソースを作成できます。

Content API for Shopping では、ファイル入力でのみデータソースを管理できます。Merchant API を使用すると、ファイルと API の両方の入力を使用してデータソースを管理できます。

Merchant Data sources API を使用すると、次のことができます。

  • 特定の feedLabelcontentLanguage を使用して新しいメイン データソースを作成します。
  • feedLabel フィールドと contentLanguage フィールドが設定されていないデータソースを作成します。このタイプのデータソースを使用すると、feedLabelcontentLanguage の組み合わせが異なる商品を 1 つのデータソースに挿入できるため、商品の対象国を複数に設定できます。
  • 既存のプライマリ データソースにリンクする補助データソースを作成します。
  • ファイル データソースのスケジュールを設定する。
  • データソースの自動管理のためにアカウントを登録します。
  • API データソースを管理する。
  • プライマリ商品データソースを使用して、データソースのデフォルト ルールを管理します。
  • プロモーションなど、他の種類のデータソースを使用する。

Merchant API を使用して、ローカル商品とオンライン商品の両方を含むデータソースに商品を挿入することはできません。データソース チャンネルの詳細については、チャンネルをご覧ください。

前提条件

  • アカウントが 単一言語 / 地域フィードに移行されていること。
  • アカウントがデータ ターゲット分割にすでに移行されていることを確認するには、データソースのリストまたは取得メソッドを使用します。対象外の場合は、次の例外メッセージが表示され、サポートにお問い合わせいただく必要があります。

    This account is in the data sources migration process and can't be used with
    this API yet. Contact support for more info on when this account will be able
    to use the data sources endpoint.
    

新しいデータソースを作成する

メイン データソースは、Merchant Center の在庫に関するメインのデータソースです。商品を追加または削除できるのは、メイン データソースを使用した場合のみです。メインのデータソースに追加する商品がすべて Merchant Center のデータ要件と利用資格要件を満たしている場合、データソースを追加作成する必要はありません。

特定の feedLabelcontentLanguage を使用して新しいプライマリ データソースを作成するには、タイプ固有の構成で feedLabel フィールドと contentLanguage フィールドを設定します。これらのフィールドの詳細については、PrimaryProductDataSource をご覧ください。

次のサンプル リクエストは、プライマリ プロダクト データソースを作成する方法を示しています。

POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/{ACCOUNT_ID}/dataSources

{
  "displayName": "{DISPLAY_NAME}",
  "primaryProductDataSource": {
    "contentLanguage": "{CONTENT_LANGUAGE}",
    "feedLabel": "{FEED_LABEL}",
    "countries": [
      "{COUNTRY}"
    ],
    "channel": "ONLINE_PRODUCTS"
  }
}

次のように置き換えます。

  • {ACCOUNT_ID}: Merchant Center アカウントの一意の識別子。
  • {DISPLAY_NAME}: データソースの表示名。
  • {CONTENT_LANGUAGE}: データソースの商品の 2 文字の ISO 639-1 言語コード。
  • {FEED_LABEL}: データソースのフィードラベル。
  • {COUNTRY}: データソースを使用してアップロードされる商品のターゲット国を表す CLDR 地域コード。

リクエストが正常に実行されると、次のレスポンスが表示されます。

{
  "name": "accounts/{ACCOUNT_ID}/dataSources/{DATA_SOURCE_ID}",
  "dataSourceId": "{DATA_SOURCE_ID}",
  "displayName": "{DISPLAY_NAME}",
  "primaryProductDataSource": {
    "channel": "ONLINE_PRODUCTS",
    "feedLabel": "{FEED_LABEL}",
    "contentLanguage": "{CONTENT_LANGUAGE}",
    "countries": [
      "{COUNTRY}"
    ],
    "defaultRule": {
      "takeFromDataSources": [
        {
          "self": true
        }
      ]
    }
  },
  "input": "API"
}

データソースの作成の詳細については、accounts.dataSources.create メソッドをご覧ください。

新しく作成したデータソースを表示するには、accounts.dataSources.get メソッドまたは accounts.dataSources.list メソッドを使用します。

複数の国をターゲットとする新しいメイン データソースを作成する

複数の国をターゲットに設定できる新しいメインフィードを作成するには、PrimaryProductDataSource を使用してデータソースを構成し、feedLabel フィールドと contentLanguage フィールドを設定しないでください。

Content API for Shopping を使用すると、作成される API データソースは 1 つだけです。Merchant Data sources API を使用すると、複数の API データソースを設定できます。一部のデータソースでは、feedLabel フィールドと contentLanguage フィールドを設定しないこともできます。

feedLabel フィールドと contentLanguage フィールドを設定しないデータソースは、API 入力を使用するデータソースに限られます。このタイプのデータソースは、ファイル入力ではサポートされていません。

補助データソースを作成してメイン データソースにリンクする

補助データソースは、1 つ以上のメイン データソースにすでに存在している商品データを更新することのみに使用されます。補助データソースは複数作成することができ、1 つの補助データソースで複数のメインデータソースのデータを追加できます。

補助データソースを使用して商品データを部分的に更新するには、accounts.productInputs.insert メソッドと accounts.productInputs.delete メソッドを呼び出すときに、データソースの一意の識別子をクエリ パラメータとして追加します。補助データソースは、既存の商品を更新する場合にのみ使用できます。

補助データソースを作成するには、SupplementalProductDataSource を使用してデータソースを構成し、メイン データソースの defaultRule フィールドを更新してリンクします。

補足ファイルのデータソースには、feedLabel フィールドと contentLanguage フィールドを設定する必要があります。補足 API データソースでは、feedLabel フィールドと contentLanguage フィールドは常に未設定にする必要があります。

ファイル データソースのスケジュールを設定する

ファイルフィードのスケジュールを設定するには、FileInput フィールドを使用してデータソースをファイルデータソースとして構成し、FileInput.FetchSettings フィールドを使用して fetchsettings を設定します。

データソースを削除する

アカウントから既存のデータソースを削除するには、accounts.dataSources.delete メソッドを使用します。

データソースを取得する

データソースで構成されたファイルを取得するには、accounts.dataSources.fetch メソッドを使用します。この方法では、アカウントのデータソースでデータの取得が直ちに実行されます。この方法は、ファイル入力が設定されているデータソースでのみ機能します。

データソースの取得

アカウントのデータソース構成を取得するには、accounts.dataSources.get メソッドを使用します。

データソースの一覧表示

アカウントのデータソースの構成を一覧表示するには、accounts.dataSources.list メソッドを使用します。

パッチ データソース

既存のデータソースの構成を更新するには、accounts.dataSources.patch メソッドを使用します。

メインの商品データソースでは、データソースのデフォルトのルールを管理できます。デフォルトのルールは、データソース内のすべての属性に適用されるルールです。デフォルトのルールは、データソースの作成時に設定するか、デフォルトのルール フィールドを使用して既存のデータソースを更新することで設定できます。

ルールの設定の詳細については、商品データソースのルールを設定するをご覧ください。

次の構成例では、一意の識別子 1001 を持つデータソースから、すべての属性が最初に取得されます。その後、不足している属性がプライマリ データソースから追加されます。残りの属性は、他のどのデータソースでも指定されていない場合は、一意の ID 1002 を持つ補助データソースから取得されます。複数のデータソースで同じ属性が指定されている場合、リスト内の値が優先されます。

defaultRule {
 takeFromDataSources: [
   '1001', // Supplemental product data source
   'self', //  Self reference to the primary data source
   '1002' // Supplemental product data source
 ]
}

フィードの自動管理

データソースの自動管理にアカウントを登録するには、次の操作を行う必要があります。

アカウントが登録の対象となると、accounts.autofeedSettings.updateAutofeedSettings メソッドを使用してデータソースの自動管理を有効にできます。データソースの自動管理を有効にすると、Google がオンライン ショップから商品を自動的に追加し、Google のプラットフォームで常に最新の状態に保つことができます。

ファイルのアップロード ステータスを取得する

ファイル、フェッチ、スプレッドシートを使用してデータソースのステータスを取得するには、accounts.dataSources.fileUploads サービスの GET メソッドを呼び出します。データソースの処理が完了したときに非同期で計算されたデータソースの最後の取得結果を取得するには、名前 ID latest を使用します。

GET https://merchantapi.googleapis.com/accounts/v1beta/{ACCOUNT_ID}/datasources/{DATASOURCE_ID}/fileUploads/latest

ファイルのアップロード ステータスには、潜在的な問題など、商品の詳細が表示される場合があります。

ファイルがアップロードされていない場合、ファイルのアップロード ステータスは存在しない場合があります。ファイルのアップロード直後にリクエストした場合、ファイルのアップロード ステータスは処理中になることがあります。