Comptes de test dans l'API Merchant

La fonctionnalité de comptes de test de l'API Merchant fournit un espace sécurisé et isolé pour tester minutieusement les intégrations avant de les déployer dans un environnement de production. En utilisant des comptes de test en bac à sable, vous pouvez tester des appels d'API, valider du code et identifier les problèmes potentiels au début du cycle de développement, sans affecter les données de production, perturber les opérations en temps réel ni enfreindre par inadvertance les règles de Merchant Center.

Prérequis

Avant de pouvoir créer et utiliser des comptes de test, assurez-vous de remplir les conditions suivantes :

  • Compte Merchant Center : vous devez disposer d'un compte Merchant Center.
  • Accès à Merchant API : vous devez être un utilisateur inscrit de Merchant API.

Avantages des comptes de test

L'utilisation de comptes de test présente plusieurs avantages clés :

  • Configuration simple : la configuration du compte de test est un processus peu complexe qui vous permet de commencer rapidement à tester vos fonctionnalités et intégrations.
  • Intégrité et sécurité des données : les données de production restent protégées, et le risque de non-respect des règles dans les comptes de production est éliminé.
  • Efficacité des tests : vous pouvez tester un large éventail de scénarios et de cas particuliers sans avoir à gérer un compte de production parallèle à des fins de test.
  • Validation immédiate des offres : profitez de l'exemption automatique de revendication et de validation de la page d'accueil pour les comptes de test afin de tester rapidement l'insertion d'offres. Les offres sont approuvées par défaut pour les comptes de test.
  • Simulation réaliste : l'environnement reflète le comportement de production pour les fonctionnalités critiques telles que l'importation de produits et la gestion de l'inventaire, ce qui garantit la fiabilité des résultats des tests.
  • Migrations d'API plus fluides : les comptes de test facilitent une transition fluide et en toute confiance pour les utilisateurs qui passent de Content API à Merchant API ou d'une version d'API à une autre en permettant une validation côte à côte.

Créer des comptes de test

Les comptes de test sont créés à l'aide d'une méthode personnalisée spécifique dans la Merchant API.

Utilisez la méthode 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"
  }

Remplacez les éléments suivants :

  • ACCOUNT_ID : votre ID Merchant Center.
  • ACCESS_TOKEN : jeton d'autorisation permettant d'effectuer l'appel d'API.
  • TEST_ACCOUNT_NAME : nom du compte de test. Nous vous recommandons d'utiliser des noms explicites qui suggèrent qu'ils sont utilisés pour les tests. Par exemple, incluez le mot test dans le nom du compte de test.

Les champs suivants sont obligatoires lors de la création d'un compte de test :

  • time_zone : fuseau horaire des rapports et de l'affichage pour le compte.
  • language_code : code de langue BCP-47 du compte, par exemple en-US.

Si l'appel aboutit, il renvoie une ressource Account qui inclut l'ID accountId unique et le nom de ressource du nouveau compte de test :

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

Les exemples de code suivants montrent comment créer un compte de test :

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

Comptes et sous-comptes de test avancés

La méthode accounts.createTestAccount crée toujours un compte de test autonome. Pour configurer une hiérarchie de comptes avancés à des fins de test :

  1. Créez un compte de test autonome à l'aide de accounts.createTestAccount.
  2. Convertissez ce compte test individuel en compte avancé dans Merchant Center en suivant les instructions de l'article du centre d'aide Configurer un compte avancé.
  3. Créez des sous-comptes de test supplémentaires sous le compte de test avancé en appelant accounts.createAndConfigure et en spécifiant le compte de test avancé comme fournisseur accountAggregation. Tout sous-compte créé sous un compte de fournisseur de test est automatiquement créé en tant que compte de test (testAccount: true).

Limites

Les comptes de test sont conçus pour la validation fonctionnelle et sont soumis à des restrictions spécifiques :

  • Nombre de comptes de test : vous pouvez créer jusqu'à cinq comptes de test par compte Google. Les comptes de test sont comptabilisés dans la limite par défaut de comptes Merchant Center par compte Google.
  • Intégration aux quotas de l'API Merchant : du point de vue des quotas d'API, l'API Merchant traite les comptes de test comme des comptes de production. Les comptes de test sont soumis aux mêmes quotas que les comptes de production. Il n'est pas possible d'augmenter les quotas pour les comptes de test.
  • Conversion de compte et comptes avancés : vous ne pouvez pas convertir un compte standard (actif), qu'il s'agisse d'un compte autonome ou d'un compte avancé, en compte test, ni convertir un compte test en compte actif. De plus, vous ne pouvez pas créer directement un compte de test avancé avec accounts.createTestAccount. Commencez par créer un compte de test autonome, puis convertissez-le en compte avancé.
  • Aucune diffusion publique : les données envoyées à un compte de test ne seront jamais publiées sur une plate-forme Google, comme la recherche ou les annonces Shopping.
  • Points de terminaison restreints : vous ne pouvez pas utiliser de comptes de test lorsque vous utilisez certaines fonctionnalités, telles que :
  • Restrictions d'association : vous ne pouvez pas associer de comptes de test à d'autres comptes Google Ads ou fiches d'établissement Google.
  • Pas d'enregistrement pour les comptes de test : vous ne pouvez pas enregistrer de comptes de test.

Bonnes pratiques

Nous vous recommandons de suivre certaines bonnes pratiques lorsque vous utilisez des comptes de test :

  • Développement Sandbox-First : validez toujours les nouvelles fonctionnalités d'intégration dans un compte de test avant de les appliquer à votre environnement de production.
  • Tests d'intégration automatisés : utilisez des comptes de test comme environnements stables pour exécuter des tests de régression automatisés.
  • Nom du compte de test : utilisez le account_name pour indiquer l'objectif de chaque compte de test, par exemple "Test de migration" ou "Compte de test d'intégration".