機械翻訳について

スクリーン・ポップの拡張

チャットまたはコール・パネルが受け入れられると、エージェントの画面上に表示され、チャットまたは通話中にエージェントが顧客を支援するための詳細情報および機会が提供されます。 このスクリーン・ポップ・ダイアログは、ビジネス・ニーズにあわせて拡張できます。

デフォルトのルールと動作は次のとおりです:

ルール優先度 ルール 画面ポップアップ 動作
1 チャット、SR情報との通話 「SR詳細」ページ サービス・センターの設定に基づく - SR詳細またはSR折りたたみビューの表示
2 SR詳細のある不明な担当者 「SR詳細」ページ サービス・センターの設定に基づく - SR詳細またはSR折りたたみビューの表示
3 SR詳細のない不明な担当者 SVC-担当者作成ページ

別の担当者を検索するためのオプション

担当者フォームの作成

フィールドは自動入力する必要があります

4 SRなしの既知の担当者 「SVC-Contact」ページ チャット / コール・パネルでの担当者の詳細

チャットまたはコール・パネルが受け入れられると、エージェントの画面上に表示され、チャットまたは通話中にエージェントが顧客を支援するための詳細情報および機会が提供されます。 このスクリーン・ポップ・ダイアログは、ビジネス・ニーズにあわせて拡張できます。

イベントはアプリケーション・レベルで定義され、サービス内のナビゲーションがMSIモードで発生したときに起動されます。

イベントは、顧客のディシジョンに役立つ次のペイロードで起動されます:

{
  "extraAttributes": {
        "svcNavigateEvent": {
            "application": "",
            "flow": "",
            "tabInfo": ""
        },
    },
  "navigationType": "SCREENPOP|DRILLDOWN",
  "engagmentData": {
    "inData": "object",
    "SVCMCA_INTERACTION_ID": "string",
    "engagementType": "PHONE|CHAT",
    "engagementId": "string",
    "multiMatches": boolean
  }
}
  • svcNavigateEvent: オリジナル・イベント
  • navigationType: チャットまたはコールの開始時のナビゲーションには、SCREENPOPまたはDRILLDOWNを指定できます。 これはSCREENPO Pで、その他のすべての種類のナビゲーションではDRILLDOWNになります。
  • engagmentData: 追加するビジネス・ロジックに基づくチャットまたは通話のIVRまたはエンゲージメント・データ。

アクション・チェーンには、デフォルトのアクションも実行またはスキップする必要があるかどうかを決定する次の戻り型が含まれています。 この動作を有効にするには、stopPropagationプロパティをTrueに設定します。

{
  "stopPropagation": true,
}
ノート: stopPropagationがFalseに設定されている場合、アクションは顧客リスナーを最初に実行してから、デフォルトの動作を実行します。

オブジェクトの必須ページ・パラメータ

ページまたはオブジェクトをスクリーン・ポップするには、svcNavigateイベントの呼出し時に必要なパラメータをページに渡す必要があり、各オブジェクトを独自の入力プロパティとして渡す必要のあるパラメータを特定するステップに従う必要があります。

  1. 「API UI」>「Oracle CX Service UI拡張アプリ」>「サービス」を開きます。
  2. VB Studioで、入力変数を取得するページを見つけます。 次に例を示します: 「SR詳細サービス」> ec > sr > edit.
  3. ページがVB Studio Designerにロードされたら、「変数」タブをクリックします。

    型でフィルタできる変数の数があります

  4. フィルタを「入力パラメータ」として適用します。

独自のスクリーン・ポップを追加する方法

スクリーン・ポップの3つのユースケースを次に示します:
  • 開始前フォームでcaseNumberが提供されているケース・ページに移動します。
  • 開始前フォームでWorkOrder番号が指定されている「作業オーダー」ページに移動
  • multiMatchesの場合にsvc-contactにナビゲートします(担当者検索がmultiMatchesを返す場合)

