توفّر ميزة "الحسابات الاختبارية" في Merchant API مساحة آمنة ومعزولة لاختبار عمليات الدمج بدقة قبل نشرها في بيئة مباشرة. باستخدام حسابات الاختبار في وضع الحماية، يمكنك تجربة طلبات البيانات من واجهة برمجة التطبيقات والتحقّق من صحة الرموز البرمجية وتحديد المشاكل المحتملة في مرحلة مبكرة من دورة التطوير، بدون التأثير في بيانات الإنتاج أو تعطيل العمليات في الوقت الفعلي أو انتهاك سياسات Merchant Center عن غير قصد.
المتطلبات الأساسية
قبل إنشاء حسابات اختبارية واستخدامها، تأكَّد من استيفاء المتطلبات التالية:
- حساب Merchant Center: يجب أن يكون لديك حساب على Merchant Center.
- الوصول إلى Merchant API: يجب أن تكون مستخدمًا مسجّلاً في Merchant API.
مزايا الحسابات الاختبارية
يوفّر استخدام الحسابات الاختبارية العديد من المزايا الرئيسية:
- إعداد بسيط: عملية إعداد الحساب التجريبي بسيطة، وتتيح لك البدء سريعًا في اختبار الميزات وعمليات الدمج.
- صحّة البيانات وأمانها: تظل بيانات الإنتاج محمية، ويتم التخلص من خطر انتهاكات السياسات في حسابات الإنتاج.
- كفاءة الاختبار: يمكنك اختبار مجموعة كبيرة من السيناريوهات المتنوعة والحالات الاستثنائية بدون الحاجة إلى الاحتفاظ بحساب إنتاج موازٍ لأغراض الاختبار.
- التحقّق الفوري من العروض: يمكنك الاستفادة من الإعفاء التلقائي من المطالبة بالصفحة الرئيسية وإثبات ملكيتها للحسابات الاختبارية من أجل اختبار عمليات إدراج العروض بسرعة. تتم الموافقة على العروض تلقائيًا للحسابات الاختبارية.
- محاكاة واقعية: تعكس البيئة سلوك الإنتاج للوظائف المهمة، مثل تحميل المنتجات وإدارة المستودع، ما يضمن موثوقية نتائج الاختبار.
- عمليات نقل بيانات أكثر سلاسة في واجهة برمجة التطبيقات: تسهّل الحسابات التجريبية عملية الانتقال السلس والموثوق للمستخدمين الذين ينتقلون من Content API إلى Merchant 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: معرّف Merchant Center -
ACCESS_TOKEN: رمز التفويض لإجراء طلب البيانات من واجهة برمجة التطبيقات -
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
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. - حوِّل هذا الحساب التجريبي المستقل إلى حساب بامتيازات متقدّمة في Merchant Center باتّباع الإرشادات الواردة في مقالة التحويل إلى إعداد حساب بامتيازات متقدّمة في مركز المساعدة.
- أنشِئ حسابات فرعية تجريبية إضافية ضمن الحساب التجريبي المتقدّم من خلال طلب
accounts.createAndConfigureوتحديد الحساب التجريبي المتقدّم كمقدّم خدمةaccountAggregation. يتم تلقائيًا إنشاء أي حساب فرعي ضمن حساب مقدّم خدمة اختباري كحساب اختباري (testAccount: true).
القيود
تم تصميم الحسابات الاختبارية للتحقّق من الوظائف، وهي تخضع لقيود محدّدة:
- عدد الحسابات الاختبارية: يمكنك إنشاء 5 حسابات اختبارية كحدّ أقصى لكل حساب على Google. يتم احتساب الحسابات التجريبية ضمن الحدّ الأقصى التلقائي لعدد حسابات Merchant Center لكل حساب على Google.
- التكامل مع حصص Merchant API: من منظور حصة واجهة برمجة التطبيقات، تتعامل Merchant API مع الحسابات التجريبية على أنّها حسابات إنتاج. تخضع الحسابات الاختبارية للحصص نفسها التي تخضع لها حسابات الإنتاج. لا يمكن زيادة الحصص للحسابات الاختبارية.
- تحويل الحساب والحسابات بامتيازات متقدّمة: لا يمكنك تحويل حساب عادي (نشط)، سواء كان مستقلاً أو بامتيازات متقدّمة، إلى حساب تجريبي، أو تحويل حساب تجريبي إلى حساب نشط. بالإضافة إلى ذلك، لا يمكنك إنشاء حساب تجريبي متقدّم مباشرةً باستخدام
accounts.createTestAccount. أولاً، أنشئ حسابًا تجريبيًا مستقلاً، ثم حوِّله إلى حساب بامتيازات متقدّمة. - عدم العرض للجمهور: لن يتم نشر البيانات المرسَلة إلى حساب تجريبي على أي منصة من منصات Google، مثل "بحث Google" أو "إعلانات Shopping".
- نقاط النهاية المحظورة: لا يمكنك استخدام الحسابات الاختبارية عند استخدام ميزات معيّنة، مثل:
- قيود الربط: لا يمكنك ربط الحسابات الاختبارية بحسابات أخرى على "إعلانات Google" أو "الملف التجاري على Google".
- عدم تسجيل الحسابات الاختبارية: لا يمكنك إجراء عملية التسجيل للحسابات الاختبارية.
أفضل الممارسات
ننصح باتّباع بعض أفضل الممارسات عند استخدام الحسابات الاختبارية:
- التطوير في بيئة اختبارية أولاً: يجب دائمًا التحقّق من صحة ميزات الدمج الجديدة في حساب تجريبي قبل تطبيقها على بيئة التشغيل الفعلي.
- اختبار الدمج الآلي: يمكنك استخدام الحسابات الاختبارية كبيئات مستقرة لإجراء اختبارات الانحدار الآلية.
- تسمية الحسابات التجريبية: استخدِم
account_nameللإشارة إلى الغرض من كل حساب تجريبي، مثل "اختبار نقل البيانات" أو "حساب اختبار الدمج".