この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

少ない往復回数での複数レコードの更新

sObject コレクションを使用した PATCH 要求によって、最大 200 件のレコードを更新し、SaveResult オブジェクトのリストを返します。エラーが���生した場合に要求全体をロールバックするかどうかを選択できます。

要求の構文

PATCH /services/data/vXX.X/composite/sobjects

パラメータ

パラメータ 説明
allOrNone 省略可能。いずれかのオブジェクトの更新が失敗したときに要求全体をロールバックするのか (true)、それとも要求内のその他のオブジェクトの更新を個別に続行するのかを示します。デフォルトは、false です。

Composite 要求に sObject Collections 要求が組み込まれている場合、Composite 要求の allOrNone パラメータも結果に影響する場合があります。「Composite 要求および Collections 要求の allOrNone パラメータ」を参照してください。

メモ

records 必須。sObjects のリスト。sObject コレクションを使用する POST 要求では、各オブジェクトの type 属性を設定しますが、id 項目はどのオブジェクトに対しても設定しません。

使用のガイドライン

  • リストには最大 200 個のオブジェクトを含めることができます。
  • リストには異なる種別のオブジェクトを含めることができ、カスタムオブジェクトも使用できます。
  • 各オブジェクトには属性の対応付けが含まれている必要があります。対応付けには type の値が含まれている必要があります。

    sObject コレクションを使用して blob データを更新する場合は、他の値も属性の対応付けに必要となります。詳細は、「sObject コレクションを使用した blob レコードのコレクションの挿入」を参照してください。

    メモ

  • 各オブジェクトには id 項目が含まれ、有効な ID 値が設定されている必要があります。
  • オブジェクトは、リストされている順に更新されます。SaveResult オブジェクトは、更新要求が指定された順に返されます。
  • リクエストボディに複数の種別のオブジェクトが含まれている場合は、チャンクとして処理されます。たとえば、受信したオブジェクトが {account1, account2, contact1, account3} の場合、要求は次のように 3 つのチャンクで処理されます: {{account1, account2}, {contact1}, {account3}}.。1 つの要求で最大で 10 個のチャンクを処理できます。
  • 複数のオブジェクト種別のレコードを更新する場合、いずれかのオブジェクト種別が Salesforce の [設定] 領域の機能に関連していると、1 回のコールでは更新することができません。

エラーの確認

  • 要求が適切な形式でない場合、API は 400 Bad Request HTTP 状況を返します。要求の構文を修正し、再試行してください。
  • 要求が適切な形式の場合、API は 200 OK HTTP 状況を返します。項目が正常に処理された場合、success フラグがその項目で表示されます。エラー情報は errors 配列で返されます。

リクエストボディの例

1PATCH /composite/sobjects
2{
3   "allOrNone" : false,
4   "records" : [{
5      "attributes" : {"type" : "Account"},
6      "id" : "001xx000003DGb2AAG",
7      "NumberOfEmployees" : 27000
8   },{
9      "attributes" : {"type" : "Contact"},
10      "id" : "003xx000004TmiQAAS",
11      "Title" : "Lead Engineer"
12   }]
13}

レスポンスボディの例

次の例は、すべての項目を正常に処理した場合の応答を示しています。
1HTTP/1.1 200 OK
2
3[
4   {
5      "id" : "001RM000003oCprYAE",
6      "success" : true,
7      "errors" : [ ]
8   },
9   {
10      "id" : "003RM0000068og4YAA",
11      "success" : true,
12      "errors" : [ ]
13   }
14]
次の例は、一部の項目でエラーが発生し、allOrNonefalse である場合の応答を示しています。
1HTTP/1.1 200 OK
2
3[
4   {
5      "id" : "001RM000003oCprYAE",
6      "success" : true,
7      "errors" : [ ]
8   },
9   {
10      "success" : false,
11      "errors" : [
12         {
13            "statusCode" : "MALFORMED_ID",
14            "message" : "Contact ID: id value of incorrect type: 001xx000003DGb2999",
15            "fields" : [
16               "Id"
17            ]
18         }
19      ]
20   }
21]
次の例は、一部の項目でエラーが発生し、allOrNonetrue である場合の応答を示しています。
1HTTP/1.1 200 OK
2
3[
4   {
5      "id" : "001RM000003oCprYAE",
6      "success" : false,
7      "errors" : [
8         {
9            "statusCode" : "ALL_OR_NONE_OPERATION_ROLLED_BACK",
10            "message" : "Record rolled back because not all records were valid and the request was using AllOrNone header",
11            "fields" : [ ]
12         }
13      ]
14   },
15   {
16      "success" : false,
17      "errors" : [
18         {
19            "statusCode" : "MALFORMED_ID",
20            "message" : "Contact ID: id value of incorrect type: 001xx000003DGb2999",
21            "fields" : [
22               "Id"
23            ]
24         }
25      ]
26   }
27]