[toc]
概要
D3WorkerのSalesforce Filesサービスには2つのタイプがあります。
1つはサービス名の末尾に「 - セッション」が付くもの、もう1つは「 - セッション」が付かないものです。
「 - セッション」の有無によって、Salesforceの認証方式が異なります。
本セクションでは、各タイプの特性と使い分けについて説明します。
Salesforce Filesサービスの2つのタイプ
D3WorkerでSalesforceと連携する場合、以下の2つのサービスタイプから選択します。
| タイプ | サービス名 | 認証方式 | 事前設定 |
|---|---|---|---|
| 従来のタイプ | Salesforce Files | APIトークンを事前取得し、取得後は APIトークンを D3Workerがリフレッシュし続けます。 | 必要 |
| 推奨タイプ | Salesforce Files - セッション | ワーク実行時にSalesforceのセッション情報を使用 | 不要 |
Salesforce Files(- セッション なし)
特徴
Salesforce組織からのデータ取得、またはSalesforce組織へのデータ登録時に、D3Workerが事前に取得したAPIトークンを使用します。
認証の流れ
- D3Workerのサービス設定画面でSalesforceへの認証を行います。
- 取得したAPIトークンをD3Workerが保持し、継続的にリフレッシュします。
- ワーク実行時に、保持されているAPIトークンを使用してSalesforceに接続します。
複数のアプリケーションから同一のSalesforceユーザを使用して接続している場合、 ログイン数が5つ以上になるとSalesforceのポリシーにより古い接続から解除される可能性があります。
そのため、「- セッション」のついていない方は非推奨です。
Salesforce Files - セッション(推奨)
特徴
ワーク実行時にD3Workerが受け取ったSalesforceのセッション情報を認証に使用します。
そのため、D3Worker側での事前認証設定は不要です。
認証の流れ
- ワーク実行時、Salesforceからセッション情報を取得します。
- そのセッション情報を使用してSalesforceに接続します。
- D3Worker側の認証設定は不要です。
必要な情報
セッション付きタイプを使用する場合、以下の3つの情報が必要になります。
| 情報項目 | 説明 | 取得方法 |
|---|---|---|
| セッションID | Salesforceの現在のセッション識別子 | Salesforceのカスタム数式項目で取得可能 |
| 組織ID | Salesforce組織を特定するID | Salesforceのカスタム数式項目で取得可能 |
| ユーザID | 認証ユーザを特定するID | Salesforceのカスタム数式項目で取得可能 |
これら3つの情報は、Salesforceのカスタム数式項目を対象オブジェクトに作成することで、レコードから直接取得できます。
Salesforceカスタム数式項目の作成方法
対象のSalesforceオブジェクトに以下のカスタム数式項目を作成します。
| 表示ラベル | API参照名 | データ型 | 数式 |
|---|---|---|---|
| セッションID | SessionId__c | 数式(テキスト) | $Api.Session_ID |
| 組織ID | OrgId__c | 数式(テキスト) | $Organization.Id |
| ユーザID | UserId__c | 数式(テキスト) | $User.Id |
組織IDとユーザIDが固定値の場合は、セッションID項目のみの作成で問題ありません。 その場合、サービス設定画面で組織ID・ユーザIDの固定値を指定してください。
これら3項目はすべて数式項目のため、ユーザがアクセス・参照するたびに評価され、値が動的に変動します。
サービスの使い分け
基本的にOproは「Salesforce Files - セッション」の使用を推奨しています。 ただし、以下のいずれかに該当する場合は「Salesforce Files(セッション付きなし)」を使用してください。
セッション付きタイプが使用できないケース
- ワーク実行の起点がSalesforce組織でない場合(例:電子契約サービスの署名後にワークを実行するなど)
- ワーク実行時に既存のCSVデータを使用する場合
- 起点となるSalesforce組織とデータ取得元、またはデータ送信先のSalesforce組織が異なる場合