Übersicht über die Merchant Datasources API

Auf dieser Seite erfahren Sie, wie Sie Ihre Datenquellen, mit denen Sie Produkte einfügen können, programmatisch erstellen und aktualisieren. Automatische Datenquellen erleichtern das Senden Ihrer Produktdaten an Google. Mit automatischen Datenquellen wird sichergestellt, dass Google immer die aktuellsten Informationen zu relevanten Produkten von Ihrer Website erhält.

Mit der Content API for Shopping können Sie nur primäre Datenquellen erstellen. Mit der Merchant Data Sources API können Sie die folgenden Arten von Datenquellen erstellen:

Mit der Content API for Shopping können Sie nur Datenquellen mit Dateieingabe verwalten. Mit der Merchant API können Sie Datenquellen sowohl über Datei- als auch API-Eingabe verwalten.

Mit der Merchant Data Sources API haben Sie folgende Möglichkeiten:

  • Erstellen Sie eine neue primäre Datenquelle mit einer bestimmten feedLabel und contentLanguage.
  • Erstellen Sie eine Datenquelle, für die keine feedLabel- und contentLanguage-Felder festgelegt sind. Mit dieser Art von Datenquelle können Sie Ihre Produkte auf mehrere Länder ausrichten, da Sie Produkte mit verschiedenen Kombinationen von feedLabel und contentLanguage in eine einzige Datenquelle einfügen können.
  • Erstellen Sie eine ergänzende Datenquelle, um sie mit einer vorhandenen primären Datenquelle zu verknüpfen.
  • Legen Sie einen Zeitplan für eine Dateidatenquelle fest.
  • Melden Sie sich in Ihrem Konto an, um die automatische Verwaltung von Datenquellen zu aktivieren.
  • API-Datenquellen verwalten
  • Verwalten Sie die Standardregel für Datenquellen mithilfe primärer Produktdatenquellen.
  • Verwenden Sie andere Arten von Datenquellen, z. B. Angebotsdaten.

Sie können die Merchant API nicht verwenden, um Produkte in eine Datenquelle einzufügen, die sowohl lokal erhältliche als auch Onlineprodukte enthält. Weitere Informationen zu Datenquellenkanälen finden Sie unter Kanäle.

Vorbereitung

  • Ihr Konto muss zu Feeds mit einer einzelnen Sprache migriert worden sein.
  • Verwenden Sie die Datenquellenliste oder die Get-Methoden, um zu prüfen, ob das Konto bereits zur Aufteilung von Datenzielen migriert wurde. Wenn Sie nicht berechtigt sind, erhalten Sie die folgende Ausnahmemeldung und sollten sich an den Support wenden.

    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.
    

Neue Datenquelle erstellen

Primäre Datenquellen sind die wichtigsten Datenquellen für Ihr Merchant Center-Inventar. Produkte können nur über eine primäre Datenquelle hinzugefügt oder entfernt werden. Wenn jedes Produkt, das Sie Ihrer primären Datenquelle hinzufügen, die Datenanforderungen und Eignungsvoraussetzungen des Merchant Centers erfüllt, müssen Sie keine weiteren Datenquellen erstellen.

Wenn Sie eine neue primäre Datenquelle mit einer bestimmten feedLabel und contentLanguage erstellen möchten, legen Sie die Felder feedLabel und contentLanguage in der typspezifischen Konfiguration fest. Weitere Informationen zu diesen Feldern finden Sie unter PrimaryProductDataSource.

Im folgenden Beispiel wird gezeigt, wie Sie eine primäre Produktdatenquelle erstellen:

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"
  }
}

Ersetzen Sie Folgendes:

  • {ACCOUNT_ID}: Die eindeutige Kennung Ihres Merchant Center-Kontos.
  • {DISPLAY_NAME}: Der Anzeigename der Datenquelle.
  • {CONTENT_LANGUAGE}: Der aus zwei Buchstaben bestehende ISO 639-1-Sprachcode der Produkte in der Datenquelle.
  • {FEED_LABEL}: Das Feedlabel der Datenquelle.
  • {COUNTRY}: Der CLDR-Territorialcode des Ziellandes der Produkte, die über die Datenquelle hochgeladen werden.

