custombatch は、複数の API 呼び出し(エントリ)を 1 つの HTTP リクエストにまとめることができる一般的なメソッドです。各エントリは、1 つのメソッド呼び出しのみを参照します。
カスタムバッチは次のような場合に適しています。
- API を使い始めたばかりで、アップロードする商品データが大量にあります。
- 大量の更新と削除を送信して、ローカルデータをサーバーと同期する必要があります。
バッチ リクエストを実行する
バッチ リクエストの送信は、API 呼び出しを並行して送信する場合と同様です。ただし、リクエストで定義されたエントリの順序が、実行された順序と同じになるという保証はありません。1 つのバッチ リクエストでは、相互に依存する呼び出しは使用しないことをおすすめします(同じ配送の作成と更新など)。
同様に、バッチ リクエスト用に受信したレスポンスは、リクエスト エントリと異なる順序で返される可能性があります。レスポンスが順不同で返される可能性があるため、BatchId を使用してリクエストとレスポンスを関連付けることができます。
適切な custombatch メソッドを呼び出すと、API でリクエストをバッチ処理できます。
| リソースとそれに対応するカスタム バッチメソッド | |
|---|---|
| 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 | 
上限
大規模なバッチをアップロードする際のエラーを回避するには、custombatch リクエストのサイズを 1,000 エントリ以下に制限することをおすすめします。custombatch リクエストには、次の最大値が適用されます。
- custombatchリクエストあたり 50,000 エントリ
- 32 MB の転送サイズ
呼び出しが最大値を超えると、次の request_too_large エラーが発生します。
- "Too many requests in a batch."
- "Request payload size exceeds the limit: %d bytes."