Batch リソース
このリソースは、クライアントとサーバー間の往復回数を最小限に抑えるために作成します。たとえば、モバイルアプリケーションで、ユーザーがフィード項目にいいね! と言うためにボタンをタップすると、レスポンスボディにはいいね! に関する情報が含まれますが、フィード項目に対するいいね! の総数は含まれません。フィード項目にいいね! と言うには、POST で要求を /chatter/feed-elements/feedElementId/capabilities/chatter-likes/items に送信します。いいね! の合計を取得するには、GET で /chatter/feed-elements/feedElementId/capabilities/chatter-likes/items からフィード項目情報を取得します。
次のように、両方の要求を Generic Batch Collection Input リクエストボディに追加し、1 つの POST 要求で両方を /connect/batch に送信します。
バッチ内の各要求はサブ要求と呼ばれます。サブ要求はすべて同じユーザーのコンテキスト内で実行されます。各サブ要求は独立しており、相互に情報を渡すことはできません。サブ要求は、リクエストボディ内の順序に従って実行されます。サブ要求が正常に実行されると、データがコミットされます。コミットは、以降のサブ要求の出力に反映されます (前の例のように、フィード項目にいいね! と言ってから、いいね! の総数を取得するなど)。サブ要求が失敗した場合、前のサブ要求で行われたコミットはロールバックされません。
- リソース
-
- 適用開始バージョン
- 28.0
- HTTP のメソッド
- POST
- リクエストボディ
-
Generic Batch Collection Input
- ルート XML タグ
- <batch>
- JSON
-
- プロパティ
-
名前 型 説明 使用可能なバージョン batchRequests Generic Batch Input[] 実行するサブ要求の URL を含む、Batch Request Input リクエストボディのコレクション。 28.0 haltOnError Boolean サブ要求が失敗した場合に、Salesforce がサブ要求の処理を停止するかどうかを制御します。デフォルト値は、false です。 値が false で、バッチ内のサブ要求が完了しない場合、Salesforce は、バッチ内の後続のサブ要求を実行しようと試みます。
値が true で、HTTP 応答 400 番台または 500 番台のエラーが含まれるためにバッチ内のサブ要求が完了しない場合、Salesforce は実行を停止します。バッチでは、後続のサブ要求の実行は試されません。また、前の要求が失敗したことを示す HTTP 412 状況コードと BATCH_PROCESSING_HALTED エラーメッセージが、後続のサブ要求ごとに返されます。/connect/batch への最上位要求は、HTTP 200 を返し、応答内の hasErrors プロパティが true に設定されます。
28.0
- 要求のパラメーター
- なし。
- 応答
- Batch Results
- 例
- この例では、https://instance_name/services/data/v60.0/connect/batch に対する POST 要求に、2 つのサブ要求を持つ次のリクエストボディが含まれています。Batch Results レスポンスボディには、サブ要求ごとに Batch Result Item レスポンスボディが含まれます。
- 例: haltOnError が true の場合
- これは前と同じ例ですが、最初のサブ要求にエラーが含まれ、haltOnError が true に設定されています。最初のサブ要求には入力ミスがあります。Batch Results レスポンスボディには、サブ要求ごとに Batch Result Item レスポンスボディが含まれます。/connect/batch への最上位要求は HTTP 200 を返しますが、最初のサブ要求はリソースが見つからないため HTTP 404 を返します。haltOnError が true であるため、次のサブ要求は HTTP 412 を返します。また、hasErrors は true に設定されています。
バイナリファイルを含む複数のコメントの投稿
richInput プロパティには、各サブ要求のリクエストボディを含めます。
また、binaryPartName および binaryPartNameAlias プロパティには、バイナリパートに関する情報を含めます。