Функция тестовых аккаунтов для API продавцов предоставляет безопасное и изолированное пространство для тщательного тестирования интеграций перед их развертыванием в рабочей среде. Используя изолированные тестовые аккаунты, вы можете экспериментировать с вызовами API, проверять код и выявлять потенциальные проблемы на ранних этапах разработки, не затрагивая данные в рабочей среде, не нарушая работу в режиме реального времени и непреднамеренно не нарушая политики Merchant Center.
Предварительные требования
Прежде чем создавать и использовать тестовые учетные записи, убедитесь, что вы соответствуете следующим требованиям:
- Для работы с учетной записью Merchant Center необходимо иметь учетную запись Merchant Center.
- Доступ к API для продавцов: Вы должны быть зарегистрированным пользователем API для продавцов.
Преимущества тестовых аккаунтов
Использование тестовых аккаунтов предоставляет ряд ключевых преимуществ:
- Простая настройка: настройка тестового аккаунта — это простой процесс, позволяющий быстро начать тестирование функций и интеграций.
- Целостность и безопасность данных: производственные данные остаются защищенными, а риск нарушений политики в производственных учетных записях исключен.
- Эффективность тестирования: Вы можете тестировать широкий спектр разнообразных сценариев и граничных случаев без необходимости поддерживать параллельную рабочую учетную запись для целей тестирования.
- Мгновенная проверка предложений: Воспользуйтесь автоматическим освобождением от необходимости подтверждения и проверки на главной странице для тестовых аккаунтов, чтобы быстро протестировать размещение предложений. Предложения одобряются по умолчанию для тестовых аккаунтов.
- Реалистичное моделирование: среда имитирует производственное поведение для критически важных функций, таких как загрузка продукции и управление запасами, что обеспечивает надежность результатов тестирования.
- Более плавная миграция API: тестовые учетные записи обеспечивают уверенный и беспроблемный переход для тех, кто переходит с Content API на Merchant API или с одной версии API на другую, позволяя проводить параллельную проверку.
Как создать тестовые аккаунты
Тестовые учетные записи создаются с использованием специального пользовательского метода в API для продавцов.
Используйте метод 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"
}
Замените следующее:
-
ACCOUNT_ID: ваш идентификатор Merchant Center. -
ACCESS_TOKEN: токен авторизации для выполнения вызова API. -
TEST_ACCOUNT_NAME: имя тестовой учетной записи. Мы рекомендуем использовать осмысленные имена, указывающие на то, что они используются для тестирования. Например, в имени тестовой учетной записи должно быть словоtest.
При создании тестовой учетной записи необходимо заполнить следующие поля:
-
time_zone: Часовой пояс для формирования отчетов и отображения информации в учетной записи. -
language_code: Языковой код BCP-47 для учетной записи, например,en-US.
В случае успешного вызова возвращается ресурс Account , содержащий уникальный 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"
}
Следующие примеры кода демонстрируют, как создать тестовую учетную запись:
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"
}'
Ограничения
Тестовые учетные записи предназначены для функциональной проверки и имеют определенные ограничения:
- Количество тестовых аккаунтов: Вы можете создать максимум 5 тестовых аккаунтов на один аккаунт Google. Тестовые аккаунты учитываются в вашем стандартном лимите аккаунтов Merchant Center на один аккаунт Google.
- Интеграция с квотами Merchant API: С точки зрения квот API, Merchant API рассматривает тестовые учетные записи как рабочие. На тестовые учетные записи распространяются те же квоты, что и на рабочие. Увеличение квот для тестовых учетных записей невозможно.
- Расширенные учетные записи: Вы не можете создавать расширенные тестовые учетные записи или преобразовывать расширенную учетную запись в тестовую.
- Публичная публикация: данные, отправленные в тестовый аккаунт, никогда не будут опубликованы ни на одной платформе Google, например, в результатах поиска или в товарной рекламе.
- Ограниченные конечные точки: Вы не можете использовать тестовые учетные записи при использовании определенных функций, таких как:
- Ограничения на привязку: Вы не можете привязать тестовые аккаунты к другим аккаунтам Google Ads или аккаунтам Google Business Profile.
- Регистрация тестовых аккаунтов невозможна: Вы не можете зарегистрировать тестовый аккаунт.
Передовые методы
Мы рекомендуем следовать некоторым передовым методам при использовании тестовых учетных записей:
- Разработка с учетом принципа «песочницы»: всегда проверяйте новые функции интеграции в тестовой учетной записи, прежде чем применять их в рабочей среде.
- Автоматизированное интеграционное тестирование: используйте тестовые учетные записи в качестве стабильной среды для запуска автоматизированных регрессионных тестов.
- Именование тестовых учетных записей: используйте
account_name, чтобы указать назначение каждой тестовой учетной записи, например, «Тестирование миграции» или «Учетная запись для интеграционного тестирования».