sObject Collections を使用したレコードの更新/挿入
sObject コレクションを使用した PATCH 要求によって、外部 ID 項目に基づいて最大 200 件のレコードを作成または更新 (更新/挿入) します。このメソッドでは、UpsertResult オブジェクトのリストを返します。エラーが発生した場合に要求全体をロールバックするかどうかを選択できます。この要求は、API バージョン 46 以降で使用できます。
- リストには最大 200 個のオブジェクトを含めることができます。
- リストには要求 URI で指定された種別のオブジェクトのみを含めることができます。
- リクエストボディの各オブジェクトには属性の対応付けが含まれている必要があります。対応付けには type の値が含まれている必要があります。
- オブジェクトは、リクエストボディでリストされている順に作成または更新されます。UpsertResult オブジェクトも同じ順序で返されます。
- サポートされるのは外部 ID のみです。レコード ID は使用しないでください。
要求が適切な形式でない場合、API は 400 Bad Request HTTP 状況を返します。要求の構文を修正し、再試行してください。要求が適切な形式の場合、API は 200 OK HTTP 状況を返します。項目が正常に処理された場合、success フラグがその項目で表示されます。エラー情報は errors 配列で返されます。
構文
- URI
- /services/data/vXX.X/composite/sobjects/SobjectName/ExternalIdFieldName
- 形式
- JSON、XML
- HTTP のメソッド
- PATCH
- 認証
- Authorization: Bearer token
- パラメータ
-
パラメータ 説明 allOrNone 省略可能。いずれかのオブジェクトの作成が失敗したときに要求全体をロールバックするのか (true)、それとも要求内のその他のオブジェクトの作成を個別に続行するのかを示します。デフォルトは、false です。 records 必須。sObjects のリスト。sObject コレクションを使用する PATCH 要求では、各オブジェクトの type 属性を設定します。どのオブジェクトにも id 項目は設定しません。代わりに、要求 URI で指定された外部 ID 項目を、使用します。
例
- リクエストの例
-
1curl -X PATCH https://MyDomainName.my.salesforce.com/services/data/v59.0/composite/sobjects/Account/MyExtId__c -H "Authorization: Bearer token" -H "Content-Type: application/json" -d "@exampleRequestBody.json" - リクエストボディの例
-
1{ 2 "allOrNone" : false, 3 "records" : [{ 4 "attributes" : {"type" : "Account"}, 5 "Name" : "Company One", 6 "MyExtId__c" : "AAA" 7 }, { 8 "attributes" : {"type" : "Account"}, 9 "Name" : "Company Two", 10 "MyExtId__c" : "BBB" 11 }] 12} - レスポンスボディの例
-
1HTTP/1.1 200 OK 2[ 3 { 4 "id": "001xx0000004GxDAAU", 5 "success": true, 6 "errors": [], 7 "created": true 8 }, 9 { 10 "id": "001xx0000004GxEAAU", 11 "success": true, 12 "errors": [], 13 "created": false 14 } 15] - レスポンスボディの例 (一部の項目でエラーが発生し、allOrNone が false の場合)
-
1HTTP/1.1 200 OK 2 3[ 4 { 5 "id" : "001xx0000004GxDAAU", 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: 001xx0000004GxEAAU", 15 "fields" : [ 16 "Id" 17 ] 18 } 19 ] 20 } 21] - レスポンスボディの例 (一部の項目でエラーが発生し、allOrNone が true の場合)
-
1HTTP/1.1 200 OK 2 3[ 4 { 5 "id" : "001xx0000004GxDAAU", 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: 001xx0000004GxEAAU", 21 "fields" : [ 22 "Id" 23 ] 24 } 25 ] 26 } 27]