機械翻訳について

IEngagementContext

EngagementContextは、startCommEventパブリッシュ・リクエストのために新しいコール接続が確立されたtabContextをカプセル化するオブジェクトです。 その結果、そのコール接続によって開かれるオブジェクトを制御できます。

構文は次のとおりです:
getEngagementContext(): IEngagementContext;

Typescriptのコード・サンプルを次に示します。

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: IMcaStartCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('startCommEvent') as IMcaStartCommEventActionRequest;
 //You should set correct appClassification here. eg: ORA_SERVICE for Service App
 // Refer https://docs.oracle.com/en/cloud/saas/fusion-service/fairs/application-classification-code.html#s20059918 for the list of supported app classifications
request.setAppClassification('appClassfication');
request.setEventId('1'); // Set the event ID here
const inData: IMcaStartCommInDataRequest = request.getInData();
phoneContext.publish(request).then((res: IOperationResponse) => {
    const response: IMcaStartComActionResponse = res as IMcaStartComActionResponse;
    const startCommData: IMcaStartComActionData = response.getResponseData();
    const engagementContext: IEngagementContext = startCommData.getEngagementContext();
})
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.createPublishRequest('startCommEvent');
  //You should set correct appClassification here. eg: ORA_SERVICE for Service App
  // Refer https://docs.oracle.com/en/cloud/saas/fusion-service/fairs/application-classification-code.html#s20059918 for the list of supported app classifications
  request.setAppClassification('appClassfication');
  request.setEventId('1'); // Set the event ID here
  const inData = request.getInData();
  phoneContext.publish(request).then((response) => {
      const startCommData = response.getResponseData();
      const engagementContext = startCommData.getEngagementContext();
  })

関数

getEngagementId

新しいコール接続のために開かれたエンゲージメント・オブジェクトの一意の識別子を取得するには、この関数を使用

次に、構文の例を示します:
getEngagementId(): string; 
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: IMcaStartCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('startCommEvent') as IMcaStartCommEventActionRequest;
  //You should set correct appClassification here. eg: ORA_SERVICE for Service App
  // Refer https://docs.oracle.com/en/cloud/saas/fusion-service/fairs/application-classification-code.html#s20059918 for the list of supported app classifications
  request.setAppClassification('appClassfication');
  request.setEventId('1'); // Set the event ID here
  const inData: IMcaStartCommInDataRequest = request.getInData();
  phoneContext.publish(request).then((res: IOperationResponse) => {
      const response: IMcaStartComActionResponse = res as IMcaStartComActionResponse;
      const startCommData: IMcaStartComActionData = response.getResponseData();
      const engagementContext: IEngagementContext = startCommData.getEngagementContext();
      const engagementId: string = engagementContext.getEngagementId();
  }).catch(() => {
  })
  
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.createPublishRequest('startCommEvent');
  // You should set correct appClassification here. eg: ORA_SERVICE for Service App
  // Refer https://docs.oracle.com/en/cloud/saas/fusion-service/fairs/application-classification-code.html#s20059918 for the list of supported app classifications
  request.setAppClassification('appClassfication');
  request.setEventId('1'); // Set the event ID here
  const inData = request.getInData();
  phoneContext.publish(request).then((response) => {
      const startCommData = response.getResponseData();
      const engagementContext = startCommData.getEngagementContext();
      const engagementId = engagementContext.getEngagementId();
  })

getTabContext

このファンクションを使用して、エンゲージメント・オブジェクトまたは新規コール接続が開始されるtabContextを取得します。 これはITabContextタイプになり、このtabContextでアクティブおよび使用可能なレコードを取得して、そのレコードに対してアクションを実行できます。

