サービス・リクエストのメッセージ・フィールド自動化の作成

システム実装者は、Oracle Fusion Serviceの「メッセージの作成」パネルでCXサービス・アクションの取得およびフィールド値の設定またはプログラムによるデータの読取りおよび書込みを使用できるようになりました。 UIイベント・フレームワーク(UEF)を使用すると、エージェントがサービス・リクエスト(SR)で作業する場合、拡張機能は「宛先」、「CC」、「BCC」、「件名」、「メッセージ本文」および「カスタム・フィールド」などのフィールド値を構成パネルで直接取得または設定できます。

この機能は、CCAの作成(サービス・リクエスト・ページで使用)および新しいフラグメントの作成でサポートされています。

使用例:

  • スマート・ルーティング/事前入力:サービス担当者がメッセージ・コンポーザを開くと、SRのアカウントまたは連絡先データに基づいて宛先アドレスと件名が自動的に移入されます。
  • コンプライアンス・ロギング:メッセージが送信される前に、完全な構成ペイロード(To、CC、BCC、Body)を読み取り、外部監査またはCRMシステムにプッシュします
  • カスタム・フィールドの自動化: SRデータを使用して、拡張性によって追加されたカスタム・メッセージ・フィールド(契約番号、SLA層など)を事前入力するため、サービス担当者は手動で入力する必要はありません。

  • SRコンテキストに基づいてメッセージ・フィールドを自動入力し、手動入力およびエージェント・エラーを削減
  • 送信前のデータの読取り: カスタム・ロジックを介してメッセージ・コンテンツを検証またはログに記録します
  • メッセージ・レイアウトに追加された拡張フィールドの読取りと書込みによるカスタム・フィールド・ワークフローのサポート
  • 一貫したエクスペリエンス - Get操作とSet操作の両方で同じフレームワーク・パターンが機能し、実装作業が減少します

有効化および構成ステップ

Visual Builder Studioを活用して、アプリケーションを公開します。 Visual Builderを使用したアプリケーションの拡張の詳細は、Oracle Help Center関心のあるアプリケーション・サービス領域→「Books」→「Configuration and Extension」を参照してください。

有効化のステップ

  1. uiEventsFramework.initialize()を使用してUEFフレームワークを初期化します。
  2. getTabContext()→getActiveRecord()を使用して、アクティブなレコード・コンテキストを取得します。
  3. フィールドを設定するには、cxEventBusSetComposeMessageDataOperationを使用してパブリッシュ・リクエストを作成し、メッセージ・タイプを定義して、関連するセット・メソッド(setToAddress、setSubjectなど)をコールします。
  4. フィールドを取得するには: cxEventBusGetComposeMessageDataOperationを使用してパブリッシュ・リクエストを作成し、必要なフィールド名でsetFields()をコールしてから、getField()を使用してレスポンスから値を読み取ります。
  5. 拡張性によって追加されたカスタム・フィールドは、APIフィールド名(AUX_MSG_EXT_TEXT_cなど)を使用して渡すことができます。

APIの完全なリファレンスおよび型定義については、UEFの開発者ドキュメントを参照してください。

メッセージ作成フィールドの設定

      const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
      const tabContext = await frameworkProvider.getTabContext();
      const recordContext = await tabContext.getActiveRecord();
      const requestObject: IComposeMessageActionRequest = frameworkProvider.requestHelper.createPublishRequest('cxEventBusSetComposeMessageDataOperation') as IComposeMessageActionRequest;
          requestObject.setMessageType('ORA_SVC_EMAIL');    
      const messageData = requestObject.setMessageData();    
      messageData.setCCAddress('Matt Liu', '300100032899579', 'sendmail-test-discard@oracle.com', '');    
      messageData.setBCCAddress('Matt Liu', '300100032899579', 'sendmail-test-discard@oracle.com', '');     
      messageData.setSubject('UEF Test');    
      messageData.setMessageBody('Message Body UEF Test');    
      messageData.setToAddress('Matt Liu', '300100032899579', 'sendmail-test-discard@oracle.com', '');    
      messageData.setFieldValue('CustomField', 'CustomValue');    
      const response: IOperationResponse = await recordContext.publish(srequestObject);    
      console.log('setMessageDataResponse', response) 

メッセージ作成フィールドの取得の例

      let frameworkProvider:IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
      let tabContext: ITabContext = await frameworkProvider.getTabContext();
      let recordContext: IRecordContext = await tabContext.getActiveRecord();
      let requestObject: IComposeMessageActionRequest= frameworkProvider.requestHelper.createPublishRequest('cxEventBusGetComposeMessageDataOperation');
      srequestObject.setFields(['ToAddress', 'CCAddress', 'BCCAddress', 'Subject', 'MessageBody', 'FieldValue', 'AUX_MSG_EXT_FCL_c', 'AUX_MSG_EXT_NUMBER_c', 'AUX_MSG_EXT_TEXT_c']);
      let response: IOperationResponse = await recordContext.publish(requestObject);
      let to = response.getResponseData().getField('ToAddress').value;
      let subject = response.getResponseData().getField('Subject').value;
      let messageBody = response.getResponseData().getField('MessageBody').value;
      let custom = response.getResponseData().getField('AUX_MSG_EXT_TEXT_c').value;
      let custom2 = response.getResponseData().getField('AUX_MSG_EXT_NUMBER_c').value;

アクション・チェーンでフィールド値を設定および取得するときに、CXサービス・アクションを使用することもできます。

CXサービス処理でのフィールド値の取得および設定

ヒントと考慮事項

  • GetComposeMessageDataは、同じレスポンス形式asGetFieldでデータを返します。可能な場合は、既存の解析ロジックを再利用します。

  • どちらの操作でも、アクションがトリガーされる前に、「メッセージの作成」パネルがSR上でオープンしてアクティブである必要があります

  • カスタム・フィールドは、プログラムで読取りまたは書込みを行う前に、拡張性を使用してメッセージ・レイアウトに追加する必要があります

主なリソース

アクセス要件