Nachdem die Anfrage erfolgreich ausgeführt wurde, wird die folgende Antwort angezeigt:

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

Weitere Informationen zum Erstellen einer Datenquelle finden Sie unter accounts.dataSources.create.

Verwenden Sie die Methode accounts.dataSources.get oder accounts.dataSources.list, um die neu erstellte Datenquelle aufzurufen.

Im folgenden Beispiel wird gezeigt, wie Sie eine primäre Produktdatenquelle für die Kombination GB und en feedLabel und contentLanguage erstellen.

Java

     public static String createDataSource(Config config, String displayName) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    DataSourcesServiceSettings dataSourcesServiceSettings =
        DataSourcesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    String parent = getParent(config.getAccountId().toString());

    // The type of data that this datasource will receive.
    PrimaryProductDataSource primaryProductDataSource =
        PrimaryProductDataSource.newBuilder()
            // Channel can be "ONLINE_PRODUCTS" or "LOCAL_PRODUCTS" or "PRODUCTS" .
            // While accepted, datasources with channel "products" representing unified products
            // currently cannot be used with the Products bundle.
            .setChannel(PrimaryProductDataSource.Channel.ONLINE_PRODUCTS)
            .addCountries("GB")
            .build();

    try (DataSourcesServiceClient dataSourcesServiceClient =
        DataSourcesServiceClient.create(dataSourcesServiceSettings)) {

      CreateDataSourceRequest request =
          CreateDataSourceRequest.newBuilder()
              .setParent(parent)
              .setDataSource(
                  DataSource.newBuilder()
                      .setDisplayName(displayName)
                      .setPrimaryProductDataSource(primaryProductDataSource)
                      .build())
              .build();

      System.out.println("Sending Create PrimaryProduct DataSource request");
      DataSource response = dataSourcesServiceClient.createDataSource(request);
      System.out.println("Created DataSource Name below");
      System.out.println(response.getName());
      return response.getName();
    } catch (Exception e) {
      System.out.println(e);
      System.exit(1);
      // Null is necessary to satisfy the compiler as we're not returning a String on failure.
      return null;
    }
  }

Neue primäre Datenquelle erstellen, um Anzeigen auf mehrere Länder auszurichten

Wenn Sie einen neuen Hauptfeed erstellen möchten, mit dem Sie Ihre Anzeigen auf mehrere Länder ausrichten können, konfigurieren Sie Ihre Datenquelle mit PrimaryProductDataSource und legen Sie die Felder feedLabel und contentLanguage nicht fest.

Wenn Sie die Content API for Shopping verwenden, wird nur eine API-Datenquelle für Sie erstellt. Mit der Merchant Data Sources API können Sie mehrere API-Datenquellen verwenden, von denen einige ohne die Felder feedLabel und contentLanguage sein können.

Nur Datenquellen mit API-Eingabe können ohne die Felder feedLabel und contentLanguage festgelegt werden. Dieser Datenquellentyp wird für Dateieingaben nicht unterstützt.

Zusätzliche Datenquelle erstellen und mit der primären Datenquelle verknüpfen

Zusätzliche Datenquellen dienen nur zum Aktualisieren von Produktdaten, die bereits in einer oder mehreren primären Datenquellen vorhanden sind. Sie können mehrere ergänzende Datenquellen verwenden, die jeweils Daten beliebig vieler Hauptdatenquellen ergänzen.

Sie können ergänzende Datenquellen verwenden, um Produktdaten teilweise zu aktualisieren. Fügen Sie dazu die eindeutige Kennung der Datenquelle als Abfrageparameter hinzu, wenn Sie die Methoden accounts.productInputs.insert und accounts.productInputs.delete aufrufen. Sie können zusätzliche Datenquellen nur zum Aktualisieren vorhandener Produkte verwenden.

Wenn Sie eine ergänzende Datenquelle erstellen möchten, konfigurieren Sie die Datenquelle mit SupplementalProductDataSource und verknüpfen Sie sie dann, indem Sie das Feld defaultRule in der primären Datenquelle aktualisieren.

