光CTIスマートコネクトサービスは、WebSocket APIを提供します。
※Windows 7SP1 では動作しません。WebSocket API をご利用の際は、 Windows 8、8.1、10 をご使用ください。
(Windows 7SP1 は OSレベルの WebSocketに非対応のため、ご利用いただけません。)
【サンプルプログラムの利用方法】
- サーバーにするパソコンに「光CTIスマートコネクトサービス」をインストールします。
- 以下の【クライアントプログラム(JavaScript)のサンプルソース】を参考にプログラムを作成します。
- 作成したクライアントプログラム(JavaScript)をクライアント上で実行します。(ブラウザで開く)
【使用するポート】
- 55963ポート(サービス側のパソコンでオープンが必要です。)
- 80ポート(クライアント側のパソコンでオープンが必要です。)
【クライアントプログラム(JavaScript)のサンプルソース】
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<button id="btn1">Regist</button>
<button id="btn2">UnRegist</button>
<button id="btn3">KeepAlive</button><br>
<span id="text1">サーバーから受信したメッセージをここに表示します。</span>
<script>
const sock = new WebSocket("ws://localhost:55963/CTI_SmartConnectService/WebSocket/");
sock.addEventListener("open", e => {
console.log("接続が開かれたときに呼び出されるイベント");
});
sock.addEventListener("message", e => {
console.log("サーバーからメッセージを受信したときに呼び出されるイベント");
console.log(e.data);
document.getElementById("text1").innerHTML = e.data;
//メッセージをJSONパース
var data = JSON.parse(e.data.replace(/\r?\n/g, ' ')); //改行文字を半角スペースに変換する
console.log("title : " + data.title);
console.log("msg : " + data.msg);
console.log("tyakusin_nichiji : " + data.tyakusin_nichiji);
console.log("from : " + data.from);
console.log("to : " + data.to);
console.log("kokyaku_id : " + data.kokyaku_id);
console.log("kokyaku_name : " + data.kokyaku_name);
console.log("tantou_name : " + data.tantou_name);
console.log("syubetsu : " + data.syubetsu);
});
sock.addEventListener("close", e => {
console.log("接続が閉じられたときに呼び出されるイベント");
});
sock.addEventListener("error", e => {
console.log("エラーが発生したときに呼び出されるイベント");
});
btn1.addEventListener("click", e => {
sock.send("Regist('クライアント名')");
});
btn2.addEventListener("click", e => {
sock.send("UnRegist('クライアント名')");
});
btn3.addEventListener("click", e => {
sock.send("KeepAlive('クライアント名')");
});
</script>
</body>
</html>
【実行画面サンプル】
【光CTIスマートコネクトサービスWebSocket API仕様】
| アドレス | ws://(サービス実行中のパソコンのIPアドレス):55963/CTI_SmartConnectService/WebSocket/ |
|---|---|
| バインディング |
customBinding(netHttpBinding からの派生)
|
| データ名称 | Send メッセージ | |
|---|---|---|
| 接続中クライアントリストへ登録する | Regist(‘name’) | |
|
||
| 接続中クライアントリストから登録解除する | UnRegist(‘name’) | |
|
||
| キープアライブ(タイムアウトを防ぐため、クライアントから5分間隔で呼び出す)
※調査の結果、本メッセージを送信しなくても接続がキープされているようです。 |
KeepAlive(‘name’) | |
WCFのタイムアウトを防ぐため、クライアントから定期的にキープアライブをコールします。(10分以内に1回コールする必要があります。)
|
||
| データ名称 | CallBack メッセージ | |
|---|---|---|
| サービスからの通知 | { “title”:”タイトル”, “msg”:”メッセージ”, “tyakusin_nichiji”:”着信日時”, “from”:”相手TEL”, “to”:”着信TEL”, “kokyaku_id”:”顧客ID”, “kokyaku_name”:”顧客名(会社名)”, “tantou_name”:”担当者名”, “syubetsu”:”回線種別” } ※JSON形式 |
|
サービスから着信メッセージ、クライアント生存確認、処理完了通知がコールバックされます。
|
||

