Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
custombatch to popularna metoda, która pozwala zgrupować kilka wywołań interfejsu API (nazywanych „wpisami”) w jednym żądaniu HTTP. Każdy wpis odwołuje się tylko do jednego wywołania metody.
Niestandardowa grupa wiekowa to dobry wybór, gdy:
Dopiero zaczynasz używać interfejsu API i masz do przesłania dużo danych produktów.
Musisz zsynchronizować lokalne dane z serwerem, wysyłając wiele aktualizacji i usunięcia.
Wysyłanie żądań zbiorczych
Wysyłanie żądań zbiorczych przypomina równoległe wywołania interfejsu API. Pamiętaj, że nie ma gwarancji, że kolejność wpisów zdefiniowana w żądaniu będzie ustalona w kolejności wykonywania. Nie zalecamy używania wywołań zależnych w pojedynczym żądaniu zbiorczym (np. tworzenia i aktualizowania tej samej wysyłki).
Podobnie odpowiedzi otrzymane w przypadku żądań zbiorczych mogą być zwracane w innej kolejności niż wpisy żądań. BatchId może służyć do skorelowania żądań i odpowiedzi, ponieważ odpowiedzi mogą być zwracane po kolei.
Możesz grupować żądania w interfejsie API, wywołując odpowiednią metodę custombatch:
Zasoby i odpowiadające im niestandardowe metody wsadowe
Aby uniknąć błędów podczas przesyłania dużych wsadów, zalecamy ograniczenie rozmiaru żądań custombatch do maksymalnie 1000 wpisów. W przypadku żądań custombatch obowiązują te wartości maksymalne:
50 000 pozycji na żądanie custombatch
Rozmiar transferu 32 MB
Wywołania przekraczające wartości maksymalne powodują request_too_large tych błędów:
"Too many requests in a batch."
"Request payload size exceeds the limit: %d bytes."
[null,null,["Ostatnia aktualizacja: 2025-08-13 UTC."],[[["\u003cp\u003eThe Merchant API is the new version of the Content API for Shopping and is now in beta.\u003c/p\u003e\n"],["\u003cp\u003eUse the \u003ccode\u003ecustombatch\u003c/code\u003e method to group several API calls into a single HTTP request for efficiency, especially for initial data uploads and synchronization.\u003c/p\u003e\n"],["\u003cp\u003eBatch requests have a limit of 50,000 entries and 32Mb transfer size; exceeding these limits will result in errors.\u003c/p\u003e\n"],["\u003cp\u003eThere's no guarantee that batched requests will be executed or returned in the order they were defined; use \u003ccode\u003eBatchId\u003c/code\u003e to correlate requests and responses.\u003c/p\u003e\n"],["\u003cp\u003eFor more details and to learn how the Merchant API can improve your integration, visit the announcement blog post.\u003c/p\u003e\n"]]],["The Merchant API beta, a new version of the Content API for Shopping, is introduced. It uses `custombatch`, a method to group multiple API calls into a single HTTP request for efficient data uploading and synchronization. `Custombatch` suits large data transfers but doesn't guarantee execution order. `BatchId` correlates requests and responses. Batches can have top-level or entry-specific errors. There is a recommended limit of 1,000 entries per batch with maximum limits of 50,000 entries, and 32Mb size.\n"],null,["# Batch requests\n\n`custombatch` is a common method that allows you to group several API calls,\nknown as \"entries\" into one single HTTP request. Each entry only references a\nsingle method call.\n\nCustom batch is a good choice when:\n\n- You've just started using the API and have a lot of product data to upload.\n- You need to synchronize local data with the server by sending lots of updates and deletes.\n\nMake batch requests\n-------------------\n\nSending batch requests is similar to sending API calls in parallel. Note that\nthere is no guarantee that the order of entries defined in the request will\nbe in the order that they are executed. We recommend that you don't use\ninterdependent calls in a single batch request (such as creating and updating\nthe same shipment).\n\nSimilarly, the responses received for batched requests may be returned in a\ndifferent order to that of the request entries. The `BatchId` can be used to\ncorrelate requests and responses since the responses may be returned out of\nsequence.\n| **Note:** Batch requests have two failure modes: one for top-level errors and one for errors resulting from individual entries in the batch. If a request fails because of a top-level error, responses for individual entries are not returned.\n\nYou can batch requests in the API by calling the appropriate `custombatch`\nmethod:\n\n| Resources and their corresponding custom batch methods ||\n|--------------------|------------------------------------------------------------------------------------------------------|\n| `Accounts` | [`accounts.custombatch`](/shopping-content/reference/rest/v2.1/accounts/custombatch) |\n| `Accountstatuses` | [`accountstatuses.custombatch`](/shopping-content/reference/rest/v2.1/accountstatuses/custombatch) |\n| `Accounttax` | [`accounttax.custombatch`](/shopping-content/reference/rest/v2.1/accounttax/custombatch) |\n| `Datafeeds` | [`datafeeds.custombatch`](/shopping-content/reference/rest/v2.1/datafeeds/custombatch) |\n| `Datafeedstatuses` | [`datafeedstatuses.custombatch`](/shopping-content/reference/rest/v2.1/datafeedstatuses/custombatch) |\n| `Localinventory` | [`localinventory.custombatch`](/shopping-content/reference/rest/v2.1/localinventory/custombatch) |\n| `Liasettings` | [`liasettings.custombatch`](/shopping-content/reference/rest/v2.1/liasettings/custombatch) |\n| `Pos` | [`pos.custombatch`](/shopping-content/reference/rest/v2.1/pos/custombatch) |\n| `Products` | [`products.custombatch`](/shopping-content/reference/rest/v2.1/products/custombatch) |\n| `Productstatuses` | [`productstatuses.custombatch`](/shopping-content/reference/rest/v2.1/productstatuses/custombatch) |\n| `Shippingsettings` | [`shippingsettings.custombatch`](/shopping-content/reference/rest/v2.1/shippingsettings/custombatch) |\n\nLimits\n------\n\nTo avoid errors when uploading large batches, we recommend limiting the size\nof `custombatch` requests to a maximum of 1,000 entries. The following maximums\napply to `custombatch` requests:\n\n- 50,000 entries per `custombatch` request\n- 32Mb transfer size\n\nCalls that exceed the maximums result in the following `request_too_large`\nerrors:\n\n- `\"Too many requests in a batch.\"`\n- `\"Request payload size exceeds the limit: %d bytes.\"`"]]