Cuentas de prueba en la API de Merchant

La función de cuentas de prueba de la API de Merchant proporciona un espacio seguro y aislado para probar minuciosamente las integraciones antes de implementarlas en un entorno real. Si usas cuentas de prueba en zona de pruebas, puedes experimentar con llamadas a la API, validar el código y detectar posibles problemas en las primeras etapas del ciclo de desarrollo, sin afectar los datos de producción, interrumpir las operaciones en tiempo real ni infringir de forma involuntaria las políticas de Merchant Center.

Requisitos previos

Antes de crear y usar cuentas de prueba, asegúrate de cumplir con los siguientes requisitos:

  • Cuenta de Merchant Center: Debes tener una cuenta de Merchant Center.
  • Acceso a la API de Merchant: Debes ser un usuario registrado de la API de Merchant.

Beneficios de las cuentas de prueba

Usar cuentas de prueba ofrece varias ventajas clave:

  • Configuración sencilla: La configuración de la cuenta de prueba es un proceso de baja complejidad que te permite comenzar a probar rápidamente tus funciones e integraciones.
  • Integridad y seguridad de los datos: Los datos de producción permanecen protegidos y se elimina el riesgo de incumplimiento de políticas en las cuentas de producción.
  • Eficiencia de las pruebas: Puedes probar una amplia variedad de situaciones diversas y casos extremos sin la carga de mantener una cuenta de producción paralela para fines de prueba.
  • Validación inmediata de ofertas: Aprovecha la exención automática de la declaración y verificación de la página principal para las cuentas de prueba y prueba rápidamente las inserciones de ofertas. Las ofertas se aprueban de forma predeterminada para las cuentas de prueba.
  • Simulación realista: El entorno refleja el comportamiento de producción para las funcionalidades críticas, como las cargas de productos y la administración de inventario, lo que garantiza que los resultados de las pruebas sean confiables.
  • Migraciones de API más fluidas: Las cuentas de prueba facilitan una transición segura y sin problemas para quienes pasan de la Content API a la API de Merchant o de una versión de la API a otra, ya que permiten la validación en paralelo.

Cómo crear cuentas de prueba

Las cuentas de prueba se crean con un método personalizado específico en la API de Merchant.

Usa el método 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"
  }

Reemplaza lo siguiente:

  • ACCOUNT_ID: Es tu ID de Merchant Center.
  • ACCESS_TOKEN: Es el token de autorización para realizar la llamada a la API.
  • TEST_ACCOUNT_NAME: Es el nombre de la cuenta de prueba. Te recomendamos que uses nombres significativos que sugieran que se usan para pruebas. Por ejemplo, incluye la palabra test en el nombre de la cuenta de prueba.

Los siguientes campos son obligatorios cuando se crea una cuenta de prueba:

  • time_zone: Es la zona horaria de informes y visualización de la cuenta.
  • language_code: Es el código de idioma BCP-47 de la cuenta, como en-US.

Una llamada exitosa muestra un Account recurso que incluye el `accountId` único de la nueva cuenta de prueba y el nombre del recurso:accountId

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

En las siguientes muestras de código, se muestra cómo crear una cuenta de prueba:

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

Limitaciones

Las cuentas de prueba están diseñadas para la validación funcional y tienen restricciones específicas:

  • Cantidad de cuentas de prueba: Puedes crear un máximo de 5 cuentas de prueba por Cuenta de Google. Las cuentas de prueba se incluyen en el límite predeterminado de cuentas de Merchant Center por Cuenta de Google.
  • Integración con las cuotas de la API de Merchant: Desde una perspectiva de cuota de la API, la API de Merchant trata las cuentas de prueba como cuentas de producción. Las cuentas de prueba están sujetas a las mismas cuotas que las cuentas de producción. No es posible aumentar las cuotas para las cuentas de prueba.
  • Cuentas avanzadas: No puedes crear cuentas de prueba avanzadas ni convertir una cuenta avanzada en una cuenta de prueba.
  • Sin publicación pública: Los datos enviados a una cuenta de prueba nunca se publicarán en ninguna plataforma de Google, como la Búsqueda o los anuncios de Shopping.
  • Extremos restringidos: No puedes usar cuentas de prueba cuando usas ciertas funciones, como las siguientes:
  • Restricciones de vinculación: No puedes vincular cuentas de prueba a otras cuentas de Google Ads o Perfiles de Negocio de Google.
  • Sin registro para cuentas de prueba: No puedes realizar el registro de cuentas de prueba.

Prácticas recomendadas

Te recomendamos que sigas algunas prácticas recomendadas cuando uses cuentas de prueba:

  • Desarrollo primero en la zona de pruebas: Siempre valida las nuevas funciones de integración en una cuenta de prueba antes de aplicarlas a tu entorno de producción.
  • Pruebas de integración automatizadas: Usa cuentas de prueba como entornos estables para ejecutar pruebas de regresión automatizadas.
  • Nombres de cuentas de prueba: Usa account_name para indicar el propósito de cada cuenta de prueba, como "Pruebas de migración" o "Cuenta de prueba de integración".