Service Cloud使ってますか?
どうも、Service Cloudを愛する人、山下です。
今回はユーザ向けと言うより開発者向けの話になります。
...と言っても、SalesforceのOpen CTI関連の開発をされている方はほんの一握りだと思いますので、少しマニアックな記事と言えるかもしれませんが、お付き合いください。
Open CTIへ接続
Open CTIについてはもう説明の必要はないと思いますが、このOpen CTIを利用するインターフェイスが用意されています。
JavaScriptのAPI 「interaction.js」 として提供され、ライブラリを読み込むことで使用できます。 ライブラリを参照するためには以下のようにscriptファイルのURLを指定します。
<script type="text/javascript" src="/support/api/25.0/interaction.js"></script>
interaction.jsの主要メソッド
Interaction.js で良く利用されるものをご紹介します。
通話履歴を保存する
- saveLog()
(着信後などに)対象レコードを表示
- screenPop()
- searchAndScreenPop()
クリックToダイアルを有効/無効化
- enableClickToDial()
- disableClickToDial()
電話番号の取得
- getDirectoryNumbers()
クリックToダイアルイベント
- onClickToDial()
実践
上記のメソッドの中から今回は Service Cloud コンソールにて screenPop() メソッドを利用して対象レコードを表示してみます。
取引先を表示ボタンをクリックすると取引先のテラスカイのレコードが表示される。
※通常はありえないですが、今回は対象レコードのID(00128000001xyui)を直接指定しています。
Visualforce
<apex:page showHeader="true" sidebar="true"> <script src="/support/api/39.0/interaction.js"></script> <script type="text/javascript"> var callback = function (response) { if (response.result) { alert('成功'); } else { alert('失敗:' + result.error); } }; function screenPop() { sforce.interaction.screenPop('/00128000001xyui', true, callback); } </script> <apex:form> <button onclick="screenPop();">取引先を表示</button> </apex:form> </apex:page>
画面での動作確認
取引先を表示ボタンをクリック
想定通り、取引先のテラスカイが表示されました。
ちなみに取引先以外のオブジェクトでもIDを指定すれば、ちゃんとそのレコードが表示されます。
最後に
今回、ご紹介した機能は一部ですが、「interaction.js」と「integration.js」を組み合わせるともっとService Cloudは楽しくなります!
冒頭でも話しましたが、Open CTI関連の開発をされている方はほんの一握りだと思いますが、弊社テラスカイには、Salesforceと音声基盤との連携経験が豊富な技術者が在籍しておりますので、お困りの際は是非ご相談ください。
いつでもご連絡をお待ちしております。