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

単一の API コールでの連動要求の実行

次の例では、Composite リソースを使用して、複数の連動要求をすべて単一のコールで実行します。まず取引先を作成してその情報を取得します。次に、取引先データおよび Composite リソースの参照 ID 機能を使用して取引先責任者を作成し、取引先データに基づいて項目に値を入力します。その後、要求文字列でクエリパラメーターを使用して、取引先の所有者に関する特定の情報を取得します。最後に、特定の日付以降メタデータが変更された場合は、取引先のメタデータを取得します。composite.json ファイルには、Composite 要求とサブ要求のデータが含まれます。
単一の API コールでの連動要求の実行
1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/composite/ -H "Authorization: Bearer token -H "Content-Type: application/json" -d "@composite.json"
リクエストボディ composite.json ファイル
1{
2    "allOrNone" : true,
3    "compositeRequest" : [{
4        "method" : "POST",
5        "url" : "/services/data/v60.0/sobjects/Account",
6        "referenceId" : "NewAccount",
7        "body" : {  
8            "Name" : "Salesforce",
9            "BillingStreet" : "Landmark @ 1 Market Street",
10            "BillingCity" : "San Francisco",
11            "BillingState" : "California",
12             "Industry" : "Technology"
13        }
14    },{
15        "method" : "GET",
16        "referenceId" : "NewAccountInfo",
17        "url" : "/services/data/v60.0/sobjects/Account/@{NewAccount.id}"
18    },{
19        "method" : "POST",
20        "referenceId" : "NewContact",
21        "url" : "/services/data/v60.0/sobjects/Contact",
22        "body" : {  
23            "lastname" : "John Doe",
24            "Title" : "CTO of @{NewAccountInfo.Name}",
25            "MailingStreet" : "@{NewAccountInfo.BillingStreet}",
26            "MailingCity" : "@{NewAccountInfo.BillingAddress.city}",
27            "MailingState" : "@{NewAccountInfo.BillingState}",
28            "AccountId" : "@{NewAccountInfo.Id}",
29            "Email" : "jdoe@salesforce.com",
30            "Phone" : "1234567890"
31        }
32    },{
33        "method" : "GET",
34        "referenceId" : "NewAccountOwner",
35        "url" : "/services/data/v60.0/sobjects/User/@{NewAccountInfo.OwnerId}?fields=Name,companyName,Title,City,State"
36    },{
37        "method" : "GET",
38        "referenceId" : "AccountMetadata",
39        "url" : "/services/data/v60.0/sobjects/Account/describe",
40        "httpHeaders" : {
41            "If-Modified-Since" : "Tue, 31 May 2016 18:13:37 GMT"
42        }
43    }]
44}
Composite 要求の実行が成功した場合のレスポンスボディ
1{
2    "compositeResponse" : [{
3        "body" : {
4            "id" : "001R00000033JNuIAM",
5            "success" : true,
6            "errors" : [ ]
7        },
8        "httpHeaders" : {
9          "Location" : "/services/data/v60.0/sobjects/Account/001R00000033JNuIAM"
10        },
11        "httpStatusCode" : 201,
12        "referenceId" : "NewAccount"
13    },{
14        "body" : {
15            all the account data
16        },
17        "httpHeaders" : {
18            "ETag" : "\"Jbjuzw7dbhaEG3fd90kJbx6A0ow=\"",
19            "Last-Modified" : "Fri, 22 Jul 2016 20:19:37 GMT"
20        },
21        "httpStatusCode" : 200,
22        "referenceId" : "NewAccountInfo"
23    },{
24        "body" : {
25            "id" : "003R00000025REHIA2",
26            "success" : true,
27            "errors" : [ ]
28        },
29        "httpHeaders" : {
30            "Location" : "/services/data/v60.0/sobjects/Contact/003R00000025REHIA2"
31        },
32        "httpStatusCode" : 201,
33        "referenceId" : "NewContact"
34    },{
35        "body" : {
36            "attributes" : {
37            "type" : "User",
38            "url" : "/services/data/v60.0/sobjects/User/005R0000000I90CIAS"
39            },
40            "Name" : "Jane Doe",
41            "CompanyName" : "Salesforce",
42            "Title" : Director,
43            "City" : "San Francisco",
44            "State" : "CA",
45            "Id" : "005R0000000I90CIAS"
46        },
47        "httpHeaders" : { },
48        "httpStatusCode" : 200,
49        "referenceId" : "NewAccountOwner"
50    },{
51        "body" : null,
52        "httpHeaders" : {
53            "ETag" : "\"f2293620\"",
54            "Last-Modified" : "Fri, 22 Jul 2016 18:45:56 GMT"
55         },
56        "httpStatusCode" : 304,
57        "referenceId" : "AccountMetadata"
58    }]
59}