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

Composite リクエストボディ

Composite リソースを使用して実行するサブ要求のコレクションを記述します。

Composite Collection Input

このリクエストボディには、エラーをロールバックする方法を指定する allOrNone フラグと実行するサブ要求を含む compositeRequest コレクションが含まれます。
プロパティ
名前 説明 必須か省略可能
allOrNone Boolean

サブ要求の処理中にエラーが発生した場合に何をすべきかを指定します。値が true の場合、Composite 要求全体がロールバックされます。最上位レベルの要求は HTTP 200 を返し、各サブ要求の応答が含まれます。

値が false の場合、失敗したサブ要求に連動しない残りのサブ要求が実行されます。連動サブ要求は実行されません。

どちらのケースでも、最上位レベルの要求は HTTP 200 を返し、各サブ要求の応答が含まれます。

省略可能
compositeRequest Composite Subrequest[] 実行するサブ要求のコレクション。 必須
JSON の例
1{
2   "allOrNone" : true,
3   "compositeRequest" : [{
4      Composite Subrequest
5      },{
6      Composite Subrequest
7      },{
8      Composite Subrequest
9   }]
10}

Composite サブ要求

サブ要求のリソース、メソッド、ヘッダー、本文、および参照 ID が含まれます。
プロパティ
名前 説明 必須か省略可能
body Varies サブ要求の入力ボディ。

型は url プロパティに指定された要求に応じて異なります。

省略可能
httpHeaders Map<String, String> サブ要求に含める要求ヘッダーとその値。次の 3 つのヘッダーを除き、要求されたリソースによってサポートされる任意のヘッダーを含めることができます。
  • Accept
  • Authorization
  • Content-Type
サブ要求は、最上位レベルの要求からこれら 3 つのヘッダーの値を継承します。サブ要求では、これらのヘッダーを指定しないでください。指定すると、最上位レベルの要求は失敗し、HTTP 400 応答が返されます。
省略可能
method String 要求するリソースに使用するメソッド。使用できる値は POSTPUTPATCHGET、および DELETE (大文字と小文字を区別) です。有効なメソッドのリストは、要求するリソースに関するドキュメントを参照してください。 必須
referenceId String サブ要求の応答に対応付けられる参照 ID で、後のサブ要求で応答を参照するために使用できます。referenceId はサブ要求の本文または URL で参照できます。次の構文を使用して参照を含めます: @{referenceId.FieldName}

参照 ID では 2 つの演算子を使用できます。

. 演算子は、応答の JSON オブジェクトの項目を参照します。たとえば、あるサブ要求で取引先レコードのデータを取得して、参照 ID Account1Data を出力に割り当てるとします。後のサブ要求で次のような取引先名を参照できます: @{Account1Data.Name}

[] 演算子は、応答で JSON コレクションをインデックス付けします。たとえば、1 つのサブ要求で SObject Basic Information リソースを使用して取引先基本情報を要求し、参照 ID AccountInfo を出力に割り当てるとします。応答の一部に、最近作成された取引先のコレクションが含められます。最近使ったデータのコレクションで最初の取引先の ID を参照できます。例: @{AccountInfo.recentItems[0].Id}

応答のコンテキストで意味をなす限り、各演算子を再帰的に使用できます。たとえば、取引先の複合住所項目の請求先市区郡コンポーネントを参照する場合: @{NewAccount.BillingAddress.city}

referenceId は大文字と小文字が区別されるため、参照している項目の大文字/小文字に注意を払ってください。

必須
url String 要求するリソース。
  • URL には、サブ要求がサポートするクエリ文字列パラメータを含めることができます。クエリ文字列は、URL 符号化されている必要があります。
  • パラメータを使用して、レスポンスボディを絞り込むことができます。
  • URL は /services/data/vXX.X/ で始まる必要があります。
必須
JSON の例
1{
2   "method" : "GET",
3   "url" : "/services/data/v38.0/sobjects/Account/describe",
4   "httpHeaders" : { "If-Modified-Since" : "Tue, 31 May 2016 18:00:00 GMT" },    
5   "referenceId" : "AccountInfo"
6}
1{
2   "method" : "POST",
3   "url" : "/services/data/v38.0/sobjects/Account",
4   "referenceId" : "refAccount",
5   "body" : { "Name" : "Sample Account" }
6}
1{
2   "method" : "GET",
3   "url" : "/services/data/v38.0/sobjects/Account/@{refAccount.id}",
4   "referenceId" : "NewAccountFields"
5}
使用方法
referenceId は大文字と小文字が区別されるため、参照している項目の大文字/小文字に注意することが重要です。同じ項目でも、コンテキストによって異なる大文字/小文字が使用されることがあります。たとえば、レコードを作成する場合、ID 項目は応答で id と表示されます。ただし、SObject Rows リソースを使用してレコードのデータにアクセスする場合、ID 項目は Id と表示されます。前述のサブ要求の最後の例では、refAccount は 2 番目のサブ要求で POST から応答を参照するため、@{refAccount.id} 参照は有効です。@{refAccount.Id} と同様、代わりに Id を使用する場合 (すべて小文字ではなく大文字と小文字を併用)、参照 ID は大文字/小文字が間違っているため、要求の送信時にエラーが表示されます。

1 回のコールに最大 25 個のサブ要求を含めることができます。このサブ要求のうち最大 5 個をクエリ操作とすることができます (Query 要求、QueryAll 要求、クエリ結果の次のバッチを取得するための「Query More」要求など)。

メモ