Merchant API Test Hesapları özelliği, entegrasyonları canlı bir ortamda dağıtmadan önce kapsamlı bir şekilde test etmek için güvenli ve izole bir alan sağlar. Sandbox'a alınmış test hesaplarını kullanarak API çağrılarıyla denemeler yapabilir, kodu doğrulayabilir ve geliştirme döngüsünün başlarında olası sorunları belirleyebilirsiniz. Bu sayede üretim verilerini etkilemeden, gerçek zamanlı işlemleri kesintiye uğratmadan veya Merchant Center politikalarını istemeden ihlal etmeden bu işlemleri gerçekleştirebilirsiniz.
Ön koşullar
Test hesapları oluşturup kullanabilmeniz için aşağıdaki koşulları karşıladığınızdan emin olun:
- Merchant Center hesabı: Merchant Center hesabınız olmalıdır.
- Merchant API erişimi: Merchant API'nin kayıtlı kullanıcısı olmanız gerekir.
Test hesaplarının avantajları
Test hesaplarını kullanmanın başlıca avantajları şunlardır:
- Basit Kurulum: Test hesabı kurulumu, özelliklerinizi ve entegrasyonlarınızı hızlıca test etmeye başlamanızı sağlayan düşük karmaşıklıkta bir süreçtir.
- Veri Bütünlüğü ve Güvenliği: Üretim verileri korunmaya devam eder ve üretim hesaplarındaki politika ihlali riski ortadan kalkar.
- Test verimliliği: Test amacıyla paralel bir üretim hesabı tutma yükü olmadan çok çeşitli senaryoları ve uç durumları test edebilirsiniz.
- Anında Fırsat Doğrulaması: Fırsat eklemelerini hızlıca test etmek için test hesaplarında ana sayfa talebi ve doğrulama işlemlerinden otomatik olarak muaf olmanın avantajlarından yararlanın. Teklifler, test hesapları için varsayılan olarak onaylanır.
- Gerçekçi Simülasyon: Ortam, ürün yükleme ve envanter yönetimi gibi kritik işlevler için üretim davranışını yansıtır ve test sonuçlarının güvenilir olmasını sağlar.
- Daha sorunsuz API geçişleri: Test hesapları, yan yana doğrulama olanağı sunarak Content API'den Merchant API'ye veya bir API sürümünden diğerine geçiş yapan kullanıcılar için güvenli ve sorunsuz bir geçiş sağlar.
Test hesabı oluşturma
Test hesapları, Merchant API'de belirli bir özel yöntem kullanılarak oluşturulur.
accounts.createTestAccount yöntemini kullanın:
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"
}
Aşağıdakileri değiştirin:
ACCOUNT_ID: Merchant Center kimliğiniz.ACCESS_TOKEN: API çağrısı yapmak için kullanılan yetkilendirme jetonuTEST_ACCOUNT_NAME: Test hesabının adı. Test için kullanıldıklarını belirten anlamlı adlar kullanmanızı öneririz. Örneğin, test hesabı adındatestkelimesi yer almalıdır.
Test hesabı oluştururken aşağıdaki alanlar gereklidir:
time_zone: Hesabın raporlama ve görüntüleme saat dilimi.language_code: Hesabın BCP-47 dil kodu (ör.en-US).
Başarılı bir çağrı, yeni test hesabının benzersiz accountId ve kaynak adını içeren bir Account kaynağı döndürür:
{
"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"
}
Aşağıdaki kod örneklerinde test hesabı oluşturma işlemi gösterilmektedir:
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"
}'
Gelişmiş test hesapları ve alt hesaplar
accounts.createTestAccount yöntemi her zaman bağımsız bir test hesabı oluşturur. Test için gelişmiş hesap hiyerarşisi oluşturmak üzere:
accounts.createTestAccountkullanarak bağımsız bir test hesabı oluşturun.- Gelişmiş hesap kurulumuna dönüştürme başlıklı Yardım Merkezi makalesindeki yönergeleri uygulayarak bu bağımsız test hesabını Merchant Center'da gelişmiş hesaba dönüştürün.
- Gelişmiş test hesabı altında ek test alt hesapları oluşturmak için
accounts.createAndConfigureişlevini çağırın veaccountAggregationsağlayıcısı olarak gelişmiş test hesabını belirtin. Bir test sağlayıcı hesabı altında oluşturulan tüm alt hesaplar otomatik olarak test hesabı (testAccount: true) olarak oluşturulur.
Sınırlamalar
Test hesapları, işlevsel doğrulama için tasarlanmıştır ve belirli kısıtlamalara tabidir:
- Test hesabı sayısı: Google Hesabı başına en fazla 5 test hesabı oluşturabilirsiniz. Test hesapları, Google Hesabı başına Merchant Center hesabı için varsayılan sınırınıza dahil edilir.
- Merchant API kotalarıyla entegrasyon: API kotası açısından, Merchant API, test hesaplarını üretim hesapları olarak değerlendirir. Test hesapları, üretim hesaplarıyla aynı kotalara tabidir. Test hesapları için kota artışı yapılamaz.
- Hesap dönüştürme ve gelişmiş hesaplar: Bağımsız veya gelişmiş hesap olsun, normal (gerçek) bir hesabı test hesabına ya da test hesabını gerçek hesaba dönüştüremezsiniz. Ayrıca,
accounts.createTestAccountile doğrudan gelişmiş bir test hesabı oluşturamazsınız. Öncelikle bağımsız bir test hesabı oluşturun ve ardından bu hesabı gelişmiş hesaba dönüştürün. - Herkese açık yayınlanmaz: Bir test hesabına gönderilen veriler hiçbir zaman Arama veya Alışveriş reklamları gibi Google platformlarında yayınlanmaz.
- Kısıtlanmış uç noktalar: Aşağıdaki gibi belirli özellikleri kullanırken test hesaplarını kullanamazsınız:
- Bağlantı Kısıtlamaları: Test hesaplarını diğer Google Ads veya Google İşletme Profili hesaplarına bağlayamazsınız.
- Test hesapları için kayıt yok: Test hesapları için kayıt işlemi yapamazsınız.
En İyi Uygulamalar
Test hesaplarını kullanırken bazı en iyi uygulamaları izlemenizi öneririz:
- Önce Korumalı Alan Geliştirme: Yeni entegrasyon özelliklerini üretim ortamınıza uygulamadan önce her zaman bir test hesabında doğrulayın.
- Otomatik Entegrasyon Testi: Otomatik regresyon testlerini çalıştırmak için test hesaplarını kararlı ortamlar olarak kullanın.
- Test hesabı adlandırma: Her test hesabının amacını belirtmek için
account_namesimgesini kullanın. Örneğin, "Taşıma testi" veya "Entegrasyon testi hesabı".