חשבונות בדיקה ב-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"
}'

חשבונות בדיקה מתקדמים וחשבונות משנה

השיטה accounts.createTestAccount תמיד יוצרת חשבון בדיקה עצמאי. כדי להגדיר היררכיה של חשבון מתקדם לבדיקה:

  1. יוצרים חשבון בדיקה עצמאי באמצעות accounts.createTestAccount.
  2. כדי להמיר את חשבון הבדיקה העצמאי לחשבון מתקדם ב-Merchant Center, פועלים לפי ההנחיות במאמר במרכז העזרה בנושא מעבר מהגדרת חשבון רגיל לחשבון מתקדם.
  3. כדי ליצור חשבונות משנה נוספים לבדיקה בחשבון המתקדם לבדיקה, צריך להתקשר אל accounts.createAndConfigure ולציין את החשבון המתקדם לבדיקה כaccountAggregationספק. כל חשבון משנה שנוצר בחשבון ספק לבדיקה נוצר אוטומטית כחשבון לבדיקה (testAccount: true).

מגבלות

חשבונות בדיקה מיועדים לבדיקת פונקציונליות, ויש להם הגבלות ספציפיות:

  • מספר חשבונות הבדיקה: אפשר ליצור עד 5 חשבונות בדיקה לכל חשבון Google. חשבונות בדיקה נספרים במגבלת ברירת המחדל של חשבונות Merchant Center לכל חשבון Google.
  • שילוב עם מכסות של Merchant API: מבחינת מכסות API,‏ Merchant API מתייחס לחשבונות בדיקה כאל חשבונות פעילים. מכסות זהות חלות על חשבונות בדיקה ועל חשבונות הפקה. אי אפשר להגדיל את המכסות בחשבונות בדיקה.
  • המרת חשבון וחשבונות מתקדמים: אי אפשר להמיר חשבון רגיל (פעיל) – בין אם הוא עצמאי או חשבון מתקדם – לחשבון בדיקה, או להמיר חשבון בדיקה לחשבון פעיל. בנוסף, אי אפשר ליצור ישירות חשבון בדיקה מתקדם באמצעות accounts.createTestAccount. קודם יוצרים חשבון בדיקה עצמאי ואז ממירים אותו לחשבון מתקדם.
  • לא מוצגות מודעות לציבור: נתונים שנשלחים לחשבון בדיקה אף פעם לא מתפרסמים באף פלטפורמה של Google, כמו מודעות לרשת החיפוש או מודעות שופינג.
  • נקודות קצה מוגבלות: אי אפשר להשתמש בחשבונות בדיקה כשמשתמשים בתכונות מסוימות, כמו:
  • הגבלות על קישור: אי אפשר לקשר חשבונות בדיקה לחשבונות אחרים ב-Google Ads או בפרופיל העסק ב-Google.
  • אי אפשר להירשם לחשבונות בדיקה: אי אפשר לבצע הרשמה לחשבונות בדיקה.

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

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

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