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. Korumalı alan test hesaplarını kullanarak API çağrılarını deneyebilir, kodu doğrulayabilir ve geliştirme döngüsünün başlarında olası sorunları tespit edebilirsiniz. Bu sayede üretim verilerini etkilemez, gerçek zamanlı işlemleri kesintiye uğratmaz veya Merchant Center politikalarını yanlışlıkla ihlal etmezsiniz.
Ön koşullar
Test hesapları oluşturup kullanabilmek için aşağıdaki şartları 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 basit bir işlemdir.
- Veri bütünlüğü ve güvenliği: Üretim verileri korunur ve üretim hesaplarında politika ihlali riski ortadan kalkar.
- Test verimliliği: Test amacıyla paralel bir üretim hesabı oluşturma yükü olmadan çok çeşitli senaryoları ve uç durumları test edebilirsiniz.
- Anında Teklif Doğrulama: Teklif eklemelerini hızlıca test etmek için test hesaplarında ana sayfa hak talebi ve doğrulama muafiyetinden 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ıtarak test sonuçlarının güvenilir olmasını sağlar.
- Daha sorunsuz API geçişleri: Test hesapları, Content API'den Merchant API'ye veya bir API sürümünden diğerine geçiş yapan kullanıcılar için yan yana doğrulama imkanı sunarak güvenli ve sorunsuz bir geçiş sağlar.
Test hesapları oluşturma
Test hesapları, Merchant API'deki 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 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ın doldurulması zorunludur:
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ının nasıl oluşturulacağı 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 istiyorsanız:
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 talimatları uygulayarak bu bağımsız test hesabını Merchant Center'da gelişmiş hesaba dönüştürün.
accounts.createAndConfigureyöntemini çağırarak ve gelişmiş test hesabınıaccountAggregationsağlayıcı olarak belirterek gelişmiş test hesabının altında ek test alt hesapları oluşturun. 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 varsayılan Merchant Center hesabı sınırınıza dahil edilir.
- Merchant API kotalarıyla entegrasyon: Merchant API, API kotası açısından test hesaplarını üretim hesapları olarak değerlendirir. Test hesapları, üretim hesaplarıyla aynı kotalara tabidir. Test hesapları için kota artışı mümkün değildir.
- Hesap dönüştürme ve gelişmiş hesaplar: İster bağımsız ister gelişmiş hesap olsun, normal (canlı) bir hesabı test hesabına veya test hesabını canlı hesaba dönüştüremezsiniz. Ayrıca,
accounts.createTestAccountile doğrudan gelişmiş 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ınlama yok: Test hesabına gönderilen veriler hiçbir Google platformunda (ör. Arama veya Alışveriş reklamları) yayınlanmaz.
- Kısıtlanmış uç noktalar: Aşağıdakiler 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 gerçekleştiremezsiniz.
En İyi Uygulamalar
Test hesaplarını kullanırken bazı en iyi uygulamaları takip etmenizi öneririz:
- Önce korumalı alanda 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_namekullanın (ör. "Taşıma Testi" veya "Entegrasyon test hesabı").