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 Live-Umgebung bereitstellen. Mit Testkonten in der Sandbox 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 Sie die folgenden Anforderungen erfüllen:
- 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 entscheidende 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-AufrufTEST_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.
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 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 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 der API-Kontingente 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.
- Erweiterte Konten:Sie können keine erweiterten Testkonten erstellen oder ein erweitertes Konto in ein Testkonto umwandeln.
- Keine öffentliche Bereitstellung:Daten, die in einem Testkonto eingereicht werden, werden niemals auf einer Google-Plattform wie der Google Suche oder 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 „Integrations-Testkonto“.