タスクを実行するには、 VoxImplantプラットフォームの機能を使用します。これは、JavaScriptの知識のみが必要なためです。また、コール処理スクリプトに直接接続するACDモジュールも使用します。 このモジュールのおかげで、コードの記述が最小限に抑えられます。
タスクを細分化すると、次のリストが表示されます。
- VoxImplantアプリケーションを作成します(哀れなことにcallcenterと呼ぶことができます)
- ユーザーを作成し、アプリケーションにフックします(この場合、アプリケーションユーザーはコールセンターのオペレーターです)
- アプリケーションのキューを作成して構成します
- スキルグループを作成してカスタマイズする
- 着信コールを処理するVoxEngineスクリプトを作成します。それらをキューに入れたり、応答を待つ時間を教えたりします。
- アプリケーションのルールを使用して、すべての着信コールをスクリプトに送信します
- Web SDKを使用してオペレーターのWebインターフェースを作成する
怖いように見えますが、彼らが言うように、目は怖く、手はしている。 始めましょう。
VoxImplantアプリ
コントロールパネルの[ アプリケーション]セクションを開き、新しいアプリケーションを作成します。 彼をコールセンターと呼びましょう。 アプリケーションのフルネームは、callcenter.your_name_name.voximplant.comのようになります。
ユーザー/オペレーター
[ユーザー]セクションを開き、複数のユーザーを作成します。それらをoperator1、operator2などと呼ぶことができます。 それらを作成するとき、その前に作成したアプリケーションにすぐに添付できます。
キュー作成
[設定]メニューの[ キュー] / [キュー]セクションを開き、次のパラメーターを使用して新しいキューを作成します。
スキルグループの作成
[設定]メニューの[ スキル/スキルグループ]セクションを開き、新しいグループを作成し、前に作成したキューとユーザーを指定します。
VoxEngineスクリプトを作成する
[ シナリオ/スクリプト]セクションを開き、新しいスクリプトを作成します。
// ACD require(Modules.ACD); var request, // <-- ACDRequest originalCall, // <-- callerid, statusInterval; // VoxEngine.addEventListener(AppEvents.CallAlerting, handleInboundCall); // function handleInboundCall(e) { originalCall = e.call; callerid = e.callerid; // originalCall.addEventListener(CallEvents.Connected, handleCallConnected); originalCall.addEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished); originalCall.addEventListener(CallEvents.Failed, cleanup); originalCall.addEventListener(CallEvents.Disconnected, cleanup); // originalCall.answer(); } // function cleanup(e) { if (request) { // - request.cancel(); request = null; } // VoxEngine.terminate(); } // function handlePlaybackFinished(e) { e.call.startPlayback("http://cdn.voximplant.com/toto.mp3"); } // function handleCallConnected(e) { // 'MainQueue', request = VoxEngine.enqueueACDRequest("MainQueue", callerid); // request.addEventListener(ACDEvents.Queued, function (acdevent) { request.getStatus(); }); // request.addEventListener(ACDEvents.Waiting, function (acdevent) { var minutesLeft = acdevent.ewt + 1; var minutesWord = " ."; if ((minutesLeft > 10 && minutesLeft < 20) || (minutesLeft % 10 > 4 || minutesLeft % 10 == 0)) { minutesWord = " ."; } else if (minutesLeft % 10 == 1) { minutesWord = " ."; } originalCall.say(" " + acdevent.position + ". " + (acdevent.ewt + 1) + minutesWord, Language.RU_RUSSIAN_FEMALE); }); // request.addEventListener(ACDEvents.OperatorReached, function (acdevent) { VoxEngine.sendMediaBetween(acdevent.operatorCall, originalCall); acdevent.operatorCall.addEventListener(CallEvents.Disconnected, VoxEngine.terminate); clearInterval(statusInterval); }); // - request.addEventListener(ACDEvents.Offline, function (acdevent) { originalCall.say(" , . , .", Language.RU_RUSSIAN_FEMALE); originalCall.addEventListener(CallEvents.PlaybackFinished, function (e) { VoxEngine.terminate(); }); }); // 30 statusInterval = setInterval(request.getStatus, 30000); }
スクリプト「ACD」を呼び出して保存します。 これで、VoxImplantで電話番号を取得して、その電話番号からのすべてのコールをキュー付きでIVRに送信できます。
番号をつなぐ
電話番号セクションを開き、その中の番号を直接購入できます。
[ マイナンバー]セクションでは 、アプリケーションに番号をフックします。
番号からスクリプトに着信コールを送信します
[アプリケーション]セクションに移動し、アプリケーションの編集に移動して[ルール]セクションを開き、[ルールの追加] / [ルールの追加]をクリックします。 InboundCallsと呼び、取得した電話番号をパターンに挿入すると、ACDスクリプトを[割り当て済み]列にドラッグします。
[追加]をクリックして、作成したばかりのルールを確認します。
コールセンターオペレーターインターフェイスの作成
最後に行うことは、オペレーターが作業する単純なWebインターフェースを作成することです。 これはVoxImplant Web SDKを使用して実行できます。最新のブラウザでは、この場合WebRTCが使用されます。 Web SDKでオペレーターの現在のステータスを設定するには、 setOperatorACDStatus関数を使用します 。ここで、 VoxImplant.OperatorACDStatusesからステータスの1つを転送します。 ステータスがVoxImplant.OperatorACDStatuses.Readyに設定されている場合、着信コールはこのオペレーターに配信されます。 このようなシンプルなインターフェースが得られます:
GitHubで完成したアプリケーションを実行できます 。 アカウント名を入力するだけです(ACCNAME変数を参照)。
PSこの資料では、複数のキューとスキルグループがある場合、クライアントをキューに入れて切断する機会を与え、キューが立ち上がったときに電話にコールバックする機会など、より複雑なシナリオは特に考慮されません。 これはすべて、VoxImplant機能のフレームワーク内で実現可能です。
PSSコールセンターの重要な部分はレポートです。コントロールパネルとHTTP APIの両方からも利用できます。 いくつかの例:
例1
例2
例3