ステップ 3: サンプルコードを説明する
これらの例は、コピー/貼り付けして cURL で送信できます。ただし、先にベース URI の MyDomainName を Salesforce ドメインに置き換えてください。REST 要求の仕組みの詳細は、「REST リソースと要求」を参照してください。
Salesforce バージョンを取得する
使用可能な Salesforce バージョンのそれぞれに関する情報を取得するには、Versions 要求を送信します。この場合、要求に認証は必要ありません。
1curl https://MyDomainName.my.salesforce.com/services/data/この要求の出力は、応答ヘッダーを含めて、すべての有効なバージョンを指定します。結果には複数の値が含まれる場合があります。
1Content-Length: 88
2Content-Type: application/json;
3charset=UTF-8 Server:
4[
5 {
6 "label":"Spring '11",
7 "url":"/services/data/v21.0",
8 "version":"21.0"
9 }
10 ...
11]リソースのリストを取得する
Salesforce (この例ではバージョン 60.0) で使用可能なリソースのリストを取得するには、Resources by Version 要求を送信します。
1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/ -H "Authorization: Bearer access_token"この要求の出力は、sobjects が、Salesforce バージョン 60.0 で使用可能なリソースの 1 つであることを示します。
1{
2 "sobjects" : "/services/data/v60.0/sobjects",
3 "search" : "/services/data/v60.0/search",
4 "query" : "/services/data/v60.0/query",
5 "recent" : "/services/data/v60.0/recent"
6}使用可能なオブジェクトのリストを取得する
使用可能なオブジェクトのリストを要求するには、Describe Global 要求を送信します。
1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/sobjects/ -H "Authorization: Bearer access_token"この要求の出力は、Account オブジェクトが使用可能であることを示します。
1Transfer-Encoding: chunked
2Content-Type: application/json;
3charset=UTF-8 Server:
4{
5 "encoding" : "UTF-8",
6 "maxBatchSize" : 200,
7 "sobjects" : [ {
8 "name" : "Account",
9 "label" : "Account",
10 "custom" : false,
11 "keyPrefix" : "001",
12 "updateable" : true,
13 "searchable" : true,
14 "labelPlural" : "Accounts",
15 "layoutable" : true,
16 "activateable" : false,
17 "urls" : { "sobject" : "/services/data/v60.0/sobjects/Account",
18 "describe" : "/services/data/v60.0/sobjects/Account/describe",
19 "rowTemplate" : "/services/data/v60.0/sobjects/Account/{ID}" },
20 "createable" : true,
21 "customSetting" : false,
22 "deletable" : true,
23 "deprecatedAndHidden" : false,
24 "feedEnabled" : false,
25 "mergeable" : true,
26 "queryable" : true,
27 "replicateable" : true,
28 "retrieveable" : true,
29 "undeletable" : true,
30 "triggerable" : true },
31 },
32...オブジェクトの基本情報を取得する
使用可能な Account オブジェクトのメタデータの基本情報を取得するには、sObject Basic Information 要求を送信します。
1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/sobjects/Account/ -H "Authorization: Bearer access_token"この要求の出力は、名前や表示ラベルなどの Account オブジェクトの基本属性と、最近使用された取引先のリストを示します。
1{
2 "objectDescribe" :
3 {
4 "name" : "Account",
5 "updateable" : true,
6 "label" : "Account",
7 "keyPrefix" : "001",
8
9 ...
10
11 "replicateable" : true,
12 "retrieveable" : true,
13 "undeletable" : true,
14 "triggerable" : true
15 },
16 "recentItems" :
17 [
18 {
19 "attributes" :
20 {
21 "type" : "Account",
22 "url" : "/services/data/v60.0/sobjects/Account/001D000000INjVeIAL"
23 },
24 "Id" : "001D000000INjVeIAL",
25 "Name" : "asdasdasd"
26 },
27
28 ...
29
30 ]
31}項目のリストを取得する
詳細情報を取得するには、sObject Describe 要求を送信します。
1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/sobjects/Account/describe/ -H "Authorization: Bearer access_token"この要求の出力は、その項目の属性や子リレーションなど、Account オブジェクトのさらに詳細な情報を示します。
1{
2 "name" : "Account",
3 "fields" :
4 [
5 {
6 "length" : 18,
7 "name" : "Id",
8 "type" : "id",
9 "defaultValue" : { "value" : null },
10 "updateable" : false,
11 "label" : "Account ID",
12 ...
13 },
14 ...
15 ],
16 "updateable" : true,
17 "label" : "Account",
18 ...
19 "urls" :
20 {
21 "uiEditTemplate" : "https://MyDomainName.my.salesforce.com/{ID}/e",
22 "sobject" : "/services/data/v60.0/sobjects/Account",
23 "uiDetailTemplate" : "https://MyDomainName.my.salesforce.com/{ID}",
24 "describe" : "/services/data/v60.0/sobjects/Account/describe",
25 "rowTemplate" : "/services/data/v60.0/sobjects/Account/{ID}",
26 "uiNewRecord" : "https://MyDomainName.my.salesforce.com/001/e"
27 },
28 "childRelationships" :
29 [
30 {
31 "field" : "ParentId",
32 "deprecatedAndHidden" : false,
33 ...
34 },
35 ...
36 ],
37
38 "createable" : true,
39 "customSetting" : false,
40 ...
41}SOQL クエリを実行する
Account の name のすべての値を取得する SOQL クエリを実行するには、Query 要求を送信します。
1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/query?q=SELECT+name+from+Account -H "Authorization: Bearer access_token"出力で、使用可能な取引先名がリストされます。それぞれの名前の前にある属性には取引先の ID が含まれます。
1{
2 "done" : true,
3 "totalSize" : 14,
4 "records" :
5 [
6 {
7 "attributes" :
8 {
9 "type" : "Account",
10 "url" : "/services/data/v60.0/sobjects/Account/001D000000IRFmaIAH"
11 },
12 "Name" : "Test 1"
13 },
14 {
15 "attributes" :
16 {
17 "type" : "Account",
18 "url" : "/services/data/v60.0/sobjects/Account/001D000000IomazIAB"
19 },
20 "Name" : "Test 2"
21 },
22 ...
23 ]
24}レコードの項目を更新する
取引先の 1 つを取得し、市区郡 (請求先) を更新するには、sObject Rows 要求を送信します。オブジェクトを更新するには、新しい市区郡 (請求先) の情報を含む patchaccount.json というテキストファイルを作成します。
1{
2 "BillingCity" : "Fremont"
3}REST 要求に、この JSON ファイルを指定します。cURL 表記には、データを指定する場合、—d オプションが必要です。詳細は、http://curl.haxx.se/docs/manpage.html を参照してください。
また、REST リソースを更新するために使用する PATCH メソッドを指定します。次の cURL コマンドは、ID 項目を使用して指定された Account オブジェクトを取得し、その市区郡 (請求先) を更新します。
1curl https://MyDomainName.my.salesforce.com/services/data/v60.0/sobjects/Account/001D000000IroHJ -H "Authorization: Bearer access_token" -H "Content-Type: application/json" --data-binary @patchaccount.json -X PATCHレスポンスボディはなく、ヘッダーのみが返されます。
1HTTP/1.1 204 No Content
2Server:
3Content-Length: 0請求先が Fremont に変更さ���たことを確認するには、取引先のページを更新します。