LogoLogo
Zenvia Docs
  • Zenvia NLU
  • Boas Práticas
    • Eventos
      • Dicas para criar eventos
      • Eventos Personalizados
        • menu_principal
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • Autosservico
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • sucess_no_friccion
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • horario_atendimento
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • transbordo
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • pesquisa_satisfacao
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • conseguiu_ajudar
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • nivel_confianca
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de eventos
        • chamada_api
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • falha_api
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • primeiro_acesso
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • encerramento
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • estouro_tentativas_else
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • intents
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
        • rechamada
          • Dashboard
          • Fluxograma
          • Builder
          • Lista de Eventos
    • Gestão de NLU
      • Dicas de gestão de NLU
    • Personalizar widget
  • Monitor
    • Dashboard
      • Métricas e indicadores
      • Gráficos
    • Atendimentos
    • Eventos
    • Volumetria
    • Issues
    • Monitoramento de APIs
    • Métricas de avaliação
  • Build
    • Assistentes
      • Edição do Assistente
      • Builder
        • Configurações do nó
        • Componentes
          • Output
            • Texto
            • Texto randômico
            • Texto sequencial
            • Base de conhecimento
            • LivePerson - Conteúdo Estruturado
            • Arquivo
          • Input
            • Pergunta aberta
            • Autocomplete
            • Data
            • Feedback NPS
            • Feedback Custom
            • Lista inline
            • Lista modal
            • Quick Replies
            • Upload de arquivo
            • Upload de arquivo LP
            • Carrossel de Opções
            • Desambiguação
          • Fluxo de Inatividade
          • Variáveis
          • Ações
            • HTTP Request
            • Satisfaction
            • Validar celular
            • Validar CEP
            • Validar CPF
            • Validar CPF/CNPJ
            • Validar CNPJ
            • Validar nome completo
            • Validar e-mail
            • Procurar atendimento
            • Transferência entre skills Liveperson
            • Setar contexto LivePerson
            • Encerrar Atendimento LivePerson
            • Encerrar chat
            • Socket Event
            • Facebook Profile
            • Facebook Transbordo
            • Workplace Profile
            • Iniciar LiveChat
            • Functions
            • Setar NLU
            • Transferência entre assistentes
            • Contact Return
            • Intent Feedback
          • Eventos
    • Functions
    • Atributos
  • CONNECT
    • APIs
      • Agent connector API
      • Outbound
        • Outbound WhatsApp
        • Outbound Zenvia
        • Outbound Wavy
        • Outbound LivePerson
        • Outbound Infobip
        • Outbound RCS
      • Eventos
      • Atendimentos
      • LGPD
    • Canais
      • Capabilities
      • Instagram
      • Google Business Messages
      • Bot API
      • Facebook
        • Integração Messenger via Zenvia NLU
        • Integração Messenger via Liveperson
      • Google RCS
      • Microsoft Teams
      • Whatsapp
        • Zenvia
        • Blip
        • Wavy
        • Infobip
        • Liveperson
      • Widget
      • Workplace
    • Telegram
    • Contingência
    • LiveChat
      • Transbordo ALTU Connector API
        • Transbordo Tech4Humans
      • Transbordo LivePerson
      • Transbordo Zendesk Ticket
      • Transbordo Zendesk Chat
      • Transbordo Salesforce
  • TRAIN
    • Primeiros passos
    • Visão Geral
    • Configuração do NLU
    • Avaliação de Mensagens
    • Análise e ajustes
  • Mais
    • Release
      • Controle de Versão
      • 27/10/2021
      • 06/10/2021
      • 22/09/2021
      • 09/09/2021
      • 11/08/2021
      • 28/07/2021
      • 14/07/2021
      • 30/06/2021
      • 16/06/2021
      • 01/06/2021
      • 18/05/2021
      • 04/05/2021
      • 20/04/2021
      • 06/04/2021
      • 23/03/2021
      • 09/03/2021
      • 23/02/2021
      • 09/02/2021
      • 26/01/2021
      • 12/01/2021
      • 22/12/2020
      • 08/12/2020
      • 24/11/2020
      • 10/11/2020
      • 27/10/2020
      • 13/10/2020
      • 29/09/2020
      • 15/09/2020
      • 01/09/2020
      • 18/08/2020
      • 03/08/2020
      • 21/07/2020
      • 08/07/2020
      • 30/06/2020
      • 04/06/2020
      • 22/05/2020
      • 14/05/2020
      • 29/04/2020
      • 01/04/2020
      • 24/03/2020
      • 16/03/2020
    • Glossário
Powered by GitBook
On this page
  • Estrutura
  • Atributos:
  • Configurar mandatory

Was this helpful?

  1. Build
  2. Assistentes
  3. Builder
  4. Componentes
  5. Input

Pergunta aberta

PreviousInputNextAutocomplete

Last updated 2 years ago

Was this helpful?

Para realizar uma pergunta ao usuário, você pode utilizar o input pergunta aberta com algumas máscaras, filtros ou apenas um campo para digitar o que deseja.

Para configurar, basta acessar a aba input e em seguida selecionar a opção pergunta aberta no ícone ?. Nesse caso, não há uma pergunta setada, logo o texto da pergunta precisa estar em output.

Estrutura

{
    "default": {
        "type": "text_input",
        "payload": {
            "mode": "textarea",
            "cognitive": true|false,
            "mask": "cellphone|cep|cpf|cpf_cnpj|numeric|email|money|vehicle_plate|password|custom"       
        }
    }
}

