Planejar a latência da API

Latência é o tempo que leva para você receber a resposta de uma solicitação. Este guia mostra as latências de ordem de magnitude para solicitações de API Merchant. Use esses valores para definir tempos limite e planejar a capacidade de processamento da sua integração.

A maioria das solicitações de API Merchant é concluída em menos de um segundo. As atualizações de inventário local e regional podem levar alguns segundos, e algumas consultas de relatório levam muito mais tempo.

Latências típicas

A tabela a seguir lista as latências aproximadas por tipo de solicitação. A latência típica é a mediana: metade das solicitações é concluída mais rapidamente. O 1%mais lento das solicitações leva o tempo mostrado na última coluna ou mais.

Tipo de solicitação Exemplos de métodos Latência típica 1% mais lento das solicitações
Leituras e gravações de produtos products.get, productInputs.insert, productInputs.patch, productInputs.delete 100 a 600 milissegundos Cerca de 2 segundos
A maioria das outras solicitações products.list, accounts.get, dataSources.list, aggregateProductStatuses.list Menos de 1 segundo Alguns segundos
Gravações de inventário local e regional localInventories.insert, regionalInventories.insert e os métodos delete correspondentes Alguns segundos 10 segundos ou mais
Consultas de relatório accounts.reports.search Cerca de meio segundo 30 segundos ou mais

As consultas de relatório são as que mais variam. A latência depende da tabela de relatórios que você consulta e da quantidade de dados que a consulta abrange. Cerca de 1 em cada 10 consultas de relatório geralmente leva mais de 2 segundos, e uma pequena fração pode levar mais de um minuto.

Recomendações

  • Defina tempos limite com margem. Se você definir tempos limite de solicitação no cliente, defina-os bem acima das latências mais lentas listadas em Latências típicas. Por exemplo, um tempo limite de 60 segundos deixa uma margem ampla para a maioria das solicitações, mas não para todas as consultas de relatório.
  • Envie solicitações independentes em paralelo. Como as gravações de inventário levam alguns segundos cada, enviá-las uma após a outra limita sua capacidade de processamento. Envie solicitações independentes em paralelo ou use solicitações em lote. Ao enviar várias solicitações, lembre-se dos limites diários e por minuto. Para mais informações, consulte Cotas de taxa.
  • Limite as consultas de relatórios aos dados necessários. As consultas que abrangem grandes conjuntos de dados, como períodos longos, levam mais tempo e podem expirar. Se você precisar de grandes quantidades de dados, use o BigQuery. Para mais informações, consulte Carregar dados do Google Merchant Center no BigQuery.
  • Tente novamente usando a espera exponencial. Se uma solicitação expirar ou falhar com um erro temporário, tente novamente com espera exponencial.

Tempo de processamento

Para solicitações que mudam dados, uma resposta bem-sucedida significa que a API Merchant aceitou a mudança, mas o processamento continua após a resposta. O tempo de processamento é o tempo que leva da resposta até que a mudança fique visível em outros recursos. O tempo de processamento não faz parte da latência e pode ser muito mais longo. Por exemplo, pode levar alguns minutos até que o produto processado reflita uma entrada de produto inserida.

Para mais informações sobre o estado final processado dos seus dados, consulte os seguintes guias: