機械翻訳について

onToolbarInteractionCommand

Fusionアプリケーションでコールを受信すると、Fusionアプリケーションはアクティブなコールを受け入れるか、拒否するか、または切断できます。

onToolbarInteractionCommandは、Fusionアプリケーションからこの情報(受入れ、拒否または切断)で起動されます。 これは制御可能なイベントです。 そのため、ユーザーがこのイベントを解決または拒否して制御する場合は、このイベント・コールバック関数の戻り値としてpromiseを渡す必要があります。 このイベント・サブスクリプションの通知時に、ユーザーはイベント・レスポンスでコマンドを確認できます。 サポートされているコマンドは、accept、disconnect、rejectおよびsetActiveです。

これらのコマンドは、Fusionアプリケーションでエージェントが行う切断操作の受入れに対応します。 ユーザーは、このイベント・レスポンスのコールバックで、これらのコマンドごとにロジックをワイヤー・アップできます。 イベント・サブスクリプションは、CTI統合のMCAコードの初期化中に1回のみ追加する必要があります。

使用例

CTIベンダーがコール・リクエストを行う場合は、UEFパブリッシュAPIを使用して、FusionアプリケーションへのNewCommActionリクエストを開始する必要があります。 これにより、コールの受入れまたは拒否を行うためのコール通知がFusionアプリケーションに表示されます。 現在、エージェントはこのコールを受け入れるか、このコールを拒否できます。 前述のエージェントからのアクションによると、CTIインテグレーションはapiを呼び出してエージェントによるコール受け入れアクションのコール接続を行うか、またはCTIインテグレーションはエージェントによるコール拒否アクションのコール・リクエスト全体を拒否する必要があります。

このシナリオでは、onToolbarAgentCommandは、エージェントの選択についてCTI統合アプリケーションに通知します。つまり、受入れまたは辞退のいずれかを行い、そのCTI統合に基づいて、UEF StartComm Apiをコールしてコール接続を有効にするか、UEF CloseComm apiをコールしてコールを完全に拒否するロジックをワイヤー・アップできます。

onToolbarInteractionCommandイベントのサブスクリプションを追加するTypescriptの例を次に示します。

/// <reference path="uiEventsFramework.d.ts"/>       
  const uiEventsFrameworkInstance: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
    const multiChannelAdaptorContext: IMultiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
    const phoneContext: IPhoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE') as IPhoneContext;
    const request: IMcaEventRequest = uiEventsFrameworkInstance.requestHelper.createSubscriptionRequest('onToolbarInteractionCommand') as IMcaEventRequest;
    phoneContext.subscribe(request, (response: IEventResponse) => {
        const dataUpdateResponse = response as IMcaOnToolbarInteractionCommandEventResponse;
        const data: IMcaOnToolbarInteractionCommandDataResponse = dataUpdateResponse.getResponseData();
        const command: string = data.getCommand();
        return new Promise((resolve, reject) => {
            switch (command) {
                case "accept":
                    // publish startCommEvent action
                    break;
                case "disconnect":
                    // publish closeCommEvent with proper reason
                    break;
                case "reject":
                    // publish closeCommEvent with proper reason
                    break;
            }
            data.setResult('success');
            resolve(data);
        });
    });

onToolbarInteractionCommandイベントのサブスクリプションを追加するJavaScriptの例を次に示します。

const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
const request = uiEventsFrameworkInstance.requestHelper.createSubscriptionRequest('onToolbarInteractionCommand');
phoneContext.subscribe(request, (response) => {
    const dataUpdateResponse = response;
    const data = dataUpdateResponse.getResponseData();
    const command = data.getCommand();
    return new Promise((resolve, reject) => {
        switch (command) {
            case "accept":
                // publish startCommEvent action
                break;
            case "disconnect":
                // publish closeCommEvent with proper reason
                break;
            case "reject":
                // publish closeCommEvent with proper reason
                break;
        }
        data.setResult('success');
        resolve(data);
    });
});