カスタムチャット統合のデフォルトの入力リッチコントロールと出力リッチコントロール

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:8分
  • 入力リッチコントロールと出力リッチコントロールは、カスタムアダプター構成 [sys_cs_custom_adapter_config] テーブルのカスタムチャット統合にマップされる必要があります。リッチコントロールに送信トランスフォーマー実装がない場合、応答がエンドユーザーに返されず、そのユーザーのチャットエクスペリエンスが不十分になる可能性があります。

    次のデフォルトのリッチコントロールは、入力および出力リッチコントロールにマップされます。uiType パラメーターは、仮想エージェントデザイナー で会話をビルドするために使用されるトピックコントロールを参照します。

    表 : 1. デフォルトの入力リッチコントロールと出力リッチコントロール
    リッチコントロール 説明
    ActionRichControl このコンポーネントは、会話で発生するさまざまなイベントやアクションを処理します。アクションによっては、すべてのチャネルに適用されない場合があります。たとえば、 StartSpinnerActionMsg は SMS では無視されます。

    ServiceNow® 仮想エージェントは、このフレームワークで次のタイプのアクションメッセージを生成します。カスタムチャットインターフェイスは、特定のアクションメッセージタイプのみを認識します。

    • SeparatorActionMsg ||actionMsg instanceof
    • SystemActionMsg ||actionMsg instanceof
    • TopicFinishedActionMsg ||actionMsg instanceof
    • SwitchToVirtualAgentActionMsg ||actionMsg instanceof
    • SwitchConversationActionMsg ||actionMsg instanceof
    • ChatSubHeaderActionMsg ||actionMsg instanceof
    • StartSpinnerActionMsg ||actionMsg instanceof EndSpinnerActionMsg
    • SubscribetoSupportQueue ||actionMsg instanceof
    • SubscribeToChatPresence ||actionMsg instanceof
    • SwitchToLiveAgentActionMsg ||actionMsg instanceof

    ActionRichControl は、これらのメッセージを actionMsg 要素内で折り返します。したがって、ActionRichControl の 1 つの送信トランスフォーマーで、これらのメッセージをすべて処理できます。このコンポーネントには着信トランスフォーマーは必要ありません。

    agentInfo パラメーター リッチコントロールがライブエージェントから送信される場合、agentInfo 属性がリッチコントロールに追加されます。
    例:
    {
         uiType: "someType",
         group: "someGroup"
         agentInfo: { sentFromAgent: true }  // please note that this object may contain more info in subsequent releases.
         ...
    } 
    DefaultPicker ファイルピッカー、トピックピッカー、およびブールコントロールにマップします。
    例:
    {
        uiType: "Picker/TopicPicker/Boolean",
        group: "DefaultPicker",  
        nluTextEnabled: true/false,
        promptMsg: "", // optional (needed for TopicPicker)
        label: "The question for the list",   // always filled
        itemType: "Picture/List"  // needed to user key to expect picture attached
        options: [
            {
                label: "display label prompt",
                value: "the value required to satisfy the question",
                description: "a description of value_1 item"
    	    attachment: "www.foo",
                enabled: true/false
            }, 
    	...
        ]
    }

    オプションの order パラメーターを使用すると、昇格されたトピックを表示する順序を指定できます。例:

    "options": [
        {
          label: "Check IT Ticket Status",
          value: "55720b465bf0201024f11fc40a81c72d",
          order: 100,
          enabled: true
        },
        {
          label: "Live Agent Support",
          value: "ce2ee85053130010cf8cddeeff7b12bf",
          order: 200,
          enabled: true
        },
        {
          label: "Open IT Ticket 2",
          value: "2a46cffbc7602010v088bbf603c260a7",
          order: 300,
          enabled: true
        }
    ]
    DefaultText 入力テキスト出力テキスト、およびファイルのアップロードコントロールにマップします。
    例:
    {
        uiType: "InputText/OutputText/FileUpload/Picture",
        group: "DefaultText", 
        required: true/false,
        nluTextEnabled: true/false,
        itemType: "file/image/inputtext/outputtext",
        maskType: "SECURE/SENSITIVE/NONE"  // null except for InputText/OutputText
        label: "The Question?"        
    }
    DefaultDate 日付/時刻コントロールにマップします。
    {
        uiType: "Date/DateTime/Time",
        group: "DefaultDate", 
        required: true/false,
        nluTextEnabled: true/false,   
        label: "The Question?"
         
    }
    DefaultOutputLink マップ先リンク応答コントロール。
    例:
    {
        uiType: "OutputLink",
        group: "DefaultOutputLink",
        label: "link label",
        header: "link header",
        type: "link",
        value: {
            action: "www.foo",
        }	
    }
         
    }
    DefaultOutputImage マップ先画像の応答コントロール。
    例:
    {
        uiType: "OutputImage",
        group: "DefaultOutputImage",
        value: "www.foo"
    }
    DefaultOutputCard マップ先カード応答コントロール。
    例:
    {
        uiType: "OutputCard",
        group: "DefaultOutputCard",
        templateName: "Card",
        data: "some json data string"
    }
    DefaultOutputHtml マップ先 HTML 応答コントロール。
    例:
    {
        uiType: "OutputHtml",
        group: "DefaultOutputHtml",
        style: "inline",
        height: 100,
        width: 100,
        value: "<div>html</div>"
    }
    DefaultOutputTable マップ先テーブル応答コントロール。
    例:
    {
        uiType: "OutputTable",
        group: "DefaultOutputTable",
        label: "Table Title",
        headers: ["Column 1", "Column 2"],
        navigationBtnLabel: "See next",
        data: [
            ["foo1", "foo2"],
            ["bar1", "bar2"]
        ]
    }
    DefaultGroupedPartsOutputControl マップ先複数回答コントロール。
    例:
    {
        uiType: "GroupedPartsOutputControl",
        group: "DefaultGroupedPartsOutputControl"
        groupPartType: "Link",
        header: "header message",
        values: [
    	{
    	    action: "www.foo",
    	    description: "description",
    	    label: "link_1 label",
    	    context: "ITSM"
    	},
    	...
        ]
    }
    DefaultMultiPartOutput マップ先複数回答コントロール。
    例:
    {
        uiType: "MultiPartOutput",
        group: "DefaultMultiPartOutput"
        navigationBtnLabel: "Go next",
        content: {
            uiType: "OutputHtml",
            style: "inline",
            type: "html",
            height: 100,
            width: 100,
            value: "<div>html</div>"
         }
    }
    DefaultCustomControl マップ先カスタムコントロール
    例:
    {
        uiType: "CustomControl",
        group: "DefaultCustomControl",
        name: "The name of the Custom Control (sys_cs_custom_control.name)",
        required: true/false,
        uxComponentDefinitionSysId: "seismicComponentId" // or null if not
        isInput: true/false, // whether to wait for a response value or if just output
        serializedControlData: "User defined JSON from generateControlData function";    
    }