حدود Merchant Center

بالإضافة إلى حصص طلبات البيانات من واجهة برمجة التطبيقات، يفرض Merchant Center حدودًا أخرى على الموارد. غالبًا ما يتم الخلط بينها وبين حصص استخدام واجهة برمجة التطبيقات، ولكنّها جزء من حدود Merchant Center. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة التعرّف على الحصص في Google Merchant Center.

حدود المنتجات

للتحقّق من حدود المنتجات، يمكنك استخدام الطريقتَين accounts.limits.get و accounts.limits.list.

لاسترداد حدّ أقصى معيّن للمنتج، مثلاً للحصول على حصة المنطقة الاقتصادية الأوروبية في "إعلانات Google" لحساب معيّن، عليك تحديد رقم تعريف الحساب ورقم تعريف الحدّ الأقصى في طلبك إلى accounts.limits.get. معرّف الحدّ هو مزيج من نوع الحدّ ونطاقه. على سبيل المثال، products~ADS_EEA للمنتجات التي تستهدف الإعلانات في المنطقة الاقتصادية الأوروبية، و products~ADS_NON_EEA للمنتجات التي تستهدف الإعلانات خارج المنطقة الاقتصادية الأوروبية.

إليك مثال على طلب للحصول على الحدّ الأقصى المسموح به لـ products~ADS_EEA لحساب معيّن:

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

يوضّح المثال التالي كيفية استرداد حدّ حساب معيّن:

جافا

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

يوضّح المثال التالي كيفية إدراج حدود الحساب:

جافا

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[]