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 exhaustivamente las integraciones antes de implementarlas en un entorno real. Con las cuentas de prueba en zona de pruebas, puedes experimentar con llamadas a la API, validar código e identificar posibles problemas en las primeras etapas del ciclo de desarrollo, sin afectar los datos de producción, interrumpir las operaciones en tiempo real ni incumplir 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 rápidamente a probar tus funciones e integraciones.
  • Integridad y seguridad de los datos: Los datos de producción permanecen protegidos, y se elimina el riesgo de incumplimientos 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 la oferta: Aprovecha la exención automática de la reclamación y verificación de la página principal para las cuentas de prueba y, así, probar 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 se cambian de Content API a Merchant API o de una versión de la API a otra, ya que permiten la validación paralela.

Cómo crear cuentas de prueba

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

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: 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 creas 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 correcta devuelve un recurso Account que incluye el accountId único y el nombre del recurso de la nueva cuenta de prueba:

  {
    "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 la perspectiva de las cuotas 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 se pueden aumentar las cuotas de 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 ni del Perfil de Negocio de Google.
  • No se pueden registrar cuentas de prueba: No puedes registrar cuentas de prueba.

Prácticas recomendadas

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

  • Desarrollo centrado 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 las cuentas de prueba: Usa el account_name para sugerir el propósito de cada cuenta de prueba, como "Pruebas de migración" o "Cuenta de prueba de integración".