Für Datenquellen mit ergänzenden Dateien müssen die Felder feedLabel und contentLanguage festgelegt sein. Bei zusätzlichen API-Datenquellen müssen die Felder feedLabel und contentLanguage immer deaktiviert sein.

Im folgenden Beispiel wird gezeigt, wie Sie eine Datei mit ergänzenden Produktdaten für die Kombination en und GB contentLanguage und feedLabel erstellen.

Java

     private static FileInput setFileInput() {
    // If FetchSettings are not set, then this will be an `UPLOAD` file type
    // that you must manually upload via the Merchant Center UI.
    return FileInput.newBuilder()
        // FileName is required for `UPLOAD` fileInput type.
        .setFileName("British T-shirts Supplemental Data")
        .build();
  }

  public static String createDataSource(Config config, String displayName, FileInput fileInput)
      throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    DataSourcesServiceSettings dataSourcesServiceSettings =
        DataSourcesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    String parent = getParent(config.getAccountId().toString());

    try (DataSourcesServiceClient dataSourcesServiceClient =
        DataSourcesServiceClient.create(dataSourcesServiceSettings)) {

      CreateDataSourceRequest request =
          CreateDataSourceRequest.newBuilder()
              .setParent(parent)
              .setDataSource(
                  DataSource.newBuilder()
                      .setDisplayName(displayName)
                      .setSupplementalProductDataSource(
                          SupplementalProductDataSource.newBuilder()
                              .setContentLanguage("en")
                              .setFeedLabel("GB")
                              .build())
                      .setFileInput(fileInput)
                      .build())
              .build();

      System.out.println("Sending create SupplementalProduct DataSource request");
      DataSource response = dataSourcesServiceClient.createDataSource(request);
      System.out.println("Created DataSource Name below");
      System.out.println(response.getName());
      return response.getName();
    } catch (Exception e) {
      System.out.println(e);
      System.exit(1);
      // Null is necessary to satisfy the compiler as we're not returning a String on failure.
      return null;
    }
  }

Führen Sie das folgende Beispiel aus, um eine zusätzliche Datenquelle zu erstellen, die für alle Kombinationen von feedLabel und contentLanguage funktioniert.

Java

     public static String createDataSource(Config config, String displayName) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    DataSourcesServiceSettings dataSourcesServiceSettings =
        DataSourcesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    String parent = getParent(config.getAccountId().toString());

    try (DataSourcesServiceClient dataSourcesServiceClient =
        DataSourcesServiceClient.create(dataSourcesServiceSettings)) {

      CreateDataSourceRequest request =
          CreateDataSourceRequest.newBuilder()
              .setParent(parent)
              .setDataSource(
                  DataSource.newBuilder()
                      .setDisplayName(displayName)
                      .setSupplementalProductDataSource(
                          SupplementalProductDataSource.newBuilder().build())
                      .build())
              .build();

      System.out.println("Sending create SupplementalProduct DataSource request");
      DataSource response = dataSourcesServiceClient.createDataSource(request);
      System.out.println("Created DataSource Name below");
      System.out.println(response.getName());
      return response.getName();
    } catch (Exception e) {
      System.out.println(e);
      System.exit(1);
      return null; // Necessary to satisfy the compiler as we're not returning a
      // String on failure.
    }
  }

Zeitplan für die Dateidatenquelle einrichten

Wenn Sie einen Zeitplan für Ihren Dateifeed einrichten möchten, konfigurieren Sie Ihre Datenquelle als Dateidatenquelle (FileInput-Feld) und richten Sie dann fetchsettings mit dem FileInput.FetchSettings-Feld ein.

Datenquellen löschen

Verwenden Sie die Methode accounts.dataSources.delete, um eine vorhandene Datenquelle aus Ihrem Konto zu löschen.

Im folgenden Beispiel wird gezeigt, wie Sie mit dem Paket DeleteDataSourceRequest eine Datenquelle löschen.

