はじめに
こんにちは、三上です。
突然ですが、Open CTIがLightning Experienceに対応したのはご存知ですか?
今回は「Lightning時代のOpen CTI」と題し、LEXでのOpen CTIアダプタ設定方法や新しいOpen CTIライブラリについて書いてみたいと思います。
LEX版アダプタのインストール
まずは、Salesforce社から提供されているLEX対応版Open CTIデモアダプタを導入してみましょう。
下記URLからパッケージ「Open CTI Lightning Demo Adapter」をインストールします。
https://login.salesforce.com/packaging/installPackage.apexp?p0=04t41000000bSXh
※インストールの前にLightning Experienceの有効化と、私のドメインの設定忘れずに!
パッケージをインストールすると、コールセンター「Demo Call Center Adapter」が自動で組織に作成されます。
次に、このコールセンターにユーザを追加する必要があります。
追加手順はClassicと同様です。
詳細は下記の記事をご確認ください。
おしえて!OpenCTIアダプタ設定 - そもそもCTIアダプタが出てこない
Lightningアプリケーションへのアダプタ追加
アダプタを表示するため、Lightningアプリケーションを作成します。
ステップ1)アプリケーションの詳細、ステップ2)アプリケーションオプションは適宜設定してください。
ポイントは3つ目のステップ「ユーティリティバー」で、アダプタを追加することです。
ユーティリティバーの設定 - ユーティリティバー項目の追加ボタンから「Open CTIスマートフォン」を選択します。
ユーティリティバーに「Phone」が追加されました。
ステップ4)項目を選択、でタブを追加、ステップ5)ユーザプロファイルへの割り当て、でアプリケーション利用権限を付与し完了です。
動作を確認するため、作成したアプリケーションを開きます。
画面左下の「Phone」ボタンをクリックするとアダプタが表示されます。
Open CTI for LEX/Classic
ここではLEX版のOpen CTIと、Classic版のそれとの違いをまとめたいと思います。
Open CTI関連の開発をされている方向けの情報となりますが、、、お付き合いください。
前述のパッケージでインストールされたアダプタのVisualforce「demoAdapterPage.page」のソースを開いてみましょう。
読み込んでいるOpen CTIライブラリが、Classicのそれとは別個のものであることが確認できるはずです。
Classic版
<script src="/support/api/38.0/interaction.js" type="text/javascript"></script>
LEX版
<script src="/support/api/38.0/lightning/opencti_min.js" type="text/javascript"></script>
また、メソッドの呼び出し方も異なります。
着信ポップアップを実現するsearchAndScreenPop()を例に取ると、、、
Classic版(interaction.js)
sforce.interaction.searchAndScreenPop('09011112222', 'DNIS=0311112222', 'inbound', callback);
LEX版(opencti_min.js)
sforce.opencti.searchAndScreenPop({searchParams:'09011112222', queryParams:'DNIS=0311112222', callType:sforce.opencti.CALL_TYPE.INBOUND, deferred:false, callback:callback});
名前空間や引数の渡し方が異なっていることが確認できると思います。
また、getDirectoryNumbers()など、LEX版では未サポートのものがあるので注意が必要です。
これらは今後に期待したいところです。
詳しくはこちら
Open CTI開発者ガイド
おわりに
CTI Toolkitが廃止され、主流はOpen CTIとなりました。
また、LEXは日々進化・普及しており、今後はOpen CTIもLEX版がスタンダードになっていくことが容易に想像が付きます。
Open CTIの今後の進化に期待ですね。