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."