Contas de teste na API Merchant

O recurso de contas de teste da API Merchant oferece um espaço seguro e isolado para testar as integrações antes de implantá-las em um ambiente ativo. Ao usar contas de teste em sandbox, você pode testar chamadas de API, validar códigos e identificar possíveis problemas no início do ciclo de desenvolvimento, sem afetar dados de produção, interromper operações em tempo real ou violar inadvertidamente as políticas do Merchant Center.

Pré-requisitos

Antes de criar e usar contas de teste, verifique se você atende aos seguintes requisitos:

  • Conta do Merchant Center:você precisa ter uma conta do Merchant Center.
  • Acesso à API Merchant:você precisa ser um usuário registrado da API Merchant.

Benefícios das contas de teste

O uso de contas de teste oferece várias vantagens importantes:

  • Configuração simples:a configuração da conta de teste é um processo de baixa complexidade que permite começar rapidamente a testar seus recursos e integrações.
  • Integridade e segurança dos dados:os dados de produção permanecem protegidos, e o risco de violações da política em contas de produção é eliminado.
  • Eficiência de teste:você pode testar uma ampla variedade de cenários diversos e casos extremos sem o ônus de manter uma conta de produção paralela para fins de teste.
  • Validação imediata de ofertas:aproveite a isenção automática de reivindicação e verificação da página inicial para contas de teste e teste rápido de inserções de ofertas. As ofertas são aprovadas por padrão para contas de teste.
  • Simulação realista:o ambiente espelha o comportamento de produção para funcionalidades críticas, como uploads de produtos e gerenciamento de inventário, garantindo a confiabilidade dos resultados dos testes.
  • Migrações de API mais tranquilas:as contas de teste facilitam uma transição confiante e perfeita para quem está migrando da API Content para a API Merchant ou de uma versão da API para outra, permitindo a validação lado a lado.

Como criar contas de teste

As contas de teste são criadas usando um método personalizado específico na API Merchant.

Use o 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"
  }

Substitua:

  • ACCOUNT_ID: seu ID do Merchant Center.
  • ACCESS_TOKEN: o token de autorização para fazer a chamada de API.
  • TEST_ACCOUNT_NAME: o nome da conta de teste. Recomendamos usar nomes significativos que sugiram que eles são usados para testes. Por exemplo, inclua a palavra test no nome da conta de teste.

Os seguintes campos são obrigatórios ao criar uma conta de teste:

  • time_zone: o fuso horário de relatórios e exibição da conta.
  • language_code: o código de idioma BCP-47 da conta, como en-US.

Uma chamada bem-sucedida retorna um recurso Account que inclui o accountId exclusivo e o nome do recurso da nova conta de teste:

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

Os exemplos de código a seguir mostram como criar uma conta de teste:

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

Limitações

As contas de teste são projetadas para validação funcional e têm restrições específicas:

  • Número de contas de teste:é possível criar no máximo cinco contas de teste por Conta do Google. As contas de teste contam para o limite padrão de contas do Merchant Center por Conta do Google.
  • Integração com cotas da API Merchant:do ponto de vista de uma cota de API, a API Merchant trata as contas de teste como contas de produção. As contas de teste estão sujeitas às mesmas cotas das contas de produção. Não é possível aumentar a cota para contas de teste.
  • Contas avançadas:não é possível criar contas de teste avançadas nem converter uma conta avançada em uma conta de teste.
  • Sem veiculação pública:os dados enviados a uma conta de teste nunca serão publicados em nenhuma plataforma do Google, como a Pesquisa ou os anúncios do Shopping.
  • Endpoints restritos:não é possível usar contas de teste com alguns recursos, como:
  • Restrições de vinculação:não é possível vincular contas de teste a outras contas do Google Ads ou do Perfil da Empresa no Google.
  • Não é possível registrar contas de teste:não é possível fazer registro para contas de teste.

Práticas recomendadas

Recomendamos seguir algumas práticas recomendadas ao usar contas de teste:

  • Desenvolvimento com prioridade para sandbox:sempre valide novos recursos de integração em uma conta de teste antes de aplicá-los ao ambiente de produção.
  • Teste de integração automatizado:use contas de teste como ambientes estáveis para executar testes de regressão automatizados.
  • Nomenclatura da conta de teste:use o account_name para indicar a finalidade de cada conta de teste, como "Teste de migração" ou "Conta de teste de integração".