Batch requests

  • The Merchant API is the new version of the Content API for Shopping and is now in beta.

  • Use the custombatch method to group several API calls into a single HTTP request for efficiency, especially for initial data uploads and synchronization.

  • Batch requests have a limit of 50,000 entries and 32Mb transfer size; exceeding these limits will result in errors.

  • There's no guarantee that batched requests will be executed or returned in the order they were defined; use BatchId to correlate requests and responses.

  • For more details and to learn how the Merchant API can improve your integration, visit the announcement blog post.

custombatch is a common method that allows you to group several API calls, known as "entries" into one single HTTP request. Each entry only references a single method call.

Custom batch is a good choice when:

  • You've just started using the API and have a lot of product data to upload.
  • You need to synchronize local data with the server by sending lots of updates and deletes.

Make batch requests

Sending batch requests is similar to sending API calls in parallel. Note that there is no guarantee that the order of entries defined in the request will be in the order that they are executed. We recommend that you don't use interdependent calls in a single batch request (such as creating and updating the same shipment).

Similarly, the responses received for batched requests may be returned in a different order to that of the request entries. The BatchId can be used to correlate requests and responses since the responses may be returned out of sequence.

You can batch requests in the API by calling the appropriate custombatch method:

Resources and their corresponding custom batch methods
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

Limits

To avoid errors when uploading large batches, we recommend limiting the size of custombatch requests to a maximum of 1,000 entries. The following maximums apply to custombatch requests:

  • 50,000 entries per custombatch request
  • 32Mb transfer size

Calls that exceed the maximums result in the following request_too_large errors:

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