חשבונות בדיקה ב-Merchant API

התכונה 'חשבונות בדיקה ב-Merchant API' מספקת מרחב בטוח ומבודד לבדיקה יסודית של שילובים לפני הפריסה שלהם בסביבה פעילה. באמצעות חשבונות בדיקה בסביבת ארגז חול, אפשר להתנסות בקריאות ל-API, לאמת קוד ולזהות בעיות פוטנציאליות בשלב מוקדם של מחזור הפיתוח, בלי להשפיע על נתוני הייצור, לשבש פעולות בזמן אמת או להפר בטעות את מדיניות Merchant Center.

דרישות מוקדמות

לפני שיוצרים חשבונות בדיקה ומשתמשים בהם, חשוב לוודא שהמקרה שלכם עונה על הקריטריונים הבאים:

  • חשבון Merchant Center: צריך להיות לכם חשבון Merchant Center.
  • גישה ל-Merchant API: אתם צריכים להיות משתמשים רשומים ב-Merchant API.

היתרונות של חשבונות בדיקה

לשימוש בחשבונות בדיקה יש כמה יתרונות מרכזיים:

  • הגדרה פשוטה: תהליך ההגדרה של חשבון הבדיקה הוא פשוט, ומאפשר לכם להתחיל במהירות לבדוק את התכונות והשילובים.
  • שלמות ובטיחות הנתונים: נתוני הייצור נשארים מוגנים, והסיכון להפרות מדיניות בחשבונות ייצור מבוטל.
  • יעילות הבדיקה: אתם יכולים לבדוק מגוון רחב של תרחישים שונים ומקרים חריגים בלי הצורך לתחזק חשבון ייצור מקביל למטרות בדיקה.
  • אימות מיידי של מבצעים: כדי לבדוק במהירות הוספות של מבצעים, אפשר לנצל את הפטור האוטומטי מאימות ומתביעה של דף הבית בחשבונות בדיקה. המבצעים מאושרים כברירת מחדל בחשבונות בדיקה.
  • סימולציה ריאליסטית: הסביבה משקפת את התנהגות הייצור עבור פונקציות קריטיות כמו העלאות מוצרים וניהול מלאי שטחי פרסום, וכך מבטיחה שתוצאות הבדיקה יהיו מהימנות.
  • מעברי API חלקים יותר: חשבונות בדיקה מאפשרים מעבר בטוח וחלק למי שעובר מ-Content API ל-Merchant 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: מספר חשבון Merchant Center.
  • 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"
  }

בדוגמאות הקוד הבאות אפשר לראות איך ליצור חשבון בדיקה:

Java

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: מבחינת מכסת API,‏ Merchant API מתייחס לחשבונות בדיקה כמו לחשבונות פעילים. מכסות של חשבונות בדיקה זהות למכסות של חשבונות הפקה. אי אפשר להגדיל את המכסות בחשבונות בדיקה.
  • חשבונות מתקדמים: אי אפשר ליצור חשבונות מתקדמים לבדיקה או להמיר חשבון מתקדם לחשבון בדיקה.
  • לא מוצגות מודעות לציבור: נתונים שנשלחים לחשבון בדיקה לא יפורסמו לעולם באף פלטפורמה של Google, כמו חיפוש Google או מודעות שופינג.
  • נקודות קצה מוגבלות: אי אפשר להשתמש בחשבונות בדיקה כשמשתמשים בתכונות מסוימות, כמו:
  • הגבלות על קישור: אי אפשר לקשר חשבונות בדיקה לחשבונות אחרים ב-Google Ads או בפרופיל העסק ב-Google.
  • אין אפשרות להירשם לחשבונות בדיקה: אי אפשר להירשם לחשבונות בדיקה.

שיטות מומלצות

מומלץ לפעול לפי השיטות המומלצות הבאות כשמשתמשים בחשבונות בדיקה:

  • פיתוח בסביבת Sandbox: תמיד צריך לאמת תכונות חדשות של שילוב בחשבון בדיקה לפני שמחילים אותן על סביבת הייצור.
  • בדיקות אוטומטיות של שילובים: משתמשים בחשבונות בדיקה כסביבות יציבות להרצת בדיקות רגרסיה אוטומטיות.
  • שמות של חשבונות בדיקה: מומלץ להשתמש ב-account_name כדי לציין את המטרה של כל חשבון בדיקה, למשל "בדיקת העברה" או "חשבון בדיקה של שילוב".