Heroku
Salesforce

レコードタイプが有効な Salesforce オブジェクトを Heroku で利用する方法

Salesforce開発者の方で、Salesforce API で、レコードタイプ API を制御したことがある人ならご存知でしょうネタです。Herokuや一般的なWebアプリの開発をされてこられた方が、Salesforce と連携して、レコードタイプをもつオブジェクトをなんとか制御したいと考えたときに、どのように設定・利用すればよいかを紹介します。


設定手順

設定手順は次のとおりになります。


  1. Salesforce 側で、取引先、商談などで必要となるレコードタイプを作成します。

  2. Heroku Connect で、RecordType オブジェクトを同期する


    1. sobjecttype, isactive あたりは最低限同期対象のフィールドとする



  3. Heroku Connect で、 レコードタイプを作成したオブジェクトを同期する


    1. 必ず RecordTypeId フィールドを対象とすること




利用方法

取引先や、商談のオブジェクトで、RecordTypeId フィールド(カラム) には、割り当てられたレコードタイプの Salesforce ID が割り振られます。このレコードタイプを、ユーザやロールごとにデータへのアクセス可否などをアプリケーションで制御します。レコードタイプごとに処理を変更したり、レイアウトを変更する場合には、この RecordTypeId をキーにすればよいということです。

この RecordTypeId が何かというものを Heroku 側で知る場合には、RecordType テーブル (Salesforce でいうオブジェクト) から、RecordTypeId と同じ sfid のレコードを検出します。 RecordType オブジェクトでは、次のフィールド(カラム)でレコードタイプの詳細を確認できます。


  • name - レコードタイプ名

  • sobjecttype - 対象のオブジェクトAPI名 (取引先なら Account など)

  • isactive - 有効(true)か無効(false)か

  • description - 詳細, 説明文章

  • developername - レコードタイプ名

※ 詳細 → https://developer.salesforce.com/docs/atlas.ja-jp.216.0.object_reference.meta/object_reference/sforce_api_objects_recordtype.htm


注意事項

Heroku Connect で、該当のオブジェクトに RecordTypeId が見つからない場合は、まだレコードタイプが作成されていないためです。まず、レコードタイプを Salesforce 側で作成しましょう