custombatch es un método común que te permite agrupar varias llamadas a la API, conocidas como "entradas", en una sola solicitud HTTP. Cada entrada solo hace referencia a una sola llamada al método.
El procesamiento por lotes personalizado es una buena opción en las siguientes ocasiones:
- Recién empiezas a utilizar la API y tienes muchos datos de productos para cargar.
- Debes sincronizar los datos locales con el servidor enviando muchas actualizaciones y eliminaciones.
Realiza solicitudes por lotes
Enviar solicitudes por lotes es similar a enviar llamadas a la API en paralelo. Ten en cuenta que no se garantiza que el orden de las entradas definidas en la solicitud sea el orden en el que se ejecutan. Te recomendamos que no uses llamadas interdependientes en una sola solicitud por lotes (como crear y actualizar el mismo envío).
Del mismo modo, las respuestas recibidas para las solicitudes por lotes pueden mostrarse en un orden diferente al de las entradas de la solicitud. Se puede usar el BatchId para correlacionar solicitudes y respuestas, ya que las respuestas pueden mostrarse fuera de secuencia.
Puedes enviar solicitudes por lotes en la API llamando al método custombatch correspondiente:
| Recursos y sus métodos de procesamiento por lotes personalizados correspondientes | |
|---|---|
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 |
Límites
Para evitar errores cuando subas lotes grandes, te recomendamos que limites el tamaño de las solicitudes custombatch a un máximo de 1,000 entradas. Se aplican los siguientes máximos a las solicitudes custombatch:
- 50,000 entradas por solicitud
custombatch - Tamaño de transferencia de 32 MB
Las llamadas que superan los máximos generan los siguientes errores request_too_large:
"Too many requests in a batch.""Request payload size exceeds the limit: %d bytes."