次に、構文の例を示します:
getTabContext(): Promise<ITabContext>;
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: IMcaStartCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('startCommEvent') as IMcaStartCommEventActionRequest;
          request.setAppClassification('appClassfication');// You should set correct appClassification here. eg: ORA_SERVICE for Service App
          request.setEventId('1'); // Set the event ID here
          const inData: IMcaStartCommInDataRequest = request.getInData();
          phoneContext.publish(request).then(async (res: IOperationResponse) => {
              const response: IMcaStartComActionResponse = res as IMcaStartComActionResponse;
              const startCommData: IMcaStartComActionData = response.getResponseData();
              const engagementContext: IEngagementContext = startCommData.getEngagementContext();
              const tabContext: ITabContext = await engagementContext.getTabContext();
          }).catch(() => {
          })
  
IEngagementContextIFieldValueChangeEventRequest
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.createPublishRequest('startCommEvent');
  request.setAppClassification('appClassfication');// You should set correct appClassification here. eg: ORA_SERVICE for Service App
  request.setEventId('1'); // Set the event ID here
  const inData = request.getInData();
  phoneContext.publish(request).then((response) => {
      const startCommData = response.getResponseData();
      const engagementContext = startCommData.getEngagementContext();
      const engagementId = engagementContext.getEngagementId();
      const tabContext = await engagementContext.getTabContext();
  })

getEngagementData

この関数を使用して、エンゲージメント・オブジェクトのデータをフェッチします。

次に、構文の例を示します:
getEngagementData(): IMcaEngagementData;
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: IMcaStartCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('startCommEvent') as IMcaStartCommEventActionRequest;
  // You should set correct appClassification here. eg: ORA_SERVICE for Service App
  // Refer https://docs.oracle.com/en/cloud/saas/fusion-service/fairs/application-classification-code.html#s20059918 for the list of supported app classifications
  request.setAppClassification('appClassfication');
  request.setEventId('1'); // Set the event ID here
  const inData: IMcaStartCommInDataRequest = request.getInData();
  phoneContext.publish(request).then(async (res: IOperationResponse) => {
      const response: IMcaStartComActionResponse = res as IMcaStartComActionResponse;
      const startCommData: IMcaStartComActionData = response.getResponseData();
      const engagementContext: IEngagementContext = startCommData.getEngagementContext();
      const engagementData: IMcaEngagementData = await engagementContext.getEngagementData();
  }).catch(() => {
  })
  
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.createPublishRequest('startCommEvent');
 // You should set correct appClassification here. eg: ORA_SERVICE for Service App
// Refer https://docs.oracle.com/en/cloud/saas/fusion-service/fairs/application-classification-code.html#s20059918 for the list of supported app classifications
request.setAppClassification('appClassfication');
request.setEventId('1'); // Set the event ID here
const inData = request.getInData();
phoneContext.publish(request).then((response) => {
    const startCommData = response.getResponseData();
    const engagementContext = startCommData.getEngagementContext();
    const engagementId = engagementContext.getEngagementId();
    const engagementData = await engagementContext.getEngagementData();
})

getChannelType

このファンクションを使用して、EngagementContext APIリクエスト(ORA_SVC_PHONEなど)のチャネル・タイプを取得します。

次に、構文の例を示します:
getChannelType(): string;
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: IMcaStartCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('startCommEvent') as IMcaStartCommEventActionRequest;
          request.setAppClassification('appClassfication');
          request.setInputData({eventId: 'id'});// _inboundData of type - IMcaStartCommInData
          const inData: IMcaStartCommInDataRequest = request.getInData();
          phoneContext.publish(request).then(async (res: IOperationResponse) => {
              const response: IMcaStartComActionResponse = res as IMcaStartComActionResponse;
              const startCommData: IMcaStartComActionData = response.getResponseData();
              const engagementContext: IEngagementContext = startCommData.getEngagementContext();
              const channelType: string = await engagementContext.getChannelType();
          }).catch(() => {
          })      
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.createPublishRequest('startCommEvent');
  request.setAppClassification('appClassfication');
  request.setInputData({eventId: 'id'});// _inboundData of type - IMcaStartCommInData
  const inData = request.getInData();
  phoneContext.publish(request).then((response) => {
      const startCommData = response.getResponseData();
      const engagementContext = startCommData.getEngagementContext();
      const channelType = await engagementContext.getChannelType();
  })

getChannel

