Además de las cuotas de llamadas a la API, Merchant Center aplica otros límites a los recursos. A menudo, se confunden con las cuotas de la API, pero forman parte de los límites de Merchant Center. Para obtener más información, consulta Información sobre las cuotas en Google Merchant Center.
Límites de productos
Para verificar los límites de productos, usa los accounts.limits.get y accounts.limits.list.
Para recuperar un límite de producto específico, por ejemplo, para obtener la cuota de anuncios del EEE de
una cuenta, debes especificar el ID de la cuenta y el ID del límite en tu llamada a
accounts.limits.get.
El ID del límite es una combinación del tipo de límite y el alcance. Por ejemplo, products~ADS_EEA para productos que segmentan anuncios en el EEE y products~ADS_NON_EEA para productos que segmentan anuncios fuera del EEE.
A continuación, se muestra una solicitud de ejemplo para obtener el límite products~ADS_EEA de una cuenta determinada:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits/products~ADS_EEA
En el siguiente ejemplo, se muestra cómo recuperar un límite de cuenta específico:
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");
}
}
Para obtener información sobre los IDs de límite disponibles para tu cuenta, usa
accounts.limits.list
con un filtro para type="products":
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/limits?filter=type%3D%22products%22
En el siguiente ejemplo, se muestra cómo enumerar los límites de la cuenta:
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());
}
}
Límites de representación de recursos
En los siguientes límites, se describen restricciones notables para ciertos valores de cadenas y campos de array dentro de las representaciones de recursos que se usan en la API de Merchant. Estos límites son los mismos para la API de Merchant y su función correspondiente en Merchant Center.
| Recurso | Campo | Límite |
|---|---|---|
shippingsettings |
Servicios de envío por país ( Grupos de envío por servicio de envío ( Etiquetas por grupo de envío ( Tablas secundarias por grupo de envío ( Cantidad de filas o columnas en una sola tabla de tarifas. Longitud de las etiquetas de envío. |
20 20 30 100 150 100 |
La cantidad de filas o columnas en una tabla de tarifas afecta los siguientes campos de array:
- Campos de array dentro de
rowHeadersocolumnHeaders:prices[]weights[]numberOfItems[]postalCodeGroupNames[]locations[]rows[]cells[]