Merchant Center sınırları

Merchant Center, API çağrısı kotalarının yanı sıra kaynaklar üzerinde başka sınırlar da uygular. Bunlar genellikle API kotalarıyla karıştırılır ancak Merchant Center sınırlarının bir parçasıdır. Daha fazla bilgi için Google Merchant Center'daki kotalar hakkında başlıklı makaleyi inceleyin.

Ürün sınırları

Ürün sınırlarını kontrol etmek için accounts.limits.get ve accounts.limits.list yöntemlerini kullanırsınız.

Belirli bir ürün sınırını almak için (ör. bir hesabın Ads AEA kotasını almak için) accounts.limits.get çağrınızda hesap kimliğini ve sınır kimliğini belirtmeniz gerekir. Sınır kimliği, sınır türü ve kapsamın birleşimidir. Örneğin, AEA'da hedeflenen reklamları hedefleyen ürünler için products~ADS_EEA ve AEA dışındaki hedeflenen reklamları hedefleyen ürünler için products~ADS_NON_EEA.

Belirli bir hesap için products~ADS_EEA sınırını öğrenmek üzere gönderilen örnek bir istek aşağıda verilmiştir:

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

Aşağıdaki örnekte, belirli bir hesap sınırının nasıl alınacağı gösterilmektedir:

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");
  }
}

Hesabınızda kullanılabilen sınır kimliklerini öğrenmek için type="products" filtresiyle accounts.limits.list komutunu kullanın:

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

Aşağıdaki örnekte, hesap sınırlarının nasıl listeleneceği gösterilmektedir:

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());
  }
}

Kaynak temsili sınırları

Aşağıdaki sınırlar, Merchant API'de kullanılan kaynak temsillerindeki belirli dize değerleri ve dizi alanları için önemli kısıtlamaları açıklar. Bu sınırlar hem Merchant API hem de Merchant Center'daki ilgili özellik için aynıdır.

Kaynak Alan Sınır
shippingsettings

Ülke başına kargo hizmetleri (services).

Kargo hizmeti başına kargo grupları (rateGroups).

Kargo grubu başına etiketler (applicableShippingLabels).

Kargo grubu başına alt tablolar (subtables).

Tek bir ücret tablosundaki satır veya sütun sayısı

Kargo etiketlerinin uzunluğu

20

20

30

100

150

100

Ücret tablosundaki satır veya sütun sayısı, aşağıdaki dizi alanlarını etkiler:

  • rowHeaders veya columnHeaders içindeki dizi alanları:
    • prices[]
    • weights[]
    • numberOfItems[]
    • postalCodeGroupNames[]
    • locations[]
    • rows[]
    • cells[]