بالإضافة إلى الحصص المسموح بها لطلبات بيانات من واجهة برمجة التطبيقات، يفرض Merchant Center حدودًا أخرى على الموارد. كثيرًا ما يتم الخلط بين هذه الحدود والحصص المسموح بها لاستدعاء واجهة برمجة التطبيقات، ولكنّها جزء من حدود Merchant Center. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة فهم الحصص المسموح بها في Google Merchant Center.
حدود المنتجات
للاطّلاع على حدود المنتجات، يمكنك استخدام الطريقتَين accounts.limits.get و accounts.limits.list.
لاسترداد حدّ منتج معيّن، مثلاً للحصول على الحصة المسموح بها لإعلانات المنطقة الاقتصادية الأوروبية في
حساب، عليك تحديد رقم تعريف الحساب ورقم تعريف الحدّ في طلبك إلى
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 |
خدمات الشحن لكل بلد ( مجموعات الشحن لكل خدمة شحن ( التصنيفات لكل مجموعة شحن ( الجداول الفرعية لكل مجموعة شحن ( عدد الصفوف أو الأعمدة في جدول أسعار واحد طول تصنيفات الحزم |
20 20 30 100 150 100 |
يؤثّر عدد الصفوف أو الأعمدة في جدول الأسعار في حقول المصفوفات التالية:
- حقول المصفوفات ضمن
rowHeadersأوcolumnHeaders:prices[]weights[]numberOfItems[]postalCodeGroupNames[]locations[]rows[]cells[]