Funkcja kont testowych Merchant API zapewnia bezpieczną i odizolowaną przestrzeń do dokładnego testowania integracji przed wdrożeniem ich w środowisku produkcyjnym. Korzystając z kont testowych w piaskownicy, możesz eksperymentować z wywołaniami interfejsu API, weryfikować kod i identyfikować potencjalne problemy na wczesnym etapie cyklu rozwoju bez wpływu na dane produkcyjne, zakłócania operacji w czasie rzeczywistym ani nieumyślnego naruszania zasad Merchant Center.
Wymagania wstępne
Zanim utworzysz konta testowe i zaczniesz z nich korzystać, musisz spełnić te wymagania:
- Konto Merchant Center: musisz mieć konto Merchant Center.
- Dostęp do Merchant API: musisz być zarejestrowanym użytkownikiem Merchant API.
Zalety kont testowych
Korzystanie z kont testowych ma kilka kluczowych zalet:
- Prosta konfiguracja: konfiguracja konta testowego to proces o niskim stopniu złożoności, który pozwala szybko rozpocząć testowanie funkcji i integracji.
- Integralność i bezpieczeństwo danych: dane produkcyjne pozostają chronione, a ryzyko naruszenia zasad na kontach produkcyjnych jest wyeliminowane.
- Wydajność testowania: możesz testować różne scenariusze i przypadki brzegowe bez konieczności utrzymywania równoległego konta produkcyjnego na potrzeby testowania.
- Natychmiastowa weryfikacja oferty: skorzystaj z automatycznego zwolnienia z obowiązku zgłaszania i weryfikacji strony głównej w przypadku kont testowych, aby szybko testować wstawianie ofert. Oferty są domyślnie zatwierdzane na kontach testowych.
- Realistyczna symulacja: środowisko odzwierciedla zachowanie produkcyjne w przypadku najważniejszych funkcji, takich jak przesyłanie produktów i zarządzanie asortymentem, co zapewnia wiarygodność wyników testów.
- Płynniejsze migracje interfejsu API: konta testowe ułatwiają pewne i płynne przejście z Content API na Merchant API lub z jednej wersji interfejsu API na inną, umożliwiając weryfikację równoległą.
Jak utworzyć konta testowe
Konta testowe są tworzone za pomocą specjalnej metody niestandardowej w Merchant API.
Użyj metody 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"
}
Zastąp te elementy:
ACCOUNT_ID: identyfikator Merchant Center.ACCESS_TOKEN: token autoryzacji do wykonania wywołania interfejsu API.TEST_ACCOUNT_NAME: nazwa konta testowego. Zalecamy używanie znaczących nazw, które sugerują, że są one używane do testowania. Na przykład nazwa konta testowego powinna zawierać słowotest.
Podczas tworzenia konta testowego wymagane są te pola:
time_zone: strefa czasowa raportowania i wyświetlania na koncie.language_code: kod języka BCP-47 dla konta, np.en-US.
Pomyślne wywołanie zwraca zasób
Account
, który zawiera unikalny identyfikator accountId nowego konta testowego i nazwę zasobu:
{
"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"
}
Te przykłady kodu pokazują, jak utworzyć konto testowe:
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"
}'
Ograniczenia
Konta testowe są przeznaczone do weryfikacji funkcjonalnej i mają określone ograniczenia:
- Liczba kont testowych: na 1 koncie Google możesz utworzyć maksymalnie 5 kont testowych. Konta testowe są uwzględniane w domyślnym limicie kont Merchant Center na koncie Google.
- Integracja z limitami Merchant API: z perspektywy limitu interfejsu API Merchant API traktuje konta testowe jako konta produkcyjne. Konta testowe podlegają tym samym limitom co konta produkcyjne. Nie można zwiększyć limitu kont testowych.
- Konta zaawansowane: nie możesz utworzyć zaawansowanych kont testowych ani przekształcić konta zaawansowanego w konto testowe.
- Brak publicznego wyświetlania: dane przesłane na konto testowe nigdy nie będą publikowane na żadnej platformie Google, np. w wyszukiwarce ani w reklamach produktowych.
- Ograniczone punkty końcowe: nie możesz używać kont testowych, korzystając z niektórych funkcji, takich jak:
- Ograniczenia dotyczące łączenia: nie możesz łączyć kont testowych z innymi kontami Google Ads ani profilami firm w Google.
- Brak rejestracji kont testowych: nie możesz wykonać rejestracji kont testowych.
Sprawdzone metody
Podczas korzystania z kont testowych zalecamy stosowanie tych sprawdzonych metod:
- Rozwój w piaskownicy: zawsze weryfikuj nowe funkcje integracji na koncie testowym, zanim zastosujesz je w środowisku produkcyjnym.
- Zautomatyzowane testowanie integracji: używaj kont testowych jako stabilnych środowisk do przeprowadzania zautomatyzowanych testów regresyjnych.
- Nazewnictwo kont testowych: użyj parametru
account_name, aby wskazać cel każdego konta testowego, np. „Testowanie migracji” lub „Konto testowe integracji”.