このファンクションを使用して、EngagementContextオブジェクトの型を取得します。 値はPHONEになります。

次に、構文の例を示します:
getChannel(): string;
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: IMcaStartCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('startCommEvent') as IMcaStartCommEventActionRequest;
  // You should set correct appClassification here. eg: ORA_SERVICE for Service App
  // Refer to Application Classification Code for the list of supported app classifications  
  request.setAppClassification('appClassfication');
  request.setEventId('1'); // Set the event ID here
  const inData: IMcaStartCommInDataRequest = request.getInData();
  phoneContext.publish(request).then(async (res: IOperationResponse) => {
      const response: IMcaStartComActionResponse = res as IMcaStartComActionResponse;
      const startCommData: IMcaStartComActionData = response.getResponseData();
      const engagementContext: IEngagementContext = startCommData.getEngagementContext();
      const channel: string = await engagementContext.getChannel(); // 'PHONE'
  }).catch(() => {
  })
  
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.createPublishRequest('startCommEvent');
  // You should set correct appClassification here. eg: ORA_SERVICE for Service App
  // Refer to Application Classification Code for the list of supported app classifications
  request.setAppClassification('appClassfication');
  request.setEventId('1'); // Set the event ID here
  const inData = request.getInData();
  phoneContext.publish(request).then((response) => {
      const startCommData = response.getResponseData();
      const engagementContext = startCommData.getEngagementContext();
      const engagementId = engagementContext.getEngagementId();
      const channel = await engagementContext.getChannel(); // 'PHONE'
  })

getWrapupContext

UEFと対話するために、WrapUpのRecordContextはEngagementContextから入手できます。

次の2つの方法のいずれかからwrapupContextを取得できます:
  • トランスクリプトが有効な場合はstartCommから
  • closeCommから。トランスクリプトが有効または無効の場合に使用できます。

ユーザーは、フィールドの設定、フィールドの取得、操作の保存、フィールド値の変更などのイベント、WrapUpRecordContextからOnBeforeSave、OnAfterSaveなどのUEF recordLevelアクションを実行できます。 後続の例をご覧ください。

エンゲージメント・オブジェクトまたは新規コール接続が開始または終了するラップ・アップ・レコード・コンテキストを取得する機能。 これはタイプIRecordContextになるため、WrapUpのRecordContextを取得し、アクションおよびイベントを実行します。

次に、構文の例を示します:
getRecordContext(): Promise<IRecordContext>;
TypescriptのengagementContextのgetWrapupContext APIのコード・サンプルを次に示します。
/// <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: IMcaStartCommEventActionRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('startCommEvent') as IMcaStartCommEventActionRequest;
          request.setAppClassification('appClassfication');
          request.setInputData({eventId: 'id'});// _inboundData of type - IMcaStartCommInData
          const inData: IMcaStartCommInDataRequest = request.getInData();
          phoneContext.publish(request).then(async (res: IOperationResponse) => {
              const response: IMcaStartComActionResponse = res as IMcaStartComActionResponse;
              const startCommData: IMcaStartComActionData = response.getResponseData();
              const engagementContext: IEngagementContext = startCommData.getEngagementContext();
              const recordContext: IRecordContext = await engagementContext.getWrapupContext();
          }).catch(() => {
          })
  
次に、JavascriptのengagementContextでのgetWrapupContext APIのコード・サンプルを示します。
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('startCommEvent');
  request.setAppClassification('appClassfication');
  request.setInputData({eventId: 'id'});// _inboundData of type - IMcaStartCommInData
  const inData = request.getInData();
  phoneContext.publish(request).then((response) => {
      const startCommData = response.getResponseData();
      const engagementContext = startCommData.getEngagementContext();
      const engagementId = engagementContext.getEngagementId();
      const recordContext = await engagementContext.getWrapupContext();
  })

公開

このファンクションを使用して、エンゲージメント・コンテキストで操作を公開します。

次のコード例は、構文を示しています:
publish: (requestObject: IOperationRequest) => Promise<IOperationResponse>;