Controles avançados de entrada e saída padrão para uma integração de bate-papo personalizada

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 3 min. de leitura
  • Os controles avançados de entrada e saída devem ser mapeados para sua integração de bate-papo personalizada na tabela Configurações do adaptador personalizado [sys_cs_custom_adapter_config]. Se um controle avançado não tiver uma implementação de transformador de saída, uma resposta não será fornecida ao usuário final e esse usuário poderá obter uma experiência de bate-papo insatisfatória.

    Os controles avançados padrão a seguir são mapeados para controles avançados de entrada e saída. . uiTypeo parâmetro se refere a um controle de tópico usado para criar conversas no Designer do Virtual Agent.

    Tabela 1. Controles avançados de entrada e saída padrão
    Controle avançado Descrição
    ActionRichControl Este componente lida com os diferentes eventos e ações que ocorrem em uma conversa. Algumas ações podem não se aplicar a todos os canais. Por exemplo, StartSpinnerActionMsg é ignorado no SMS.

    ServiceNow® Virtual Agent produz os seguintes tipos de mensagens de ação por meio desta estrutura. A interface de bate-papo personalizada reconhece apenas determinados tipos de mensagem de ação.

    • 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 envolve essas mensagens dentro de actionMsgelemento. Assim, um único transformador de saída para ActionRichControl pode lidar com todas essas mensagens. Não há necessidade de um transformador de entrada para este componente.

    agentInfo parâmetro Se o controle avançado for enviado de um atendente, então agentInfoo atributo é adicionado ao controle avançado.
    Exemplo:
    {
         uiType: "someType",
         group: "someGroup"
         agentInfo: { sentFromAgent: true }  // please note that this object may contain more info in subsequent releases.
         ...
    } 
    Selecionador padrão Mapeia para Seletor de arquivos , Seletor de tópicos, e. Booliano controles.
    Exemplo:
    {
        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
            }, 
    	...
        ]
    }

    O opcional ordero parâmetro permite especificar a ordem em que os tópicos promovidos devem ser exibidos. Por exemplo:

    "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
        }
    ]
    Texto padrão Mapeia para Texto de entrada , Texto de saída E Controles de carregamento de arquivo.
    Exemplo:
    {
        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?"        
    }
    Data padrão Mapeia para Data e hora controles.
    {
        uiType: "Date/DateTime/Time",
        group: "DefaultDate", 
        required: true/false,
        nluTextEnabled: true/false,   
        label: "The Question?"
         
    }
    DefaultOutputLink Mapeia para resposta do link controles.
    Exemplo:
    {
        uiType: "OutputLink",
        group: "DefaultOutputLink",
        label: "link label",
        header: "link header",
        type: "link",
        value: {
            action: "www.foo",
        }	
    }
         
    }
    DefaultOutputImage Mapeia para resposta da imagem controles.
    Exemplo:
    {
        uiType: "OutputImage",
        group: "DefaultOutputImage",
        value: "www.foo"
    }
    DefaultOutputCard Mapeia para resposta do cartão controles.
    Exemplo:
    {
        uiType: "OutputCard",
        group: "DefaultOutputCard",
        templateName: "Card",
        data: "some json data string"
    }
    DefaultOutputHtml Mapeia para Resposta HTML controles.
    Exemplo:
    {
        uiType: "OutputHtml",
        group: "DefaultOutputHtml",
        style: "inline",
        height: 100,
        width: 100,
        value: "<div>html</div>"
    }
    DefaultOutputTable Mapeia para resposta da tabela controles.
    Exemplo:
    {
        uiType: "OutputTable",
        group: "DefaultOutputTable",
        label: "Table Title",
        headers: ["Column 1", "Column 2"],
        navigationBtnLabel: "See next",
        data: [
            ["foo1", "foo2"],
            ["bar1", "bar2"]
        ]
    }
    DefaultGroupedPartsOutputControl Mapeia para resposta múltipla controles.
    Exemplo:
    {
        uiType: "GroupedPartsOutputControl",
        group: "DefaultGroupedPartsOutputControl"
        groupPartType: "Link",
        header: "header message",
        values: [
    	{
    	    action: "www.foo",
    	    description: "description",
    	    label: "link_1 label",
    	    context: "ITSM"
    	},
    	...
        ]
    }
    Output multipartpadrão Mapeia para resposta múltipla controles.
    Exemplo:
    {
        uiType: "MultiPartOutput",
        group: "DefaultMultiPartOutput"
        navigationBtnLabel: "Go next",
        content: {
            uiType: "OutputHtml",
            style: "inline",
            type: "html",
            height: 100,
            width: 100,
            value: "<div>html</div>"
         }
    }
    DefaultCustomControl Mapeia para controles personalizados .
    Exemplo:
    {
        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";    
    }