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