SalesforceのAPIコール「update()」について解説!
IT・技術関連
更新日:2024.09.05


update()とは?
update()とは、Salesforceの組織のデータ内にある一つ以上のデータを更新するのに使われるAPIコールの一つです。
具体的には、取引先や取引責任者など、組織のデータ内にある一つ以上の既存のレコードを更新するのに使われるSalesforceのAPIコールで、SQLのUPDATEステートメントに似ています。
これを利用することで、SOQLの発行回数を減らすことができるため、SOQL発行回数によるガバナ制限の対策にもなります。
更新の基本的な手順

注意点
SalesforceのAPIコールである「update()」ですが、利用する前に注意しておかなければならないことがいくつかあります。 まず一つ目は、更新可能なオブジェクトはすべてではない、ということです。一部のレコードはAPIを使用して更新することができないため、update()コールからレコードを更新するには、更新を試みるオブジェクトが更新可能に設定されている必要があります。 そのオブジェクトが更新できるかどうか確認する方法は、オブジェクトに対し、describeSObjects()コールを実行することで、updateableプロパティを調べることが可能です。 二つ目は、クライアントアプリケーションには、指定されたオブジェクトと、そのオブジェクトの中の個々の項目に対し、update()を実行するための権限が付与された状態でログインする必要がある、ということです。 これがなければupdate()を使用して更新することはできません。 三つ目は、特定のオブジェクトや、そのオブジェクトの中にある特定の項目には、特別な処理や権限が必要となる、ということです。場合によっては、オブジェクトの親オブジェクトへのアクセス権限が必要となることもあります。 四つ目は、必須項目を更新する場合は、値をnullにすることはできず、何かしら入力する必要がある、ということです。しかし、オブジェクトの説明で必須に設定されていない項目は、省略でき、nullに設定することが可能です。 五つ目は、項目値をnullにリセットするには、sObjectのfieldsToNullの配列に項目名を追加し、必須項目(nillableがfalse)をnullに設定することはできない、ということです。 そして、最後の六つ目は、最大オブジェクトの更新数についてです。クライアントアプリケーションは、一回のコールで最大200レコードを変更できますが、これを超える更新要求があれば、操作全体が失敗となります。ID項目について
名前にIdが含まれている項目については、オブジェクトの主キーか外部キーのいずれかで、クライアントアプリケーションは、主キーを更新することはできません。しかし、外部キーを更新することは可能となっています。 たとえば、「OwnerId」は取引先レコードを所有するユーザーを参照する外部キーとなるため、クライアントアプリケーションはAccountのOwnerIdを更新することができます。これは、describeSObjecs()を使用して、更新が可能かどうかを確認することができます。更新が自動で行われる項目
APIは、LastModifiedDateとLastModifiedById、SystemModstampなどのある特定の項目を自動的に更新するため、これらの値をupdate()コールで支持することができなくなっています。項目値と文字列値について
項目値は、英字が不可となっており、項目のデータ型に対して有効な値を整数で入力する必要があります。 また、String項目に値を保存する場合には、APIは先頭と末尾の空白文字を削除するようになっています。例として名前項目の値に「 Salesforce 」と入力されたとすると、データベースには「Salesforce」と保存されます。 過去のバージョンのAPIでは、大きすぎる値は切り捨てられてコールは正常に終了していました。しかし、APIバージョン15.0以降では、文字列を含む項目に値を指定し、値が項目に対して大きすぎるとコールが失敗となりエラーが出ます。ロールバック
APIバージョン20.0以降で使用可能な、AllOrNoneHeaderを使用すると、すべてのレコードが正常に処理されず、エラーが起きる限り、すべての変更をロールバックすることが可能となっています。Chatterフィードへの登録

オブジェクト種別が異なる場合

update()と外部キー

update()を利用してガバナ制限対策を!

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。