Java

     public static void deleteDataSource(Config config, String dataSourceId) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    DataSourcesServiceSettings dataSourcesServiceSettings =
        DataSourcesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    String name =
        DataSourceName.newBuilder()
            .setAccount(config.getAccountId().toString())
            .setDatasource(dataSourceId)
            .build()
            .toString();

    try (DataSourcesServiceClient dataSourcesServiceClient =
        DataSourcesServiceClient.create(dataSourcesServiceSettings)) {
      DeleteDataSourceRequest request = DeleteDataSourceRequest.newBuilder().setName(name).build();

      System.out.println("Sending deleteDataSource request");
      // Delete works for any datasource type.
      // If Type "Supplemental", delete will only work if it's not linked to any primary feed.
      // If a link exists and the Type is "Supplemental", you will need to remove the supplemental
      // feed from the default and/or custom rule(s) of any primary feed(s) that references it. Then
      // retry the delete.

      dataSourcesServiceClient.deleteDataSource(request); // No response returned on success.
      System.out.println(
          "Delete successful, note that it may take a few minutes for the delete to update in"
              + " the system.");
    } catch (Exception e) {
      System.out.println(e);
    }
  }

Datenquelle abrufen

Verwenden Sie die Methode accounts.dataSources.fetch, um eine in der Datenquelle konfigurierte Datei abzurufen. Bei dieser Methode wird der Datenabruf sofort in einer Datenquelle in Ihrem Konto ausgeführt. Diese Methode funktioniert nur für Datenquellen mit einer festgelegten Dateieingabe.

Datenquelle abrufen

Verwenden Sie die Methode accounts.dataSources.get, um die Datenquellenkonfiguration für Ihr Konto abzurufen.

Im folgenden Beispiel wird gezeigt, wie Sie mit dem Paket GetDataSourceRequest eine bestimmte Datenquelle für ein bestimmtes Merchant Center-Konto abrufen.

Java

     public static DataSource getDataSource(Config config, String dataSourceId) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the credentials retrieved above.
    DataSourcesServiceSettings dataSourcesServiceSettings =
        DataSourcesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates datasource name to identify datasource.
    String name =
        DataSourceName.newBuilder()
            .setAccount(config.getAccountId().toString())
            .setDatasource(dataSourceId)
            .build()
            .toString();

    // Calls the API and catches and prints any network failures/errors.
    try (DataSourcesServiceClient dataSourcesServiceClient =
        DataSourcesServiceClient.create(dataSourcesServiceSettings)) {

      // The name has the format: accounts/{account}/datasources/{datasource}
      GetDataSourceRequest request = GetDataSourceRequest.newBuilder().setName(name).build();

      System.out.println("Sending GET DataSource request:");
      DataSource response = dataSourcesServiceClient.getDataSource(request);

      System.out.println("Retrieved DataSource below");
      System.out.println(response);
      return response;
    } catch (Exception e) {
      System.out.println(e);
      System.exit(1);
      return null; // Necessary to satisfy the compiler as we're not returning a
      // DataSource on failure.
    }
  }

Datenquelle auflisten

Verwenden Sie die Methode accounts.dataSources.list, um die Konfigurationen für Datenquellen für Ihr Konto aufzulisten.

Im folgenden Beispiel wird gezeigt, wie Sie mit dem Paket ListDataSourceRequest alle Datenquellen für ein bestimmtes Merchant Center-Konto auflisten können.

