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 do produto 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 esteja na ordem em que elas 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.
Para enviar solicitações em lote na API, chame o método custombatch
apropriado:
Recursos e seus 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 um máximo de 1.000 entradas. Os limites a seguir
se aplicam a solicitações custombatch
:
- 50.000 entradas por solicitação
custombatch
- Tamanho da transferência de 32 MB
As chamadas que excedem o máximo resultam nos seguintes erros request_too_large
:
"Too many requests in a batch."
"Request payload size exceeds the limit: %d bytes."