IPhoneContext
PhoneContextは、UIEF提供のテレフォニック・イベントおよび動作アイコンをカプセル化するオブジェクトです。 このオブジェクトは、channelTypeをPHONEとして渡すことでgetCommunicationChannelContext APIをコールすることで、MultiChann elAdaptorContextオブジェクトから導出できます。
getCommunicationChannelContext(channelType: McaChannels): Promise<ICommunicationChannelContext>; /// <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 uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
  const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
  const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE'); 関数
サブスクライブ
この関数を使用して、PhoneContextでサポートされているイベントをリスニングします。 たとえば、onToolbarInteractionCommand、onDataUpdated、onOutgoingEventです。
subscribe: (requestObject: IEventRequest, callbackFunction: (response:IEventResponse) => void) => ISubscriptionContext;
/// <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('onDataUpdated') as IMcaEventRequest;
      request.setAppClassification('_appClassfication');
      phoneContext.subscribe(request, (response: IEventResponse) => {
          const dataUpdateResponse = response as IMcaOnDataUpdatedEventResponse;
          const data: IMcaOnDataUpdatedData = dataUpdateResponse.getResponseData();
      });
  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('onDataUpdated') as IMcaEventRequest;
      request.setAppClassification('_appClassfication');
      phoneContext.subscribe(request, (response) => {
          const data = response.getResponseData();
      });subscribeOnce
このファンクションは、PhoneContextでサポートされているイベントに対して1回のみリスニングする場合に使用します。 たとえば、onToolbarInteractionCommand、onDataUpdated、onOutgoingEventなどです。
subscribeOnce: (requestObject: IEventRequest, callbackFunction: (response:IEventResponse) => void) => ISubscriptionContext;
/// <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('onDataUpdated') as IMcaEventRequest;
      request.setAppClassification('_appClassfication');
      phoneContext.subscribeOnce(request, (response: IEventResponse) => {
          const dataUpdateResponse = response as IMcaOnDataUpdatedEventResponse;
          const data: IMcaOnDataUpdatedData = dataUpdateResponse.getResponseData();
      });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('onDataUpdated') as IMcaEventRequest;
      request.setAppClassification('_appClassfication');
      phoneContext.subscribeOnce(request, (response) => {
          const data = response.getResponseData();
   });公開
このファンクションを使用して、PhoneContextオブジェクトに対してPhoneContextでサポートされている操作を公開します。
publish: (requestObject: IOperationRequest) => Promise<IOperationResponse>;/// <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: IMcaNewCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('newCommEvent') as IMcaNewCommEventActionRequest;
      request.setAppClassification('self.appClassfication');
      request.setLookupObject('lookup');
      request.setInputData(_inboundData);// _inboundData of type - IMcaNewCommInData
      const inData: IMcaInDataRequest = request.getInData();
      inData.setCallStatus('INCOMING');
      phoneContext.publish(request).then((response: IOperationResponse) => {
          const newCommResponse: IMcaNewComActionResponse = response as IMcaNewComActionResponse;
      }).catch(()=>{
  });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.createPublishRequest('newCommEvent');
      request.setAppClassification('self.appClassfication');
      request.setLookupObject('lookup');
      request.setInputData(_inboundData);// _inboundData of type - IMcaNewCommInData
      const inData = request.getInData();
      inData.setCallStatus('INCOMING');
      phoneContext.publish(request).then((response) => {       
   // custom code    
  }).catch(()=>{
  });処分
dispose:() => void;/// <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;
      phoneContext.dispose(); const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      phoneContext.dispose();getSupportedEvents
このファンクションを使用して、PhoneContextオブジェクトでサポートされているすべてのイベントを取得します。
getSupportedEvents(): string[];/// <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 supportedEvents:string[] = phoneContext.getSupportedEvents();const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      const supportedEvents = phoneContext.getSupportedEvents();getSupportedActions
このファンクションを使用して、PhoneContextオブジェクトでサポートされるすべてのアクションを取得します。
getSupportedActions(): string[];/// <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 supportedActions: string[] = phoneContext.getSupportedActions();    const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      const supportedActions = phoneContext.getSupportedActions();  getChannelType
このファンクションを使用して、PhoneContext APIリクエストのチャネル・タイプを取得します。 たとえば、ORA_SVC_PHONEです。
getChannelType(): string;
/// <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 channelType: string = phoneContext.getChannelType(); 
   const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      const channelType = phoneContext.getChannelType(); getChannel
コンテキスト・オブジェクトの型を取得するには、この関数を使用します。 値はPHONEです。
getChannel(): string;
/// <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 channel: string = phoneContext.getChannel();  // 'PHONE'
  const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      const channel = phoneContext.getChannel();    // 'PHONE'     getFrameOrigin
このファンクションを使用して、PhoneContextオブジェクト・リクエストでフレームの起点を取得します。
getFrameOrigin(): string;
//// <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 frameOrigin: string = phoneContext.getFrameOrigin();
  const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      const frameOrigin = phoneContext.getFrameOrigin();  getToolbarName
この関数を使用して、PhoneContextオブジェクト・リクエストのツールバー名を取得
getToolbarName(): string;
/// <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 toolbarName: string = phoneContext.getToolbarName(); 
   const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      const toolbarName = phoneContext.getToolbarName();    getVersion
このファンクションを使用して、PhoneContextオブジェクト・リクエストのバージョンを取得します。
getVersion(): string;
/// <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 version: string = phoneContext.getVersion(); 
  const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      const version = phoneContext.getVersion();   getEventSource
このファンクションを使用して、PhoneContextオブジェクト・リクエストでイベント・ソースを取得します。
getEventSource(): string;
/// <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 eventSource: string = phoneContext.getEventSource(); 
   const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
      const multiChannelAdaptorContext = await uiEventsFrameworkInstance.getMultiChannelAdaptorContext();
      const phoneContext = await multiChannelAdaptorContext.getCommunicationChannelContext('PHONE');
      const eventSource = phoneContext.getEventSource();