Solicitudes por lotes

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 de método.

El procesamiento por lotes personalizado es una buena opción en los siguientes casos:

  • Recién empiezas a usar la API y tienes muchos datos de productos para subir.
  • Debes sincronizar los datos locales con el servidor y, para ello, debes enviar 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 que se ejecutan. Te recomendamos que no uses llamadas interdependientes en una sola solicitud por lotes (como crear y actualizar el mismo envío).

De manera similar, las respuestas recibidas para las solicitudes por lotes pueden mostrarse en un orden diferente al de las entradas de la solicitud. Se puede usar BatchId para correlacionar solicitudes y respuestas, ya que las respuestas pueden mostrarse fuera de secuencia.

Para realizar solicitudes por lotes en la API, llama al método custombatch correspondiente:

Recursos y sus métodos 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 limitar el tamaño de las solicitudes de 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 valores máximos generan los siguientes errores request_too_large:

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