La latencia es el tiempo que transcurre hasta que recibes la respuesta a una solicitud. En esta guía, se proporcionan latencias de orden de magnitud para las solicitudes a la API de Merchant. Usa estos valores para establecer tiempos de espera y planificar la capacidad de procesamiento de tu integración.
La mayoría de las solicitudes a la API de Merchant se completan en menos de un segundo. Las actualizaciones de inventario local y regional pueden tardar unos segundos, y algunas consultas de informes tardan mucho más.
Latencias típicas
En la siguiente tabla, se indican las latencias aproximadas por tipo de solicitud. La latencia típica es la mediana: la mitad de las solicitudes se completan más rápido. El 1%más lento de las solicitudes tarda tanto como se muestra en la última columna o más.
| Tipo de solicitud | Métodos de ejemplo | Latencia típica | El 1% de las solicitudes más lentas |
|---|---|---|---|
| Lecturas y escrituras de productos | products.get, productInputs.insert, productInputs.patch, productInputs.delete |
De 100 a 600 milisegundos | Alrededor de 2 segundos |
| La mayoría de las demás solicitudes | products.list, accounts.get, dataSources.list, aggregateProductStatuses.list |
Menos de 1 segundo | Unos segundos |
| Escrituras de inventario local y regional | localInventories.insert, regionalInventories.insert y los métodos delete correspondientes |
Unos segundos | 10 segundos o más |
| Consultas de informes | accounts.reports.search |
Aproximadamente medio segundo | 30 segundos o más |
Las consultas de informes son las que más varían. Su latencia depende de la tabla del informe que consultes y de la cantidad de datos que abarque la consulta. Por lo general, alrededor de 1 de cada 10 consultas de informes tarda más de 2 segundos, y una pequeña fracción puede tardar más de un minuto.
Recomendaciones
- Establece tiempos de espera con margen de crecimiento. Si estableces tiempos de espera de solicitudes en tu cliente, configúralos muy por encima de las latencias más lentas que se indican en Latencias típicas. Por ejemplo, un tiempo de espera de 60 segundos deja un margen amplio para la mayoría de las solicitudes, pero no para todas las consultas de informes.
- Envía solicitudes independientes en paralelo. Como las escrituras de inventario tardan unos segundos cada una, enviarlas una tras otra limita la capacidad de procesamiento. Envía solicitudes independientes en paralelo o usa solicitudes por lotes. Cuando envíes varias solicitudes, ten en cuenta los límites diarios y por minuto. Para obtener más información, consulta Cuotas de frecuencia.
- Limita las consultas de informes a los datos que necesitas. Las consultas que abarcan conjuntos de datos grandes, como períodos extensos, tardan más y pueden agotar el tiempo de espera. Si necesitas grandes cantidades de datos, considera usar BigQuery. Para obtener más información, consulta Carga datos de Google Merchant Center en BigQuery.
- Vuelve a intentarlo con una retirada exponencial. Si una solicitud se agota o falla con un error transitorio, vuelve a intentarlo con una retirada exponencial.
Tiempo de procesamiento
En el caso de las solicitudes que cambian datos, una respuesta correcta significa que la API de Merchant aceptó el cambio, pero el procesamiento continúa después de la respuesta. El tiempo de procesamiento es el tiempo que transcurre desde la respuesta hasta que el cambio es visible en otros recursos. El tiempo de procesamiento no forma parte de la latencia y puede ser mucho más largo. Por ejemplo, puede tardar unos minutos hasta que el producto procesado refleje una entrada de producto insertada.
Para obtener más información sobre el estado final procesado de tus datos, consulta las siguientes guías: