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 palavratestno 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, comoen-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_namepara indicar a finalidade de cada conta de teste, como "Teste de migração" ou "Conta de teste de integração".