الحسابات التجريبية في Merchant API

توفّر ميزة "حسابات اختبار واجهة 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"
}'

حسابات الاختبار والحسابات الفرعية المتقدّمة

تنشئ طريقة accounts.createTestAccount دائمًا حسابًا تجريبيًا مستقلاً. لإعداد تسلسل هرمي لحساب بامتيازات متقدّمة بغرض الاختبار، اتّبِع الخطوات التالية:

  1. أنشئ حسابًا تجريبيًا مستقلاً باستخدام accounts.createTestAccount.
  2. حوِّل حساب الاختبار المستقل هذا إلى حساب بامتيازات متقدّمة في Merchant Center باتّباع الإرشادات الواردة في مقالة مركز المساعدة التحويل إلى إعداد حساب بامتيازات متقدّمة.
  3. أنشئ حسابات فرعية إضافية للاختبار ضِمن حساب الاختبار المتقدّم من خلال استدعاء accounts.createAndConfigure وتحديد حساب الاختبار المتقدّم كموفّر accountAggregation. يتم تلقائيًا إنشاء أي حساب فرعي ضمن حساب موفّر تجريبي على أنّه حساب تجريبي (testAccount: true).

القيود

تم تصميم الحسابات التجريبية للتحقّق من صحة الوظائف، وتتضمّن قيودًا معيّنة:

  • عدد الحسابات التجريبية: يمكنك إنشاء 5 حسابات تجريبية كحدّ أقصى لكل حساب على Google. تُحتسب الحسابات التجريبية ضمن الحدّ التلقائي لعدد حسابات Merchant Center المسموح بها لكل حساب على Google.
  • التكامل مع حصص Merchant API: من منظور حصة واجهة برمجة التطبيقات، تتعامل Merchant API مع الحسابات التجريبية على أنّها حسابات إنتاج. تخضع حسابات الاختبار للحصص نفسها التي تخضع لها حسابات الإنتاج. لا يمكن زيادة الحصة المخصّصة لحسابات الاختبار.
  • تحويل الحسابات والحسابات بامتيازات متقدّمة: لا يمكنك تحويل حساب عادي (نشط)، سواء كان حسابًا مستقلاً أو حسابًا بامتيازات متقدّمة، إلى حساب تجريبي، أو تحويل حساب تجريبي إلى حساب نشط. بالإضافة إلى ذلك، لا يمكنك إنشاء حساب اختبار متقدّم مباشرةً باستخدام accounts.createTestAccount. أولاً، أنشئ حسابًا تجريبيًا مستقلاً ثم حوِّله إلى حساب بامتيازات متقدّمة.
  • عدم العرض بشكل علني: لن يتم نشر البيانات التي يتم إرسالها إلى حساب تجريبي على أي منصة من منصات Google، مثل &quot;بحث Google&quot; أو &quot;إعلانات Shopping&quot;.
  • نقاط نهاية محظورة: لا يمكنك استخدام حسابات تجريبية عند استخدام ميزات معيّنة، مثل:
  • قيود الربط: لا يمكنك ربط حسابات الاختبار بحسابات أخرى على &quot;إعلانات Google&quot; أو &quot;الملف التجاري على Google&quot;.
  • لا يمكن التسجيل في الحسابات التجريبية: لا يمكنك إجراء التسجيل في الحسابات التجريبية.

أفضل الممارسات

ننصحك باتّباع بعض أفضل الممارسات عند استخدام الحسابات التجريبية:

  • التطوير باستخدام بيئة الاختبار أولاً: يجب دائمًا التحقّق من صحة ميزات الدمج الجديدة في حساب تجريبي قبل تطبيقها على بيئة التشغيل الفعلي.
  • اختبارات الدمج الآلية: استخدِم حسابات الاختبار كبيئات ثابتة لتنفيذ اختبارات الانحدار الآلية.
  • تسمية الحساب التجريبي: استخدِم account_name للإشارة إلى الغرض من كل حساب تجريبي، مثل "اختبار نقل البيانات" أو "حساب اختبار الدمج".