מגבלות ב-Merchant Center

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

הגבלות על מוצרים

כדי לבדוק את מגבלות המוצרים, משתמשים בשיטות accounts.limits.get ו-accounts.limits.list.

כדי לאחזר מגבלה ספציפית על מוצר, למשל כדי לקבל את מכסת החשבון ב-EEA ב-Google Ads, צריך לציין את מזהה החשבון ואת מזהה המגבלה בקריאה אל accounts.limits.get. מזהה המגבלה הוא שילוב של סוג המגבלה וההיקף שלה. לדוגמה, products~ADS_EEA למוצרים שמטורגטים למודעות באזור הכלכלי האירופי (EEA), ו- products~ADS_NON_EEA למוצרים שמטורגטים למודעות מחוץ לאזור הכלכלי האירופי.

הנה דוגמה לבקשה לקבלת המגבלה של products~ADS_EEA בחשבון נתון:

GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits/products~ADS_EEA

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

Java

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.quota.v1.AccountLimit;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceClient;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceSettings;
import com.google.shopping.merchant.quota.v1.GetAccountLimitRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/**
 * This class demonstrates how to get a single account limit for a given Merchant Center account.
 */
public class GetAccountLimitSample {

  public static void getAccountLimit(String accountId, String limitId) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    AccountLimitsServiceSettings accountLimitsServiceSettings =
        AccountLimitsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    try (AccountLimitsServiceClient accountLimitsServiceClient =
        AccountLimitsServiceClient.create(accountLimitsServiceSettings)) {

      GetAccountLimitRequest request =
          GetAccountLimitRequest.newBuilder()
              .setName(String.format("accounts/%s/limits/%s", accountId, limitId))
              .build();

      System.out.println("Sending get account limit request:");
      AccountLimit response = accountLimitsServiceClient.getAccountLimit(request);

      System.out.println("Retrieved account limit below");
      System.out.println(response);

    } catch (Exception e) {
      System.out.println("Failed to get account limit.");
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();
    // The limit ID is a combination of the limit type and the scope, for example:
    // `products~ADS_NON_EEA`
    getAccountLimit(config.getAccountId().toString(), "products~ADS_EEA");
  }
}

כדי לראות את מזהי המגבלות שזמינים בחשבון שלכם, משתמשים בפקודה accounts.limits.list עם מסנן ל-type="products":

GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits?filter=type%3D%22products%22

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

Java

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.quota.v1.AccountLimit;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceClient;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceClient.ListAccountLimitsPagedResponse;
import com.google.shopping.merchant.quota.v1.AccountLimitsServiceSettings;
import com.google.shopping.merchant.quota.v1.ListAccountLimitsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to list account limits for a given Merchant Center account. */
public class ListAccountLimitsSample {

  public static void listAccountLimits(String accountId) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();

    AccountLimitsServiceSettings accountLimitsServiceSettings =
        AccountLimitsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    try (AccountLimitsServiceClient accountLimitsServiceClient =
        AccountLimitsServiceClient.create(accountLimitsServiceSettings)) {

      ListAccountLimitsRequest request =
          ListAccountLimitsRequest.newBuilder()
              .setParent(String.format("accounts/%s", accountId))
              .setFilter("type = \"products\"")
              .build();

      System.out.println("Sending list account limits request:");
      ListAccountLimitsPagedResponse response =
          accountLimitsServiceClient.listAccountLimits(request);

      int count = 0;

      // Iterates over all rows in all pages and prints the account limit in each row.
      // Automatically uses the `nextPageToken` if returned to fetch all pages of data.
      for (AccountLimit accountLimit : response.iterateAll()) {
        System.out.println(accountLimit);
        count++;
      }
      System.out.print("The following count of account limits were returned: ");
      System.out.println(count);

    } catch (Exception e) {
      System.out.println("Failed to list account limits.");
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();
    listAccountLimits(config.getAccountId().toString());
  }
}

מגבלות על ייצוג מקורות מידע

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

משאב שדה מגבלה
shippingsettings

שירותי משלוחים לפי מדינה (services).

קבוצות משלוחים לפי שירות משלוחים (rateGroups).

תוויות לפי קבוצת משלוחים (applicableShippingLabels).

טבלאות משנה לפי קבוצת משלוחים (subtables).

מספר השורות או העמודות בטבלת תעריפים אחת.

אורך של תוויות משלוח.

20

20

30

100

150

100

מספר השורות או העמודות בטבלת תעריפים משפיע על שדות המערך הבאים:

  • שדות מערך בתוך rowHeaders או columnHeaders:
    • prices[]
    • weights[]
    • numberOfItems[]
    • postalCodeGroupNames[]
    • locations[]
    • rows[]
    • cells[]