La función Cuentas de prueba de la API de Merchant proporciona un espacio seguro y aislado para probar las integraciones de forma exhaustiva antes de implementarlas en un entorno de producción. Si usas cuentas de prueba de zona de pruebas, puedes experimentar con llamadas a la API, validar el código y, además, identificar posibles problemas al principio 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 tus funciones y, también, las integraciones con rapidez.
- 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 y casos extremos sin la carga de mantener una cuenta de producción paralela con fines de prueba.
- Validación inmediata de ofertas: 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 funciones críticas, como la carga de productos y la administración del inventario, lo que garantiza que los resultados de las pruebas sean confiables.
- Migraciones de APIs más fluidas: Las cuentas de prueba facilitan una transición segura y sin problemas para quienes migran de 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 indiquen que se usan para pruebas. Por ejemplo, incluye la palabratesten 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 los informes y de visualización de la cuenta.language_code: Es el código de idioma BCP-47 de la cuenta, comoen-US.
Una llamada correcta devuelve un recurso
Account
que incluye el accountId y el nombre del recurso únicos 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 indica 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"
}'
Cuentas y cuentas secundarias de prueba avanzadas
El método accounts.createTestAccount siempre crea una cuenta de prueba
independiente. Para configurar una jerarquía de cuenta avanzada para realizar pruebas, sigue estos pasos:
- Crea una cuenta de prueba independiente con
accounts.createTestAccount. - Convierte esa cuenta de prueba independiente en una cuenta avanzada en Merchant Center siguiendo las instrucciones del artículo del Centro de ayuda Convierte tu cuenta en una cuenta avanzada.
- Crea cuentas secundarias de prueba adicionales en la cuenta de prueba avanzada
llamando a
accounts.createAndConfigurey especificando la cuenta de prueba avanzada como el proveedor deaccountAggregation. Cualquier cuenta secundaria que se cree en una cuenta de proveedor de prueba se crea automáticamente como una cuenta de prueba (testAccount: true).
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 consideran para 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 la 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 se pueden aumentar las cuotas de las cuentas de prueba.
- Conversión de cuentas y cuentas avanzadas: No puedes convertir una cuenta
normal (activa), ya sea independiente o avanzada, en una cuenta de prueba,
ni convertir una cuenta de prueba en una cuenta activa. Además, no puedes crear directamente una cuenta de prueba avanzada con
accounts.createTestAccount. Primero, crea una cuenta de prueba independiente y, luego, conviértela en una cuenta avanzada. - No se publican anuncios: Los datos que se envían 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 del Perfil de Negocio de Google.
- No hay registro para las cuentas de prueba: No puedes realizar el registro de las 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: Valida siempre 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_namepara indicar el propósito de cada cuenta de prueba, como "Prueba de migración" o "Cuenta de prueba de integración".