Testkonten in der Merchant API

Mit der Funktion „Merchant API Test Accounts“ (Merchant API-Testkonten) können Sie Integrationen in einer sicheren und isolierten Umgebung gründlich testen, bevor Sie sie in einer Liveumgebung bereitstellen. Mit Sandbox-Testkonten können Sie API-Aufrufe testen, Code validieren und potenzielle Probleme frühzeitig im Entwicklungszyklus erkennen, ohne Produktionsdaten zu beeinträchtigen, Echtzeitvorgänge zu unterbrechen oder unbeabsichtigt gegen Merchant Center-Richtlinien zu verstoßen.

Vorbereitung

Bevor Sie Testkonten erstellen und verwenden können, müssen die folgenden Anforderungen erfüllt sein:

  • Merchant Center-Konto:Sie benötigen ein Merchant Center-Konto.
  • Merchant API-Zugriff:Sie müssen ein registrierter Nutzer der Merchant API sein.

Vorteile von Testkonten

Die Verwendung von Testkonten bietet mehrere wichtige Vorteile:

  • Einfache Einrichtung:Die Einrichtung des Testkontos ist ein unkomplizierter Prozess, mit dem Sie schnell mit dem Testen Ihrer Funktionen und Integrationen beginnen können.
  • Datenintegrität und ‑sicherheit:Produktionsdaten bleiben geschützt und das Risiko von Richtlinienverstößen in Produktionskonten wird eliminiert.
  • Effizienz beim Testen:Sie können eine Vielzahl verschiedener Szenarien und Grenzfälle testen, ohne ein paralleles Produktionskonto für Testzwecke verwalten zu müssen.
  • Sofortige Angebotsvalidierung:Nutzen Sie die automatische Ausnahme von der Inanspruchnahme und Bestätigung der Startseite für Testkonten, um Angebotsplatzierungen schnell zu testen. Angebote werden für Testkonten standardmäßig genehmigt.
  • Realistische Simulation:Die Umgebung spiegelt das Produktionsverhalten für wichtige Funktionen wie Produkt-Uploads und Inventarverwaltung wider, sodass die Testergebnisse zuverlässig sind.
  • Reibungslosere API-Migrationen:Testkonten ermöglichen einen sicheren und nahtlosen Übergang für Nutzer, die von der Content API zur Merchant API oder von einer API-Version zur anderen wechseln, da eine parallele Validierung möglich ist.

Testkonten erstellen

Testkonten werden mit einer bestimmten benutzerdefinierten Methode in der Merchant API erstellt.

Verwenden Sie die Methode accounts.createTestAccount:

  POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}:createTestAccount
  Content-Type: application/json
  Authorization: Bearer {ACCESS_TOKEN}"

  {
    "account_name": "{TEST_ACCOUNT_NAME}",
    "time_zone": {
      "id": "America/Los_Angeles"
    },
    "language_code": "en-US"
  }

Ersetzen Sie Folgendes:

  • ACCOUNT_ID: Ihre Merchant Center-ID.
  • ACCESS_TOKEN: das Autorisierungstoken für den API-Aufruf
  • TEST_ACCOUNT_NAME: der Name des Testkontos. Wir empfehlen, aussagekräftige Namen zu verwenden, die darauf hinweisen, dass sie für Tests verwendet werden. Der Testkontoname sollte beispielsweise das Wort test enthalten.

Die folgenden Felder sind beim Erstellen eines Testkontos erforderlich:

  • time_zone: Die Zeitzone für Berichte und Anzeigen für das Konto.
  • language_code: Der BCP-47-Sprachcode für das Konto, z. B. en-US.

Ein erfolgreicher Aufruf gibt eine Account-Ressource zurück, die die eindeutige accountId und den Ressourcennamen des neuen Testkontos enthält:

  {
    "name": "accounts/{TEST_ACCOUNT_ID}",
    "accountId": "{TEST_ACCOUNT_ID}",
    "accountName": "{TEST_ACCOUNT_NAME}",
    "adultContent": false,
    "testAccount": true,
    "timeZone": {
      "id": "America/Los_Angeles"
    },
    "languageCode": "en-US"
  }

Die folgenden Codebeispiele zeigen, wie Sie ein Testkonto erstellen:

Java

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.Account;
import com.google.shopping.merchant.accounts.v1.AccountsServiceClient;
import com.google.shopping.merchant.accounts.v1.AccountsServiceSettings;
import com.google.shopping.merchant.accounts.v1.CreateTestAccountRequest;
import com.google.type.TimeZone;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/**
 * This class demonstrates how to create a new Merchant Center test account.
 *
 * <p>For more information refer to:
 * https://developers.google.com/merchant/api/guides/accounts/test-accounts
 */
public class CreateTestAccountSample {

