agentStateEvent
この操作は、Fusionアプリケーションに、指定されたチャネルのユーザーのサインイン状態または可用性ステータスの変更を通知します。 操作名に「event」が含まれている場合でも、エージェントをコールに使用できるようにするには、このAPIを初期化直後にコールする必要があります。
agentStateEvent操作を呼び出す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 requestObject: IMcaAgentStateEventActionRequest = this.frameworkProvider.requestHelper.createPublishRequest('agentStateEventOperation') as IMcaAgentStateEventActionRequest;
const state: boolean = true;
requestObject.setEventId('1');
requestObject.setIsAvailable(state); /* true or false */
requestObject.setIsLoggedIn(true); /* true or false */
requestObject.setState(state ? 'AVAILABLE' : 'UNAVAILABLE'); /*'AVAILABLE' : 'UNAVAILABLE'*/
requestObject.setStateDisplayString(state ? 'Idle' : 'On Break. Lunch break'); /* 'Idle' : 'On Break. Lunch break'*/
requestObject.setReason(null as any);
requestObject.setReasonDisplayString(state ? 'Idle' : 'On Break'); /* 'Idle' : 'On Break' */
requestObject.setInData({ 'phoneLineId': '1' }); /* { 'phoneLineId': '1' } */
phoneContext.publish(requestObject).then((operationResponse: IOperationResponse) => {
const mcaAgentStateEventActionResponseData: IMcaAgentStateEventActionResponseData = (operationResponse as IMcaAgentStateEventActionResponse).getResponseData();
mcaAgentStateEventActionResponseData.isSuccess()
}).catch((error) => {
console.log(error);
});
agentStateEvent操作を呼び出す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 requestObject = this.frameworkProvider.requestHelper.createPublishRequest('agentStateEventOperation');
const state: boolean = true;
requestObject.setEventId('1');
requestObject.setIsAvailable(state); /* true or false */
requestObject.setIsLoggedIn(true); /* true or false */
requestObject.setState(state ? 'AVAILABLE' : 'UNAVAILABLE'); /*'AVAILABLE' : 'UNAVAILABLE'*/
requestObject.setStateDisplayString(state ? 'Idle' : 'On Break. Lunch break'); /* 'Idle' : 'On Break. Lunch break'*/
requestObject.setReason(null as any);
requestObject.setReasonDisplayString(state ? 'Idle' : 'On Break'); /* 'Idle' : 'On Break' */
requestObject.setInData({ 'phoneLineId': '1' }); /* { 'phoneLineId': '1' } */
phoneContext.publish(requestObject).then((operationResponse: IOperationResponse) => {
const mcaAgentStateEventActionResponseData = operationResponse.getResponseData();
mcaAgentStateEventActionResponseData.isSuccess()
}).catch((error) => {
console.log(error);
});