機械翻訳について

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();
})

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'
  })

公開

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

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