Mit dem Feature „Merchant API-Testkonten“ steht ein sicherer und isolierter Bereich zur Verfügung, in dem Sie Integrationen gründlich testen können, bevor Sie sie in einer Live-Umgebung bereitstellen. Mit Sandbox-Testkonten können Sie API-Aufrufe testen, Code validieren und potenzielle Probleme frühzeitig im Entwicklungszyklus erkennen, ohne Auswirkungen auf Produktionsdaten zu haben, Echtzeitvorgänge zu unterbrechen oder versehentlich gegen Merchant Center-Richtlinien zu verstoßen.
Vorbereitung
Bevor Sie Testkonten erstellen und verwenden können, müssen Sie die folgenden Anforderungen erfüllen:
- Merchant Center-Konto:Sie müssen ein Merchant Center-Konto haben.
- 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 eines Testkontos ist ein unkomplizierter Vorgang, 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.
- Effizientere Tests: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 Überprüfung der Startseite für Testkonten, um Angebotsinsertionen schnell zu testen. Die Angebote werden standardmäßig für Testkonten genehmigt.
- Realistische Simulation:Die Umgebung spiegelt das Produktionsverhalten für kritische Funktionen wie Produkt-Uploads und Inventarverwaltung wider, sodass die Testergebnisse zuverlässig sind.
- Reibungslosere API-Migrationen:Testkonten erleichtern den Übergang von der Content API zur Merchant API oder von einer API-Version zu einer anderen, 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 Name des Testkontos sollte beispielsweise das Worttestenthalten.
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.
Bei einem erfolgreichen Aufruf wird eine
Konto
ressource zurückgegeben, die die eindeutige accountId und den Ressourcen
namen 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 ein Testkonto erstellt wird:
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"
}'
Beschränkungen
Testkonten sind für die funktionale Validierung konzipiert und unterliegen bestimmten Einschränkungen:
- Anzahl der Testkonten:Sie können maximal fünf Testkonten pro Google-Konto erstellen. Testkonten werden auf das Standardlimit für Merchant Center-Konten pro Google-Konto angerechnet.
- Integration mit Merchant API-Kontingenten:Aus Sicht des API-Kontingents behandelt die Merchant API Testkonten wie Produktionskonten. Für Testkonten gelten dieselben Kontingente wie für Produktionskonten. Kontingenterhöhungen für Testkonten sind nicht möglich.
- Erweiterte Konten:Sie können keine erweiterten Testkonten erstellen oder ein erweitertes Konto in ein Testkonto umwandeln.
- Keine öffentliche Bereitstellung:Daten, die an ein Testkonto gesendet werden, werden niemals auf einer Google-Plattform wie der Google Suche oder Shopping-Anzeigen veröffentlicht.
- Eingeschränkte Endpunkte:Sie können Testkonten nicht verwenden, wenn Sie bestimmte Funktionen nutzen, z. B.:
- Verknüpfungsbeschränkungen:Sie können Testkonten nicht mit anderen Google Ads- oder Google Unternehmensprofil-Konten verknüpfen.
- Keine Registrierung für Testkonten: Sie können keine Registrierung für Test Konten durchführen.
Best Practices
Wir empfehlen, bei der Verwendung von Testkonten einige Best Practices zu beachten:
- Sandbox-First-Entwicklung:Validieren Sie neue Integrationsfunktionen immer in einem Testkonto, bevor Sie sie auf Ihre Produktionsumgebung anwenden.
- Automatisierte Integrationstests:Verwenden Sie Testkonten als stabile Umgebungen für die Ausführung automatisierter Regressionstests.
- Benennung von Testkonten:Verwenden Sie
account_name, um auf den Zweck der einzelnen Testkonten hinzuweisen, z. B. „Migrationstest“ oder „Testkonto für Integrationen“.