Java

     public static ArrayList<DataSource> listDataSources(Config config) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the credentials retrieved above.
    DataSourcesServiceSettings dataSourcesServiceSettings =
        DataSourcesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates parent to identify the account from which to list all the datasources.
    String parent = getParent(config.getAccountId().toString());

    // Calls the API and catches and prints any network failures/errors.
    try (DataSourcesServiceClient dataSourcesServiceClient =
        DataSourcesServiceClient.create(dataSourcesServiceSettings)) {

      // The parent has the format: accounts/{account}
      ListDataSourcesRequest request =
          ListDataSourcesRequest.newBuilder().setParent(parent).build();

      System.out.println("Sending list datasources request:");
      ListDataSourcesPagedResponse response = dataSourcesServiceClient.listDataSources(request);

      int count = 0;
      ArrayList<DataSource> dataSources = new ArrayList<DataSource>();
      ArrayList<DataSource> justPrimaryDataSources = new ArrayList<DataSource>();

      // Iterates over all rows in all pages and prints the datasource in each row.
      // Automatically uses the `nextPageToken` if returned to fetch all pages of data.
      for (DataSource element : response.iterateAll()) {
        System.out.println(element);
        count++;
        dataSources.add(element);
        // The below lines show how to filter datasources based on type.
        // `element.hasSupplementalProductDataSource()` would give you supplemental
        // datasources, etc.
        if (element.hasPrimaryProductDataSource()) {
          justPrimaryDataSources.add(element);
        }
      }
      System.out.print("The following count of elements were returned: ");
      System.out.println(count);
      return dataSources;
    } catch (Exception e) {
      System.out.println(e);
      System.exit(1);
      return null; // Necessary to satisfy the compiler as we're not returning an
      // ArrayList<DataSource> on failure.
    }
  }

Datenquelle für Patches

Verwenden Sie die Methode accounts.dataSources.patch, um die Konfiguration einer vorhandenen Datenquelle zu aktualisieren.

Im folgenden Beispiel wird gezeigt, wie Sie das Paket UpdateDataSourceRequest verwenden, um eine Datenquelle zu aktualisieren. Außerdem wird gezeigt, wie Sie eine primäre Datenquelle aktualisieren, um der Standardregel zusätzliche Datenquellen hinzuzufügen.

Java

     public static String updateDataSource(Config config, String displayName, String dataSourceId)
      throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    DataSourcesServiceSettings dataSourcesServiceSettings =
        DataSourcesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates datasource name to identify datasource.
    String name =
        DataSourceName.newBuilder()
            .setAccount(config.getAccountId().toString())
            .setDatasource(dataSourceId)
            .build()
            .toString();

    DataSource dataSource =
        DataSource.newBuilder()
            // Update the datasource to have the new display name
            .setDisplayName(displayName)
            .setName(name)
            .build();

    FieldMask fieldMask = FieldMask.newBuilder().addPaths("display_name").build();

    try (DataSourcesServiceClient dataSourcesServiceClient =
        DataSourcesServiceClient.create(dataSourcesServiceSettings)) {

      UpdateDataSourceRequest request =
          UpdateDataSourceRequest.newBuilder()
              .setDataSource(dataSource)
              .setUpdateMask(fieldMask)
              .build();

      System.out.println("Sending Update DataSource request");
      DataSource response = dataSourcesServiceClient.updateDataSource(request);
      System.out.println("Updated DataSource Name below");
      System.out.println(response.getName());
      return response.getName();
    } catch (Exception e) {
      System.out.println(e);
      System.exit(1);
      return null;
    }
  }

  public String updateDataSource(
      Config config,
      String primaryDataSourceName,
      String firstSupplementalDataSourceName,
      String secondSupplementalDataSourceName)
      throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    DataSourcesServiceSettings dataSourcesServiceSettings =
        DataSourcesServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Setting self to 'true' refers to the primary datasource itself.
    DataSourceReference dataSourceReferenceSelf =
        DataSourceReference.newBuilder().setSelf(true).build();
    DataSourceReference firstSupplementalDataSourceReference =
        DataSourceReference.newBuilder()
            .setSupplementalDataSourceName(firstSupplementalDataSourceName)
            .build();
    DataSourceReference secondSupplementalDataSourceReference =
        DataSourceReference.newBuilder()
            .setSupplementalDataSourceName(secondSupplementalDataSourceName)
            .build();

    // The attributes will first be taken from the primary DataSource.
    // Then the first supplemental DataSource if the attribute is not in the primary DataSource
    // And finally the second supplemental DataSource if not in the first two DataSources.
    // Note that CustomRules could change the behavior of how updates are applied.
    DefaultRule defaultRule =
        DefaultRule.newBuilder()
            .addTakeFromDataSources(dataSourceReferenceSelf)
            .addTakeFromDataSources(firstSupplementalDataSourceReference)
            .addTakeFromDataSources(secondSupplementalDataSourceReference)
            .build();

    // The type of data that this datasource will receive.
    PrimaryProductDataSource primaryProductDataSource =
        PrimaryProductDataSource.newBuilder().setDefaultRule(defaultRule).build();

    DataSource dataSource =
        DataSource.newBuilder()
            // Update the primary datasource to have the default rule datasources in the correct
            // order.
            .setPrimaryProductDataSource(primaryProductDataSource)
            .setName(primaryDataSourceName)
            .build();

    // The '.' signifies a nested field.
    FieldMask fieldMask =
        FieldMask.newBuilder().addPaths("primary_product_data_source.default_rule").build();

    try (DataSourcesServiceClient dataSourcesServiceClient =
        DataSourcesServiceClient.create(dataSourcesServiceSettings)) {

      UpdateDataSourceRequest request =
          UpdateDataSourceRequest.newBuilder()
              .setDataSource(dataSource)
              .setUpdateMask(fieldMask)
              .build();

      System.out.println("Sending Update DataSource request");
      DataSource response = dataSourcesServiceClient.updateDataSource(request);
      System.out.println("Updated DataSource Name below");
      System.out.println(response.getName());
      return response.getName();
    } catch (Exception e) {
      System.out.println(e);
      System.exit(1);
      return null;
    }
  }

