Open CTI とのインターフェイス「interaction.js」

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>

画面での動作確認

screenPopBefore.PNG

取引先を表示ボタンをクリック

screenPopAfter.PNG

想定通り、取引先のテラスカイが表示されました。

ちなみに取引先以外のオブジェクトでもIDを指定すれば、ちゃんとそのレコードが表示されます。

最後に

今回、ご紹介した機能は一部ですが、「interaction.js」と「integration.js」を組み合わせるともっとService Cloudは楽しくなります!

冒頭でも話しましたが、Open CTI関連の開発をされている方はほんの一握りだと思いますが、弊社テラスカイには、Salesforceと音声基盤との連携経験が豊富な技術者が在籍しておりますので、お困りの際は是非ご相談ください。

いつでもご連絡をお待ちしております。