Olá!
Na segunda aula do Bootcamp, enquanto Amanda e Vanessa apresentavam os conceitos da cascata de validação no CI (Contato Inteligente), surgiram muitas dúvidas. Por isso, achei interessante montar um exemplo simples do funcionamento das tratativas de exceções no fluxo. Vamos lá.
O que é a cascata de validação
Quando desenvolvemos um CI, normalmente pensamos primeiro no fluxo funcionando dentro das nossas expectativas. Porém, aprendemos que é igualmente importante considerar que o usuário pode agir de maneiras inesperadas. É justamente nesse ponto que entram as tratativas de erro.
A cascata representa, de forma prática, os “passos esperados que o usuário não dê” no fluxo.
Exemplo de uso da cascata
Imagine um CI projetado para trabalhar apenas com texto, mas disponível em um canal que permite o envio de áudios (ex.: Um CI conectado ao WhatsApp). O usuário pode não saber que aquele CI não entende mensagens de voz. Diante disso, criamos um ponto na cascata capaz de identificar quando, em um momento em que esperávamos um “sim” ou “não”, o usuário envia um áudio.
Quando o sistema recebe essa entrada inesperada, o usuário é direcionado para a cascata. Se o CI identifica que o conteúdo recebido é um áudio, uma tratativa específica entra em ação para informar e orientar esse usuário. Um exemplo de resposta seria:
“Desculpe, ainda não consigo entender áudios. Por favor, clique em uma das opções disponíveis ou escreva ‘outros’ para que eu possa te direcionar ao atendimento humano.”
Dessa forma, além de compreender que sua mensagem não foi entendida, o usuário também recebe um caminho claro para seguir.
Por que a cascata é importante
A cascata recebe esse nome por ser composta por vários blocos, cada um responsável por identificar uma hipótese sobre o que levou o usuário até ali. A ideia é fornecer sempre o melhor tratamento possível para cada entrada inesperada.
Se o CI reconhece que a entrada é um áudio, mas ainda assim não entende o conteúdo, outro bloco da cascata pode verificar se se trata de um palavrão ou de uma mensagem irrelevante como uma small talk, por exemplo. O objetivo é garantir que o usuário receba uma resposta coerente com o contexto.
Conclusão
Espero que este exemplo ajude a esclarecer melhor o conceito de cascata e, em breve, possamos todos construir nossas próprias validações para lidar com “entradas esperadas que o usuário não dê” nos nossos CIs.
Que outros cenários vocês conseguem imaginar para essa cascata? Sintam-se à vontade para sugerir ou questionar a respeito — até a próxima!