  // Method to create a test account.
  public static void createTestAccount(Config config, String newAccountName) throws Exception {

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

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

    // Calls the API and catches and prints any network failures/errors.
    try (AccountsServiceClient accountsServiceClient =
        AccountsServiceClient.create(accountsServiceSettings)) {

      // The test account to be created.
      Account account =
          Account.newBuilder()
              .setAccountName(newAccountName)
              .setTimeZone(TimeZone.newBuilder().setId("Europe/Zurich"))
              .setLanguageCode("en-US")
              .build();

      // Creates parent to identify where to insert the account.
      String parent = String.format("accounts/%s", config.getAccountId());

      // Create the request message.
      CreateTestAccountRequest request =
          CreateTestAccountRequest.newBuilder().setParent(parent).setAccount(account).build();

      System.out.println("Sending Create Test Account request:");
      Account response = accountsServiceClient.createTestAccount(request);

      System.out.println("Created Test Account below:");
      System.out.println(response);
    } catch (Exception e) {
      System.err.println("Error during test account creation:");
      e.printStackTrace();
    }
  }

  // Main method to run the sample.
  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    // This is the name of the new test account to be created.
    String newAccountName = "MyNewTestShop";

    createTestAccount(config, newAccountName);
  }
}

cURL

curl -X POST \
"https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/:createTestAccount" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
 "account_name": "{TEST_ACCOUNT_NAME}",
 "time_zone": {
   "id": "America/Los_Angeles"
   },
 "language_code": "en-US"
}'

Erweiterte Testkonten und Unterkonten

Mit der Methode accounts.createTestAccount wird immer ein eigenständiges Testkonto erstellt. So richten Sie eine Hierarchie für erweiterte Konten zum Testen ein:

  1. Erstellen Sie mit accounts.createTestAccount ein eigenständiges Testkonto.
  2. Wandeln Sie dieses eigenständige Testkonto in ein erweitertes Konto im Merchant Center um. Folgen Sie dazu der Anleitung im Hilfeartikel Konto in ein erweitertes Konto umwandeln.
  3. Erstellen Sie zusätzliche Testunterkonten unter dem erweiterten Testkonto, indem Sie accounts.createAndConfigure aufrufen und das erweiterte Testkonto als accountAggregation-Anbieter angeben. Alle Unterkonten, die unter einem Testanbieterkonto erstellt werden, werden automatisch als Testkonten (testAccount: true) erstellt.

Beschränkungen

Testkonten sind für die funktionale Validierung vorgesehen und unterliegen bestimmten Einschränkungen:

  • Anzahl der Testkonten:Sie können maximal fünf Testkonten pro Google-Konto erstellen. Testkonten werden auf Ihr Standardlimit für Merchant Center-Konten pro Google-Konto angerechnet.
  • Integration mit Merchant API-Kontingenten:Aus Sicht des API-Kontingents werden Testkonten in der Merchant API wie Produktionskonten behandelt. Für Testkonten gelten dieselben Kontingente wie für Produktionskonten. Kontingenterhöhungen für Testkonten sind nicht möglich.
  • Kontoumwandlung und erweiterte Konten:Sie können ein reguläres (Live-)Konto – unabhängig davon, ob es sich um ein eigenständiges Konto oder ein erweitertes Konto handelt – nicht in ein Testkonto umwandeln und umgekehrt. Außerdem können Sie mit accounts.createTestAccount kein erweitertes Testkonto erstellen. Erstellen Sie zuerst ein eigenständiges Testkonto und wandeln Sie es dann in ein erweitertes Konto um.
  • Keine öffentliche Auslieferung:Daten, die in einem Testkonto eingereicht werden, werden niemals auf einer Google-Plattform wie der Google Suche oder in Shopping-Anzeigen veröffentlicht.
  • Eingeschränkte Endpunkte:Testkonten können nicht für bestimmte Funktionen verwendet werden, z. B.:
  • Einschränkungen bei der Verknüpfung:Testkonten können nicht mit anderen Google Ads- oder Google Unternehmensprofil-Konten verknüpft werden.
  • Keine Registrierung für Testkonten:Sie können keine Registrierung für Testkonten durchführen.

Best Practices

Wir empfehlen, bei der Verwendung von Testkonten einige Best Practices zu beachten:

  • Sandbox-First Development:Validieren Sie neue Integrationsfunktionen immer in einem Testkonto, bevor Sie sie auf Ihre Produktionsumgebung anwenden.
  • Automatisierte Integrationstests:Verwenden Sie Testkonten als stabile Umgebungen zum Ausführen automatisierter Regressionstests.
  • Benennung von Testkonten:Verwenden Sie account_name, um den Zweck der einzelnen Testkonten anzugeben, z. B. „Migrationstest“ oder „Testkonto für die Integration“.