حساب‌های آزمایشی در «میانای برنامه‌سازی کاربردی بازرگان»

ویژگی «حساب‌های آزمایشی 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) ایجاد می‌شود.

محدودیت‌ها

حساب‌های آزمایشی برای اعتبارسنجی عملکردی طراحی شده‌اند و محدودیت‌های خاصی دارند:

  • تعداد حساب‌های آزمایشی: می‌توانید حداکثر ۵ حساب آزمایشی برای هر «حساب Google» ایجاد کنید. حساب‌های آزمایشی در حد مجاز پیش‌فرض شما برای حساب‌های Merchant Center در هر «حساب Google» لحاظ می‌شوند.
  • ادغام با سهمیه‌های Merchant API: از دیدگاه سهمیه API، Merchant API با حساب‌های آزمایشی مانند حساب‌های تولید رفتار می‌کند. حساب‌های آزمایشی مشمول همان سهمیه‌های حساب‌های تولیدی هستند. افزایش سهمیه برای حساب‌های آزمایشی امکان‌پذیر نیست.
  • تبدیل حساب و حساب‌های پیشرفته: نمی‌توانید حساب معمولی (فعال) را (چه مستقل باشد چه حساب پیشرفته) به حساب آزمایشی تبدیل کنید، یا حساب آزمایشی را به حساب فعال تبدیل کنید. علاوه‌براین، نمی‌توانید مستقیماً با accounts.createTestAccount حساب آزمایشی پیشرفته ایجاد کنید. ابتدا یک حساب آزمایشی مستقل ایجاد کنید و سپس آن را به حساب پیشرفته تبدیل کنید.
  • عدم ارائه عمومی: داده‌های ارسال‌شده به حساب آزمایشی هرگز در هیچ پلاتفرم Google، مانند «جستجو» یا آگهی‌های Shopping، منتشر نخواهد شد.
  • نقاط پایانی محدودشده: هنگام استفاده از برخی ویژگی‌ها، نمی‌توانید از حساب‌های آزمایشی استفاده کنید، ازجمله:
  • محدودیت‌های پیوند دادن: نمی‌توانید حساب‌های آزمایشی را به حساب‌های Google Ads یا «نمایه کسب‌وکار Google» دیگر پیوند دهید.
  • عدم ثبت‌نام برای حساب‌های آزمایشی: نمی‌توانید برای حساب‌های آزمایشی ثبت‌نام انجام دهید.

روال‌های مطلوب

توصیه می‌کنیم هنگام استفاده از حساب‌های آزمایشی، برخی‌از روال‌های مطلوب را دنبال کنید:

  • توسعه اول-جعبه امن: همیشه ویژگی‌های ادغام جدید را در حساب آزمایشی اعتبارسنجی کنید و سپس آن‌ها را در محیط تولیدتان اعمال کنید.
  • آزمایش ادغام خودکارشده: از حساب‌های آزمایشی به‌عنوان محیط‌های پایدار برای اجرای آزمایش‌های رگرسیون خودکارشده استفاده کنید.
  • نام‌گذاری حساب آزمایشی: از account_name برای اشاره به هدف هر حساب آزمایشی استفاده کنید، مثلاً «آزمایش انتقال» یا «حساب آزمایشی ادغام».