custombatch ist eine gängige Methode, mit der Sie mehrere API-Aufrufe, sogenannte „Einträge“, in einer einzigen HTTP-Anfrage zusammenfassen können. Jeder Eintrag bezieht sich nur auf einen einzelnen Methodenaufruf.
Ein benutzerdefinierter Batch ist eine gute Wahl, wenn:
- Sie haben gerade mit der Verwendung der API begonnen und müssen viele Produktdaten hochladen.
- Sie müssen lokale Daten mit dem Server synchronisieren und dazu viele Aktualisierungs- und Löschvorgänge senden.
Batchanfragen stellen
Das Senden von Batchanfragen ähnelt dem parallelen Senden von API-Aufrufen. Es gibt keine Garantie dafür, dass die Reihenfolge der in der Anfrage definierten Einträge der Reihenfolge entspricht, in der sie ausgeführt werden. Wir empfehlen, in einer einzelnen Batchanfrage keine voneinander abhängigen Aufrufe zu verwenden, z. B. zum Erstellen und Aktualisieren derselben Sendung.
Ebenso können die Antworten auf Batch-Anfragen in einer anderen Reihenfolge als die der Anfrageeinträge zurückgegeben werden. Mit dem BatchId können Anfragen und Antworten korreliert werden, da die Antworten möglicherweise nicht in der richtigen Reihenfolge zurückgegeben werden.
Sie können Anfragen in der API zusammenfassen, indem Sie die entsprechende custombatch-Methode aufrufen:
| Ressourcen und die entsprechenden benutzerdefinierten Batch-Methoden | |
|---|---|
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
Um Fehler beim Hochladen großer Batches zu vermeiden, empfehlen wir,die Größe von custombatch-Anfragen auf maximal 1.000 Einträge zu beschränken. Die folgenden Höchstwerte gelten für custombatch-Anfragen:
- 50.000 Einträge pro
custombatch-Anfrage - Übertragungsgröße: 32 MB
Aufrufe, die die Höchstwerte überschreiten, führen zu den folgenden request_too_large-Fehlern:
"Too many requests in a batch.""Request payload size exceeds the limit: %d bytes."