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

sObject Rows by External ID を使用したレコードの更新/挿入

指定された外部 ID 項目の値に基づいて、レコードを更新/挿入します。外部 ID の値がすでに存在するかどうかに応じて、要求時に新しいレコードが作成されるか、または既存のレコードが更新されます。
  • 外部 ID が既存レコードと一致しない場合は、リクエストボディに従って新規レコードが作成されます。
  • 外部 ID が 1 つの既存レコードと一致する場合は、リクエストボディに従って既存レコードが更新されます。
  • 外部 ID が複数の既存レコードと一致する場合は、300 エラーが返され、レコードは作成も更新もされません。

External ID 属性と Unique 属性の両方が選択された (インデックスが一意) カスタム項目を持つオブジェクトのレコードを更新/挿入する場合、特別な権限は必要ありません。Unique 属性は重複作成を防止します。[外部 ID] 属性が選択され、Unique 属性が選択されていない (インデックスが一意ではない) オブジェクトのレコードを更新/挿入する場合、クライアントアプリケーションがこのコールを実行するには「すべてのデータの参照」権限が必要です。

セキュリティ上の理由で、一部のトップレベルドメイン (TLD) は特定のファイル形式拡張子と競合する場合があります。実装を調整して、そのようなケースを回避してください。

たとえば、example@email.inc のようなメールアドレスを外部 ID として使用すると、「404 not found」エラーが返されます。

競合する TLD は、いくつかの回避策によって対処できます。

  • 別の外部 ID 項目を使用します。
  • メール項目と同じ新しい外部 ID 項目を作成し、このケースに対応するために「.」を「_」に置き換えます。
  • 「.inc」で終わるメールに対してクエリを実行し、レコード ID を取得してそれを upsert (更新/挿入) 要求に使用します。
  • upsert 要求に REST API ���代わりに SOAP API を使用します。
  • カスタム Apex REST API を作成して、メールをパスパラメータでなくクエリパラメータとして受け入れます。Apex を使用して、upsert 要求を実行します。

メモ

構文

URI
/services/data/vXX.X/sobjects/sObject/fieldName/fieldValue
形式
JSON、XML
HTTP メソッド
PATCH
認証
Authorization: Bearer token
パラメータ
なし

外部 ID に基づいてレコードを作成および更新する例は、「外部 ID を使用してレコードを挿入/更新 (Upsert) する」を参照してください。