Solicitações em lote

custombatch é um método comum que permite agrupar várias chamadas de API, conhecidas como "entradas", em uma única solicitação HTTP. Cada entrada faz referência apenas a uma única chamada de método.

O lote personalizado é uma boa opção quando:

  • Você acabou de começar a usar a API e tem muitos dados de produtos para fazer upload.
  • Você precisa sincronizar os dados locais com o servidor enviando muitas atualizações e exclusões.

Fazer solicitações em lote

O envio de solicitações em lote é semelhante ao envio de chamadas de API em paralelo. Não há garantia de que a ordem das entradas definidas na solicitação estará na ordem em que são executadas. Recomendamos que você não use chamadas interdependentes em uma única solicitação em lote, como criar e atualizar a mesma remessa.

Da mesma forma, as respostas recebidas para solicitações em lote podem ser retornadas em uma ordem diferente daquela das entradas da solicitação. O BatchId pode ser usado para correlacionar solicitações e respostas, já que as respostas podem ser retornadas fora de sequência.

É possível fazer solicitações em lote na API chamando o método custombatch apropriado:

Recursos e métodos de lote personalizados correspondentes
Accounts accounts.custombatch
Accountstatuses accountstatuses.custombatch
Accounttax accounttax.custombatch
Datafeeds datafeeds.custombatch
Datafeedstatuses datafeedstatuses.custombatch
Localinventory localinventory.custombatch
Liasettings liasettings.custombatch
Pos pos.custombatch
Products products.custombatch
Productstatuses productstatuses.custombatch
Shippingsettings shippingsettings.custombatch

Limites

Para evitar erros ao fazer upload de lotes grandes, recomendamos limitar o tamanho das solicitações custombatch a no máximo 1.000 entradas. Os máximos a seguir se aplicam a solicitações custombatch:

  • 50.000 entradas por solicitação de custombatch
  • Tamanho da transferência de 32 MB

As chamadas que excedem os máximos resultam nos seguintes erros request_too_large:

  • "Too many requests in a batch."
  • "Request payload size exceeds the limit: %d bytes."