sObject Collections を使用したレコードの作成
sObject コレクションを使用した POST 要求によって、最大 200 件のレコードを追加し、SaveResult オブジェクトのリストを返します。エラーが発生した場合に要求全体をロールバックするかどうかを選択できます。
- リストには最大 200 個のオブジェクトを含めることができます。
- リストには異なる種別のオブジェクトを含めることができ、カスタムオブジェクトも使用できます。
- 各オブジェクトには属性の対応付けが含まれている必要があります。対応付けには type の値が含まれている必要があります。
- オブジェクトは、リストされている順に作成されます。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 配列で返されます。
構文
- URI
- /services/data/vXX.X/composite/sobjects
- 形式
- JSON、XML
- HTTP のメソッド
- POST
- 認証
- Authorization: Bearer token
- パラメーター
-
パラメーター 説明 allOrNone 省略可能。いずれかのオブジェクトの作成が失敗したときに要求全体をロールバックするのか (true)、それとも要求内のその他のオブジェクトの作成を個別に続行するのかを示します。デフォルトは、false です。 records 必須。sObjects のリスト。sObject コレクションを使用する POST 要求では、各オブジェクトの type 属性を設定しますが、id 項目はどのオブジェクトに対しても設定しません。
例
- リクエストの例
-
1curl -X POST https://MyDomainName.my.salesforce.com/services/data/v60.0/composite/sobjects/ -H "Authorization: Bearer token" -H "Content-Type: application/json" -d "@exampleRequestBody.json" - リクエストボディの例
-
1{ 2 "allOrNone" : false, 3 "records" : [{ 4 "attributes" : {"type" : "Account"}, 5 "Name" : "example.com", 6 "BillingCity" : "San Francisco" 7 }, { 8 "attributes" : {"type" : "Contact"}, 9 "LastName" : "Johnson", 10 "FirstName" : "Erica" 11 }] 12} - レスポンスボディの例
-
1HTTP/1.1 200 OK 2 3[ 4 { 5 "id" : "001RM000003oLnnYAE", 6 "success" : true, 7 "errors" : [ ] 8 }, 9 { 10 "id" : "003RM0000068xV6YAI", 11 "success" : true, 12 "errors" : [ ] 13 } 14] - レスポンスボディの例 (一部の項目でエラーが発生し、allOrNone が false の場合)
-
1HTTP/1.1 200 OK 2 3[ 4 { 5 "success" : false, 6 "errors" : [ 7 { 8 "statusCode" : "DUPLICATES_DETECTED", 9 "message" : "Use one of these records?", 10 "fields" : [ ] 11 } 12 ] 13 }, 14 { 15 "id" : "003RM0000068xVCYAY", 16 "success" : true, 17 "errors" : [ ] 18 } 19] - レスポンスボディの例 (一部の項目でエラーが発生し、allOrNone が true の場合)
-
1HTTP/1.1 200 OK 2 3[ 4 { 5 "success" : false, 6 "errors" : [ 7 { 8 "statusCode" : "DUPLICATES_DETECTED", 9 "message" : "Use one of these records?", 10 "fields" : [ ] 11 } 12 ] 13 }, 14 { 15 "success" : false, 16 "errors" : [ 17 { 18 "statusCode" : "ALL_OR_NONE_OPERATION_ROLLED_BACK", 19 "message" : "Record rolled back because not all records were valid and the request was using AllOrNone header", 20 "fields" : [ ] 21 } 22 ] 23 } 24]