ویژگی حسابهای آزمایشی API فروشنده، فضایی امن و ایزوله برای آزمایش کامل یکپارچهسازیها قبل از استقرار آنها در یک محیط زنده فراهم میکند. با استفاده از حسابهای آزمایشی سندباکس شده، میتوانید فراخوانیهای API را آزمایش کنید، کد را اعتبارسنجی کنید و مشکلات احتمالی را در اوایل چرخه توسعه شناسایی کنید، بدون اینکه روی دادههای تولید تأثیر بگذارید، عملیات بلادرنگ را مختل کنید یا سهواً سیاستهای مرکز فروشندگان را نقض کنید.
پیشنیازها
قبل از اینکه بتوانید حسابهای آزمایشی ایجاد و استفاده کنید، مطمئن شوید که شرایط زیر را دارید:
- حساب مرکز تجاری: شما باید یک حساب مرکز تجاری داشته باشید.
- دسترسی به رابط برنامهنویسی کاربردی فروشنده: شما باید کاربر ثبتنامشدهی رابط برنامهنویسی کاربردی فروشنده باشید.
مزایای حسابهای آزمایشی
استفاده از حسابهای آزمایشی چندین مزیت کلیدی ارائه میدهد:
- راهاندازی ساده: راهاندازی حساب آزمایشی یک فرآیند کمپیچیدگی است که به شما امکان میدهد به سرعت شروع به آزمایش ویژگیها و ادغامهای خود کنید.
- یکپارچگی و ایمنی دادهها: دادههای عملیاتی محافظتشده باقی میمانند و خطر نقض سیاستها در حسابهای عملیاتی از بین میرود.
- کارایی تست: شما میتوانید طیف گستردهای از سناریوهای متنوع و موارد خاص را بدون نیاز به نگهداری حساب کاربری تولید موازی برای اهداف تست، آزمایش کنید.
- اعتبارسنجی فوری پیشنهاد: از معافیت خودکار از درخواست و تأیید صفحه اصلی برای حسابهای آزمایشی استفاده کنید تا به سرعت درج پیشنهادها را آزمایش کنید. پیشنهادها به طور پیشفرض برای حسابهای آزمایشی تأیید میشوند.
- شبیهسازی واقعگرایانه: محیط، رفتار تولید را برای عملکردهای حیاتی مانند بارگذاری محصول و مدیریت موجودی منعکس میکند و اطمینان حاصل میکند که نتایج آزمایش قابل اعتماد هستند.
- مهاجرت روانتر API: حسابهای آزمایشی با فراهم کردن امکان اعتبارسنجی پهلو به پهلو، انتقال مطمئن و بیوقفه را برای کسانی که از API محتوا به API فروشنده یا از یک نسخه API به نسخه دیگر منتقل میشوند، تسهیل میکنند.
نحوه ایجاد حسابهای آزمایشی
حسابهای آزمایشی با استفاده از یک روش سفارشی خاص در رابط برنامهنویسی کاربردی فروشنده (Merchant 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: شناسه مرکز فروش شما. -
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"
}
نمونههای کد زیر نحوه ایجاد یک حساب آزمایشی را نشان میدهند:
جاوا
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 -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"
}'
حسابهای آزمایشی پیشرفته و حسابهای فرعی
متد accounts.createTestAccount همیشه یک حساب آزمایشی مستقل ایجاد میکند. برای تنظیم یک سلسله مراتب حساب پیشرفته برای آزمایش:
- با استفاده از
accounts.createTestAccountیک حساب آزمایشی مستقل ایجاد کنید. - با دنبال کردن راهنماییهای موجود در مقاله « تبدیل به حساب پیشرفته» در مرکز پشتیبانی، آن حساب آزمایشی مستقل را به یک حساب پیشرفته در مرکز فروشندگان تبدیل کنید.
- با فراخوانی
accounts.createAndConfigureو مشخص کردن حساب آزمایشی پیشرفته به عنوان ارائه دهندهaccountAggregation، زیرحسابهای آزمایشی اضافی را تحت حساب آزمایشی پیشرفته ایجاد کنید. هر زیرحسابی که تحت یک حساب ارائه دهنده آزمایشی ایجاد شود، به طور خودکار به عنوان یک حساب آزمایشی ایجاد میشود (testAccount: true).
محدودیتها
حسابهای آزمایشی برای اعتبارسنجی عملکردی طراحی شدهاند و محدودیتهای خاصی دارند:
- شماره حسابهای آزمایشی: شما میتوانید حداکثر ۵ حساب آزمایشی برای هر حساب گوگل ایجاد کنید. حسابهای آزمایشی جزو محدودیت پیشفرض حسابهای مرکز فروش شما برای هر حساب گوگل محسوب میشوند.
- ادغام با سهمیههای API فروشگاه: از دیدگاه سهمیه API، API فروشگاه با حسابهای آزمایشی مانند حسابهای تولیدی رفتار میکند. حسابهای آزمایشی مشمول سهمیههای مشابه حسابهای تولیدی هستند. افزایش سهمیه برای حسابهای آزمایشی امکانپذیر نیست.
- تبدیل حساب و حسابهای پیشرفته: شما نمیتوانید یک حساب معمولی (زنده) - چه مستقل و چه پیشرفته - را به یک حساب آزمایشی تبدیل کنید، یا یک حساب آزمایشی را به یک حساب زنده تبدیل کنید. علاوه بر این، نمیتوانید مستقیماً با
accounts.createTestAccountیک حساب آزمایشی پیشرفته ایجاد کنید. ابتدا یک حساب آزمایشی مستقل ایجاد کنید و سپس آن را به یک حساب پیشرفته تبدیل کنید. - عدم ارائه خدمات عمومی: دادههای ارسال شده به یک حساب آزمایشی هرگز در هیچ پلتفرم گوگل، مانند تبلیغات جستجو یا خرید، منتشر نخواهند شد.
- نقاط پایانی محدود: هنگام استفاده از ویژگیهای خاص مانند موارد زیر، نمیتوانید از حسابهای آزمایشی استفاده کنید:
- محدودیتهای لینکدهی: شما نمیتوانید حسابهای آزمایشی را به سایر حسابهای گوگل ادز یا پروفایل تجاری گوگل لینک دهید.
- عدم ثبت نام برای حسابهای آزمایشی: شما نمیتوانید برای حسابهای آزمایشی ثبت نام انجام دهید.
بهترین شیوهها
توصیه میکنیم هنگام استفاده از حسابهای آزمایشی، برخی از بهترین شیوهها را دنبال کنید:
- توسعه در محیط Sandbox: همیشه ویژگیهای جدید یکپارچهسازی را قبل از اعمال در محیط عملیاتی خود، در یک حساب آزمایشی اعتبارسنجی کنید.
- تست یکپارچهسازی خودکار: از حسابهای آزمایشی به عنوان محیطهای پایدار برای اجرای تستهای رگرسیون خودکار استفاده کنید.
- نامگذاری حساب آزمایشی: از
account_nameبرای اشاره به هدف هر حساب آزمایشی استفاده کنید، مانند «تست مهاجرت» یا «حساب آزمایشی یکپارچهسازی».