スクリーン・ポップ・カスタム・ルールを追加するには、イベント・リスナーをcxSvcNavigationに追加する必要があります。

  1. VB StudioでAPP UIを選択し、「Oracle CX Service UI拡張アプリケーション」>「サービス」を選択します。
  2. 「イベント・リスナー」タブをクリックします。
  3. 「+イベント・リスナー」をクリックします。

    待機できるすべてのイベントが表示されます。

  4. cxSvcNavigationを選択し、「次」をクリックします。
  5. アクション・チェーンを追加するか、既存のアクション・チェーンを使用します。
  6. アクション・チェーンを作成すると、cxSvcNavigationイベントに追加されます
  7. 「もし」アクションをドラッグします。これは、アクション・チェーンがSCREENPOPナビゲーション・タイプに対してのみ実行されることを意味します。
  8. これで、ビジネス・ユース・ケースに一致する条件を追加できます。 この例では、event.navigationType = 'SCREENPOP'を追加します。
  9. 「もし」アクション内で、engagementDatacaseId が存在する場合は、別の「もし」アクションをドラッグしてケース・オブジェクトをレンダリングできるようになりました。

    これで、ケース・オブジェクトをスクリーン・ポップするイベントをトリガーする準備ができました。

  10. 内部「もし」アクション内のFireEventActionを削除します。
  11. プロパティ・パネルからFireEventを定義します。 必須プロパティは次のとおりです:
    • application: サービス(ルート・アプリケーション名)。
    • containerPath: ec
    • flow: case (開く必要があるオブジェクトまたはフロー)
    • tabInfo: originalEventからコピーします。 タブ・タイトル、タブ・アイコンevent.extraAttributes.svcNavigateEvent.tabInfoが含まれます
    • key: interactionIdは、engagementData event.engagementData.inData.SVCMCA_INTERACTION_IDから取得できます。
    • Page Params: ケース・ページをレンダリングする必要があるページに必要なオブジェクト(caseNumber)。
  12. デフォルトの動作を実行しないように、returnブロックを追加します。 この例では、workorderがエンゲージメント・データに存在し、作業オーダー・ページで作業オーダー番号を要求した場合にworkorderをレンダリングする「もし」アクションをもう1つ追加します。

    次に、アクション・チェーンの例を示します:

    define([
      'vb/action/actionChain',
      'vb/action/actions',
      'vb/action/actionUtils',
    ], (
      ActionChain,
      Actions,
      ActionUtils
    ) => {
      'use strict';
     
      class cxSvcNavigationListener extends ActionChain {
     
        /**
         * @param {Object} context
         * @param {Object} params
         * @param {{application:string,navigationType:string,flow:string,page:string,pageParams:object,engagementData:object,extraAttributes:object,sourcePageInfo:object}} params.event
         * @return {{stopPropagation:boolean}}
         */
        async run(context, { event }) {
          const { $application, $base, $extension, $constants, $variables, $modules } = context;
     
          if (event.navigationType === 'SCREENPOP') {
     
            if (event.engagementData.inData.caseId) {
                await Actions.fireEvent(context, {
                  event: 'oracle_cx_serviceUI/application:svcNavigate',
                  payload: {
                    application: 'service',
                    flow: 'case',
                    key: event.engagementData.inData.SVCMCA_INTERACTION_ID,
                    page: 'edit',
                    pageParams: {
                      caseNumber: event.engagementData.inData.caseId
                    },
                    tabInfo: event.extraAttributes.svcNavigateEvent.tabInfo
                  },
                });
     
            return {stopPropagation: true};
            } else if (event.engagementData.inData.workOrderNumber) {
                await Actions.fireEvent(context, {
                  event: 'oracle_cx_serviceUI/application:svcNavigate',
                  payload: {
                    application: 'service',
                    flow: 'fieldsvc',
                    key: event.engagementData.inData.SVCMCA_INTERACTION_ID,
                    page: 'detail',
                    pageParams: {
                      WoNumber: event.engagementData.inData.workOrderNumber
                    },
                    tabInfo: event.extraAttributes.svcNavigateEvent.tabInfo
                  },
                });
                return {stopPropagation: true};
            }
          }
        }
      }
     
      return cxSvcNavigationListener;
    });