Salesforce開発者の方で、Salesforce API で、レコードタイプ API を制御したことがある人ならご存知でしょうネタです。Herokuや一般的なWebアプリの開発をされてこられた方が、Salesforce と連携して、レコードタイプをもつオブジェクトをなんとか制御したいと考えたときに、どのように設定・利用すればよいかを紹介します。
設定手順
設定手順は次のとおりになります。
- Salesforce 側で、取引先、商談などで必要となるレコードタイプを作成します。
- Heroku Connect で、
RecordType
オブジェクトを同期する- sobjecttype, isactive あたりは
最低限
同期対象のフィールドとする
- sobjecttype, isactive あたりは
- Heroku Connect で、 レコードタイプを作成したオブジェクトを同期する
- 必ず
RecordTypeId
フィールドを対象とすること
- 必ず
利用方法
取引先や、商談のオブジェクトで、RecordTypeId
フィールド(カラム) には、割り当てられたレコードタイプの Salesforce ID が割り振られます。このレコードタイプを、ユーザやロールごとにデータへのアクセス可否などをアプリケーションで制御します。レコードタイプごとに処理を変更したり、レイアウトを変更する場合には、この RecordTypeId
をキーにすればよいということです。
この RecordTypeId
が何かというものを Heroku 側で知る場合には、RecordType
テーブル (Salesforce でいうオブジェクト) から、RecordTypeId
と同じ sfid
のレコードを検出します。 RecordType
オブジェクトでは、次のフィールド(カラム)でレコードタイプの詳細を確認できます。
- name - レコードタイプ名
- sobjecttype - 対象のオブジェクトAPI名 (取引先なら Account など)
- isactive - 有効(true)か無効(false)か
- description - 詳細, 説明文章
- developername - レコードタイプ名
注意事項
Heroku Connect で、該当のオブジェクトに RecordTypeId
が見つからない場合は、まだレコードタイプが作成されていないためです。まず、レコードタイプを Salesforce 側で作成しましょう