Udesk ServiceGo open-cti(1.0.1)
こんにちは、Udesk ServiceGo open-cti への接続を歓迎します。以下に基本的な使用方法、注意事項、サンプルコードなどを提供します。
一、基本的な使用方法
-
ServiceGo システム内で、設定/チャネル管理/コンポーネント管理/電話にて、コンポーネントリンクなどの設定を行います。
-
ダウンロードアドレスから open-cti.js ファイルをダウンロードし、コンポーネントリンクを提供するページ内に導入します。
二、注意事項
ブラウザ互換性
SDK は現在、IE9+(含む)の IE ブラウザおよびそのカーネルに基づくブラウザ(360/qq/…)、その他の主要ブラウザ(chrome/firefox/…)をサポートしています。
三、ダウンロードアドレス
四、サンプルコード
(function () {
OpenCTI.on('Ready', function () {
OpenCTI.off('Ready');
OpenCTI.onInitialized();
OpenCTI.setWindowMode(1);
OpenCTI.setWindowWidth(272);
OpenCTI.setWindowHeight(420);
OpenCTI.onAuthenticated();
OpenCTI.on('CallOut', function (number, options) {
window.makeCall(number, options);
});
OpenCTI.screenPop({
objectApiName: 'contact',
fieldApiName: 'phone',
number: 'XXXXXXXXX',
callId: '123456',
isCallIn: 1,
isCallOut: 0,
callOutAutoScreenPop: 0,
callInAutoScreenPop: 0,
});
});
})();
五、API
OpenCTI.enableDialIcon()
説明:
ServiceGo システム内の電話番号の後ろにある発信ボタンを有効にします。ボタンをクリックすると、番号が SDK を介して発信コンポーネントに送信され、直接発信されます。
OpenCTI.disableDialIcon()
説明:
ServiceGo システム内の電話番号の後ろにある発信ボタンを無効にします。
OpenCTI.showWindow()
説明:
ウィンドウを表示します。
OpenCTI.screenPop(options)
説明:
スクリーンポップ(画面表示)を行います。
options オブジェクトパラメータ説明:
| 名前 | タイプ | 説明 |
|---|---|---|
| objectApiName | String | スクリーンポップで作成するオブジェクトの ApiName |
| fieldApiName | String | スクリーンポップで作成するオブジェクトの主フィールド ApiName |
| number | String | 電話番号 |
| callId | String | 通話の一意な Id |
| isCallIn | Bool | 着信かどうか |
| isCallOut | Bool | 発信かどうか |
| callOutAutoScreenPop | Bool | 発信自動スクリーンポップを行うかどうか |
| callInAutoScreenPop | Bool | 着信自動スクリーンポップを行うかどうか |
| ##### OpenCTI.setWindowMode(mode) |
説明:
ウィンドウ表示モード。
mode=1 Window モード、つまりウィンドウモード。この場合、発信コンポーネントは小さなウィンドウに表示され、画面の右下にドッキングされます。
mode=2 WideScreen モード、つまりワイドスクリーンモード。この場合、発信コンポーネントの幅は画面いっぱいになり、高さはカスタマイズして調整できますが、幅は調整できません。
OpenCTI.setWindowWidth(width)
説明:
ウィンドウの幅を設定します。注意:このメソッドは、ウィンドウモードが window モードの場合にのみ有効です。それ以外の場合は、このメソッド呼び出しは無効です。
OpenCTI.setWindowHeight(height)
説明:
ウィンドウの高さ。数値(ピクセル値)または CSS height 仕様に準拠した文字列(https://developer.mozilla.org/en-US/docs/Web/CSS/height)を受け入れます。
OpenCTI.setWindowTitleColor(color)
説明:
タイトル行の色の値。CSS color 仕様に準拠した文字列(https://developer.mozilla.org/en-US/docs/Web/CSS/color)を受け入れます。
OpenCTI.onInitialized()
説明:
発信コンポーネントの初期化が完了した後、このメソッドを呼び出して、サーバー側に初期化が完了したことを通知します。
サーバー側がこのイベントを受信すると、直ちにAuthenticateイベントをトリガーし、認証フローを開始します。
OpenCTI.onAuthenticated()
説明:
発信コンポーネントの認証が完了した後、このメソッドを呼び出して、サーバー側に認証が完了したことを通知します。
サーバー側がこのイベントを受信すると、発信コンポーネントの設定情報を送信し、同時に電話番号の後の点击外呼ボタンを自動的に有効にします。
OpenCTI.onTokenExpired()
説明:
クライアント側のtokenが無効であることが検出された場合、このメソッドをコールバックします。この時、ServiceGo システムは再度バックエンドに新しいtokenをリクエストし、認証の自動回復を試みます。
OpenCTI.onSettingChanged()
説明:
ユーザーが発信コンポーネントの設定を変更した場合、このメソッドを呼び出します。サーバー側はユーザーの設定をデータベースに保存します。
注意:どの設定項目が変更された場合でも、完全な設定情報を送信する必要があります。これは、バックエンドが一つのJSONデータとして全体を保存するためであり、全体を置き換えるだけだからです。
情報が不完全な場合、残りの情報が失われる可能性があります。
OpenCTI.destroy()
説明:
open-cti インスタンスを破棄します。
六、イベントリスニング
Ready
説明:
OpenCTI SDK のクライアント側とサーバー側は、正常に動作するためにいくつかの必要な通信作業を行う必要があります。
そのため、クライアント側 SDK のすべてのメソッドは、Ready イベントの後でなければ呼び出すことができません。
サンプルコード:
OpenCTI.on('Ready', function () {});
OpenCTI.off('Ready');
Authenticate
説明:
認証イベント
サンプルコード:
OpenCTI.on('Authenticate', function (actionData) {});
OpenCTI.off('Authenticate');
actionData オブジェクトパラメータ説明:
| 名称 | タイプ | 説明 |
|---|---|---|
| token | String | アウトバウンドコンポーネントに必要なクライアント認証トークン |
LoadSetting
説明:
ServiceGo システムは、アウトバウンドコンポーネントの設定情報を読み込んだ後、イベントの形式で設定データを送信します。
このイベントは Authenticate が完了した後に発生します。
サンプルコード:
OpenCTI.on('LoadSetting', function (eventData) {});
OpenCTI.off('LoadSetting');
CallOut
説明:
アウトバウンドイベント
サンプルコード:
OpenCTI.on('CallOut', function (actionData) {});
OpenCTI.off('CallOut');
actionData オブジェクトパラメータ説明:
| 名称 | タイプ | 説明 |
|---|---|---|
| number | String | アウトバウンドする電話番号(ServiceGo 電話番号フィールドの検証ルールに準拠した形式) |