Caixa de Código

Prev Next

Este artigo apresenta o recurso de Caixa de Código em um fluxo.

No exemplo abaixo, temos um fluxo previamente configurado com apenas a "Caixa de Código".
image.png

Ao clicar sobre ela, será exibida a seguinte tela:
Por padrão, a caixa de código vem com as seguintes configurações:

  • Nome do elemento: Start
  • on Enter:
dialog.say("Olá")

image.png

Aqui temos os eventos de On Enter, On Input, On Exit, e On External, conforme ilustrado abaixo:

  • On Enter: Este evento é acionado assim que o nó é ativado. Ele é ideal para ações iniciais, como saudar o usuário ou executar comandos antes de continuar com o fluxo.
  • On Input: Ativado quando o bot recebe um input do usuário. Esse evento permite que o bot reaja de acordo com o que foi dito, possibilitando uma interação mais dinâmica.
  • On Exit: Este evento é executado quando o nó é completado ou o fluxo avança para o próximo nó. Ele é útil para realizar ações de fechamento ou preparar variáveis antes da transição.
  • On External: Acionado por eventos externos, como a integração com sistemas de terceiros ou o acionamento de uma ação fora do fluxo de conversa, permitindo que o bot reaja a esses estímulos.
    image.png

Comandos que podem ser inseridos na caixa de código:

  • input.text - texto digitado pelo cliente
  • dialog.say(text:string) - envia um texto para o cliente
  • dialog.go(node:string) - faz a navegação do nó atual para o nó indicado
  • dialog.set(name:string, value:object) - seta uma variável na sessão de conversação
  • dialog.get(name:string) - recupera a variável associada à sessão de conversação
  • dialog.setTicketSLA(sla:string) - seta a prioridade de um ticket para o atendente humano
  • dialog.setTicketPriority(prioridade:string) - igual ao de cima
  • dialog.setTicketLabel(label:string) - rotula o ticket a ser exibido para o atendente
  • dialog.setOnBotReturn(nodeName) - nome do nó a ser chamado quando o atendimento humano for encerrado
  • dialog.visible(name:string, content:string) - seta um valor visível para o atendente no rol de informações do ticket
  • dialog.assess(criterio:string, comment:string) - faz uma avaliação com comentário
  • dialog.assess(criterio:string, score:int, comment:string ) - registra avaliação com score e comentário
  • dialog.assess(criterio:string, score:int) - registra avaliação com score
  • dialog.emit(event:string) - registra um evento
  • dialog.emit(event:string, storeTime:boolean) - registra um evento, também registrando o tempo gasto
  • dialog.addTag(tag:string) - adiciona uma tag ao ticket
  • dialog.removeTag(tag:string) - remove uma tag do ticket
  • dialog.toHuman() - envia o ticket para o atendimento humano
  • dialog.resetDialog() - reinicia o diálogo
  • dialog.missed() - roda a função onEnter do nó "não encontrado" na configuração atual
  • dialog.sendButtons("Qual a sua avaliação?", {'Ótimo': 'otimo', 'Bom': 'bom', 'Regular': 'regular', 'Ruim': 'ruim'})
    Este comando envia uma mensagem ao usuário com uma série de botões interativos. Cada botão é associado a um valor específico, que será enviado ao fluxo quando o usuário fizer uma escolha. Esse comando pode ser utilizado para qualquer tipo de interação com botões, como coletar avaliações, escolhas de opções ou até mesmo confirmar ou cancelar ações. O fluxo pode ser programado para reagir de acordo com a escolha do usuário, o que permite a personalização da resposta do bot e a navegação entre diferentes nós, dependendo da opção selecionada.
  • dialog.sendFile(link:string, texto:string) - envia um arquivo na caixa de mensagem.
  • dialog.sendImage(link:string, texto:string) - exibe uma imagem na caixa de mensagem.
  • dialog.sendVideo(link:string, texto:string) - exibe um vídeo na caixa de mensagem.
  • dialog.sendAudio(link:string, texto:string) - exibe um arquivo de audio na caixa de mensagem.
  • dialog.sendFileLink(link:string) - exibe um arquivo para download na caixa de mensagem.
  • utils.inputMatches(input.text, ['1', 'um']) - retorna true se o texto digitado pelo usuário corresponder a uma das expressões regulares informadas no array.

Testando o Fluxo

Iniciar o Fluxo

Clique no ícone azul dentro do fluxograma para iniciar o fluxo.
image.png

Abrir o Chat

Após abrir o chat, faça a primeira interação com o bot. Em seguida, ele responderá de acordo com o que foi definido no ciclo de vida do OnEnter.
image.png

Conclusão

O recurso de caixa de código é essencial para personalizar a interação entre o bot e o usuário, permitindo uma configuração avançada dos fluxos. Com os comandos e eventos descritos, é possível controlar de maneira precisa as variáveis, respostas e navegações durante a conversação. A utilização de caixas de código, como a caixa Start, abre um leque de possibilidades para criar fluxos dinâmicos, interativos e que atendem às necessidades específicas de cada usuário ou situação.

Ao testar o fluxo, foi possível observar a interação entre as caixas e a resposta gerada com base nas configurações definidas. Essa abordagem proporciona uma experiência rica e controlada tanto para o atendente quanto para o cliente, com a flexibilidade de fazer ajustes conforme necessário. O entendimento e aplicação correta desses recursos são fundamentais para a criação de fluxos eficientes e satisfatórios.