Atributos:

  • type: text_input

  • payload:

    • mode: textarea (opcional): ao utilizar essa informação, o campo de input no widget passa a ter uma quebra de linha automática.

    • cognitive (default: true): determina se a mensagem será enviada para curadoria ou não

    • tries: indica quantas tentativas o usuário terá em caso de erro (é preciso utilizar o mandatory: true para que haja a validação das tentativas). Cada mensagem será exibida após uma tentativa, ou seja não haverá abertura de input após a última mensagem.

    • error_message: mensagens exibidas de acordo com a sequência de erros. A quantidade de tentativas (tries) deve ser equivalente a quantia de frases cadastradas, caso contrário as fraseologias serão repetidas

    • mask (opcional): máscara a ser aplicada no campo de entrada

      • cellphone: máscara para número de celular brasileiro

      • cep: máscara para CEP brasileiro

      • cpf: máscara para CPF

      • cpf_cnpj: máscara dinâmica para CPF ou CNPJ

      • numeric: máscara para aceitar somente dígitos numéricos

      • email: máscara para validação de email

      • money: máscara monetária, aceita somente números

      • vehicle_plate: máscara para placa de veículos antigas(a partir de 1990) e novas(a partir de 2018) segundo Mercosul

      • password: máscara para receber a senha do usuário

      • telefone_fixo: máscara para número de telefone fixo brasileiro

      • fixo_or_cellphone: máscara dinâmica para número de celular ou telefone fixo brasileiros

    • maskFormat: string com formato desejado para a máscara. É obrigatório se a máscara for do tipo custom

    • maskOptions(opcional): json com opções adicionais para aplicação avançada no formato. Por exemplo, funções de callback, pattern e placeholder

    • max (opcional): número que limita o máximo de caracteres do input (atributo maxlength)

    • min (opcional): número que limita o mínimo de caracteres do input (atributo minlength)

    • filter (opcional):

      • regex: aplica uma expressão regular na mensagem digitada

        • pattern: expressão regular a ser aplicada

        • replace: o que será substituído nos matches

    • placeholder (opcional): campo aberto que será exibido para que o usuário digite algo

    • optional (default: false): permite que o input aceite uma entrada vazia. Por exemplo, ao teclar apenas "Enter".

Payload com mask usando o atributo opcional mandatory:

Payload com mask:

{
    "default": {
        "type": "text_input",
        "payload": {
            "cognitive": false,
            "mask": "email"
        }
    }
}js

Payload com mask, filter e placeholder:

{
    "default": {
        "type": "text_input",
        "payload": {
            "mask": "cellphone",
            "filter": {
                "regex": {
                    "pattern": "\\D",
                    "replace": ""
                }
            },
            "placeholder": "(##) 9####-####"
        }
    }
}

No exemplo acima, o campo para input do celular será apresentado com uma máscara. Ao enviarmos a resposta para o Watson, será aplicada expressão regular e tudo que o que não for dígito será removido. Ex: ao digitar (35) 99988-7766, o que chegará ao assistente é 35999887766.

Payload com máscara password, usando os atributos opcionais min e max:

{
    "default": {
        "type": "text_input",
        "payload": {
            "max": 10,
            "min": 5,
            "mask": "password",
            "cognitive": "false"
        }
    }
}

No exemplo acima, será apresentado um input de texto com a máscara do tipo password, a entrada do usuário nesse exemplo deve ser uma senha com o tamanho entre o min e o max.

Payload com máscara custom, usando o atributo opcional maskOptions:

{
    "default": {
        "type": "text_input",
        "payload": {
            "cognitive": "false",
            "mask": "custom",
            "maskFormat": "00/00/0000",
            "maskOptions": {
                "translation": {
                    "0": {
                        "pattern": "[0-9]",
                        "optional": false
                    }
                },
                "placeholder": "Digite somente números"
            }
        }
    }
}

No exemplo acima, será apresentado um input de texto com a máscara do tipo custom e uma formatação que aceita somente números, passada para o maskFormat. Isso é definido pelo atributo maskOptions, que tem um translation, cujo pattern limita dígitos de 0 a 9. Além disso, será apresentado um placeholder no campo input: "Digite somente números".

{
    "default": {
        "type": "text_input",
        "payload": {
            "optional": true
        }
    }
}
{
    "default": {
        "type": "text_input",
        "payload": {
            "mask": "cpf",
            "tries": 5,
            "mandatory": true,
            "error_message": [
                "string 1",
                "string 2"
            ]
        }
    }
}

Configurar mandatory

O resultado da validação do mandatory virá dentro da variável input.valid , sendo true para quando o valor inserido pelo usuário atenda os requisitos da máscara usada, ou false para quando o usuário passar por todas as tentativas. Veja o exemplo abaixo:

{
    "default": {
        "type": "text_input",
        "payload": {
            "mask": "cpf",
            "tries": 3,
            "mandatory": true,
            "error_message": [
                "Você errou, tente novamente",
                "Por favor tente uma última vez",
                "Não consegui validar o seu cpf, tente novamente mais tarde"
            ]
        }
    }
}

A configuração dos destinos será:

1 - No caso de o input atingir a condição da máscara, ou seja, usuário digitar um cpf, usamos:

input.valid  == true

2 - No caso de o input não atingir a condição da máscara depois de todas as tentativas tries usamos:

input.valid  == false

Ao utilizar o tries com mandatory: true os somente serão executados os outputs e o input até que ultrapasse o limite de tries ou o usuário envie a informação válida.

mandatory (opcional): determina a obrigatoriedade de um nó. A configuração padrão do mandatory é false.

custom: permite customização de diversos tipo de máscaras, baseada na biblioteca :

Veja aqui como configurar.
jQuery Mask Plugin