sObject Rows by External ID
指定された外部 ID 項目の値に基づいて、新しいレコードを作成するか、既存のレコードを更新 (レコードを Upsert) します。PATCH を使用して外部 ID を使用して更新/挿入します。更新/挿入では、外部 ID の値を使用して、新規レコードを作成するか、既存レコードを更新するかを判別します。
- 外部 ID が一致しない場合は、リクエストボディに従って新規レコードが作成されます。
- 外部 ID が一度だけ一致する場合は、リクエストボディに従ってレコードが更新されます。
- 外部 ID が複数回一致する場合は、300 エラーが報告され、レコードは作成も更新もされません。
- URI
- /services/data/vXX.X/sobjects/sObject/fieldName/fieldValue
- 形式
- JSON、XML
- HTTP メソッド
- HEAD、GET、PATCH、DELETE、POST (「使用方法」セクションを参照)
- 認証
- Authorization: Bearer token
- パラメータ
- なし
- 使用方法
-
External ID 属性と Unique 属性の両方が選択された (インデックスが一意) カスタム項目を持つオブジェクトのレコードを更新/挿入する場合、特別な権限は必要ありません。Unique 属性は重複作成を防止します。[外部 ID] 属性が選択され、Unique 属性が選択されていない (インデックスが一意ではない) オブジェクトのレコードを更新/挿入する場合、クライアントアプリケーションがこのコールを実行するには「すべてのデータの参照」権限が必要です。
-
特殊なケースとして、API バージョン 37.0 以降では、/vXX.X/sobjects/sObjectName/Id に対する POST 要求を使用してレコードを作成できます。Id の値が null であるため、要求から除かれ、リクエストボディに従ってレコードが作成されます。このメソッドを使用したレコードの更新/挿入では各新規レコードに各 POST 要求の同じリソースを使用できるため、便利です。この場合、レコードを作成するために外部 ID を指定する必要はありません。
- 例
-
- 外部 ID に基づいてレコードを取得する例は、「外部 ID を使用してレコードを取得する」を参照してください。
- 外部 ID に基づいてレコードを作成および更新する例は、「外部 ID を使用してレコードを挿入/更新 (Upsert) する」を参照してください。