Mit primären Produktdatenquellen können Sie die StandardRegel für Datenquellen verwalten. Die Standardregel gilt für alle Attribute in Ihrer Datenquelle. Die Standardregel kann beim Erstellen der Datenquelle oder durch Aktualisieren einer vorhandenen Datenquelle über das Feld „Standardregel“ festgelegt werden.

Weitere Informationen zum Einrichten von Regeln finden Sie unter Regeln für Produktdatenquellen einrichten.

Mit der folgenden Beispielkonfiguration wird sichergestellt, dass alle Attribute zuerst aus der Datenquelle mit der eindeutigen Kennung 1001 übernommen werden. Anschließend werden die fehlenden Attribute aus der primären Datenquelle hinzugefügt. Die verbleibenden Attribute werden schließlich aus der zusätzlichen Datenquelle mit der eindeutigen Kennung 1002 übernommen, sofern sie nicht bereits in einer anderen Datenquelle bereitgestellt wurden. Wenn dasselbe Attribut in mehreren Datenquellen angegeben ist, wird der Wert ausgewählt, der in der Liste höher steht.

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

Automatische Verwaltung von Feeds

So registrieren Sie Ihr Konto für die automatische Verwaltung von Datenquellen:

Sobald Ihr Konto für die Registrierung infrage kommt, können Sie die automatische Verwaltung von Datenquellen mit der Methode accounts.autofeedSettings.updateAutofeedSettings aktivieren. Wenn Sie die automatische Verwaltung von Datenquellen aktivieren, kann Google Ihre Produkte automatisch aus Ihrem Onlineshop hinzufügen und dafür sorgen, dass sie auf den Google-Plattformen immer auf dem neuesten Stand sind.

Uploadstatus der Datei abrufen

Wenn Sie den Status einer Datenquelle mit einer Datei, einem Abruf oder einer Tabelle abrufen möchten, können Sie die Methode GET des Dienstes accounts.dataSources.fileUploads aufrufen. Wenn Sie das Ergebnis des letzten Abrufs der Datenquelle abrufen möchten, der asynchron berechnet wird, wenn die Verarbeitung der Datenquelle abgeschlossen ist, verwenden Sie den Namens-ID latest.

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

Der Dateiuploadstatus kann eine detaillierte Ansicht Ihrer Produkte enthalten, einschließlich potenzieller Probleme.

Hinweis: Der Dateiuploadstatus ist möglicherweise nicht vorhanden, wenn die Datei nie hochgeladen wurde. Der Status des Dateiuploads kann „Wird verarbeitet“ sein, wenn die Anfrage kurz nach dem Upload erfolgt.