Limiti di Merchant Center

Oltre alle quote per le chiamate API, Merchant Center applica altri limiti alle risorse. Questi limiti vengono spesso confusi con le quote API, ma fanno parte dei limiti di Merchant Center. Per saperne di più, consulta Informazioni sulle quote in Google Merchant Center.

Limiti di prodotto

Per controllare i limiti dei prodotti, utilizza i metodi accounts.limits.get e accounts.limits.list.

Per recuperare un limite di prodotto specifico, ad esempio per ottenere la quota SEE di Google Ads di un account, devi specificare l'ID account e l'ID limite nella chiamata a accounts.limits.get. L'ID limite è una combinazione di tipo e ambito del limite. Ad esempio, products~ADS_EEA per i prodotti che hanno come target gli annunci nel SEE e products~ADS_NON_EEA per i prodotti che hanno come target gli annunci al di fuori del SEE.

Ecco una richiesta di esempio per ottenere il limite products~ADS_EEA per un determinato account:

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

Il seguente esempio mostra come recuperare un limite specifico dell'account:

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

Per scoprire gli ID limite disponibili per il tuo account, utilizza accounts.limits.list con un filtro per type="products":

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

Il seguente esempio mostra come elencare i limiti dell'account:

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

Limiti di rappresentazione delle risorse

I seguenti limiti descrivono limitazioni significative per determinati valori delle stringhe e campi di array all'interno delle rappresentazioni delle risorse utilizzate nell'API Merchant. Questi limiti sono gli stessi sia per l'API Merchant sia per la funzionalità corrispondente in Merchant Center.

Risorsa Campo Limite
shippingsettings

Servizi di spedizione per paese (services).

Gruppi di spedizione per servizio di spedizione (rateGroups).

Etichette per gruppo di spedizione (applicableShippingLabels).

Sottotabelle per gruppo di spedizione (subtables).

Numero di righe o colonne in una singola tabella delle tariffe.

Lunghezza delle etichette di spedizione.

20

20

30

100

150

100

Il numero di righe o colonne in una tabella delle tariffe influisce sui seguenti campi di array:

  • Campi di array in rowHeaders o columnHeaders:
    • prices[]
    • weights[]
    • numberOfItems[]
    • postalCodeGroupNames[]
    • locations[]
    • rows[]
    • cells[]