Construindo um chatbot que integra com o WhatsApp
O processo de integração do bot da VegPet com o aplicativo de mensageria
Onde tudo continua
Mais um desafio por aqui! E dessa vez o objetivo era integrar o bot criado com o WhatsApp. O nosso cliente da VegPet solicitou um bot anteriormente que fosse capaz de tirar as principais dúvidas dos usuários. Contudo, agora o nosso cliente deseja que o assistente virtual possa conversar por texto no aplicativo de mensageria.
Mas como será a arquitetura de todo esse projeto para WhatsApp? Será que os textos precisarão ser mudados?
É isso que você vai descobrir por aqui. O bot evolui a cada dia e se torna ainda mais inteligente. Será possível agora trocar ideia com a Lua, minha assistente virtual, pelo WhatsApp. Ah, se você caiu de paraquedas nesse mundão e deseja saber sobre todo esse projeto da VegPet desde o início, é só clicar no artigo logo abaixo 😊
Sem mais delongas, vamos para mais essa etapa no mundo dos bots 🚀
Integração com o WhatsApp
Durante o processo de integração do assistente virtual com o WhatsApp, passamos pelo framework da Letsbot a fim de que pudéssemos permear todas as etapas e verificar se seria necessário fazê-las novamente.
Behavior
Nessa etapa, a pesquisa exploratória foi essencial para entender os principais usuários do bot, como se comportam e falam. Eu já tinha uma noção por causa da primeira pesquisa exploratória que fiz no início do projeto. Então contatei algumas pessoas veganas e vegetarianas pelo Telegram e pelo WhatsApp e utilizei algumas perguntas que me direcionariam para o processo como um todo.
As perguntas feitas foram:
- Caso você utilize o WhatsApp, você prefere texto ou áudio?
- O que pensa sobre conversar com um bot de empresa por WhatsApp?
Obtive 10 respostas no total e todas essas pessoas responderam que preferem conversar por texto. Sobre a questão de conversar com um bot de empresa, 3 pessoas responderam que detestam conversar com um assistente virtual e que não tiveram boas experiências.
Além disso, tive insights das outras 7 pessoas que não possuem aversão a chatbot. Por outro lado, preferem que o bot tenha a possibilidade de falar com um humano. Isso já me fez perceber a importância de um projeto bem estruturado e que tenha foco nas pessoas que utilizarão o serviço, a fim de que possam ter uma boa experiência e possivelmente se tornarem promotoras da marca.
Business
As regras de negócio estiveram presentes em todo desenvolvimento da integração com o WhatsApp, uma vez que era imprescindível entender quais seriam os custos, dificuldades e como poderia ser feita a estrutura do bot.
Observou-se que para realizar uma integração direta com o WhatsApp precisaríamos da aprovação do Facebook e poucas empresas grandes possuem esse acesso por ser limitado e pelo fato do Facebook avaliar a disponibilidade para tal. Por conta disso, não se sabe com quanto tempo é possível ter esse acesso e se realmente conseguiríamos para integrar com o WhatsApp.
Na documentação do WhatsApp, encontramos mais informações sobre esse acesso a API 💬
Identificamos que os planos possíveis para utilização do WhatsApp são os seguintes:
- WhatsApp — Pessoas físicas (grátis)
- WhatsApp Business — Pequenas e médias empresas (grátis)
- WhatsApp Business API — Grandes empresas (tem custo)
Para fins de testes não era preciso utilizar a API do WhatsApp diretamente para ter um bot funcionando. Então, consideramos que para integrar com ele utilizaríamos o integrador/broker. O broker teria o papel de intermediar o WhatsApp com o assistente virtual para que pudéssemos ter noção da experiência que um usuário teria ao conversar com ele.
Interaction
Havia chegado o momento das fraseologias do assistente virtual. Para o WhatsApp não poderiam ser respostas com textos enormes, porque as pessoas teriam desinteresse e provavelmente não leriam todas as informações. Por último, ocorreria o risco de abandono do bot.
Considerando a experiência dos usuários que leriam as respostas, foi necessário rever todos elas e o seu nível de dificuldade de leitura. Para medir todos os textos que já existiam no Watson, utilizei a calculadora de leiturabilidade criada pela Nataly Lima. Ela explica em seu artigo que “a leiturabilidade se baseia na facilidade (ou dificuldade!) em ler as palavras e linhas de um texto”. Sendo assim, seria a ferramenta ideal para projetar textos melhores e mais acessíveis.
Quem tiver curiosidade, pode dar uma olhadinha no artigo que ela escreveu explicando mais sobre 😊
Na maioria dos textos que escrevi, eu tive de realizar alterações para que ficassem mais fáceis de ler e, após esse processo, percebi que quase todos os textos estavam com uma leiturabilidade fácil.
Ainda assim, tive dificuldade de garantir que a leiturabilidade fosse mais inteligível e por isso passei horas testando os textos na calculadora a fim de que pudessem ser lidos por alguém da quinta série. Mas eu não consegui em alguns, mesmo os modificando. Caso diminuísse demais as informações, os textos deixariam de ser informativos e explicativos. Por isso considerei o conceito de que para explicar melhor um assunto nem sempre é bom utilizar poucas palavras.
Para que a interação pudesse ser melhor, também foi considerada a inserção de imagens. Dessa maneira, o usuário poderia ver facilmente como são as rações, biscoitos e tamanho dos grãos da VegPet e tomar a decisão mais assertiva na compra.
Architect e Build
Nesse momento avaliamos a arquitetura anterior e analisamos o que poderia ser alterado. Na versão 1 do bot da VegPet, o Watson era o centro de toda a arquitetura e era o responsável pela integração com a API dos Correios. API é o serviço externo que possui os endpoints (são como funcionalidades) para consultar e retornar as informações que queremos. No caso dos Correios, a funcionalidade seria rastrear um pedido. Contudo, nessa nova versão do bot com WhatsApp foi necessário levantar prós e contras de manter a arquitetura que estava antes ou modificá-la.
Durante essa análise do negócio e da parte técnica, concluiu-se que caso futuramente a empresa quisesse mudar de motor cognitivo, perderia toda a estrutura das integrações, das intenções e entidades e todas as configurações teriam de ser feitas do zero. Isso porque o Watson era o coração da arquitetura do bot e consequentemente existem dependências dele. Para um projeto ser escalável e para mitigar os possíveis problemas futuramente, é essencial pensar nisso. Então, foi considerada uma arquitetura desacoplada, ou seja, que fosse simples de ser alterada caso necessário e sem dependências e restrições. O orquestrador/webhook passa a ser o centro da arquitetura, sendo o responsável pelas integrações com APIs e canais.
O broker Twilio foi escolhido para fazer o intermédio entre o WhatsApp e o bot no Watson. O Twilio é homologado pelo WhatsApp e foi uma ferramenta apropriada para testarmos como o bot se comportaria durante a conversação. Para as integrações com Correios e WhatsApp, bem como para toda a programação, foi utilizado o servidor da IBM Cloud e o Node-RED para facilitar o entendimento de todo o fluxo de requisição e retorno.
Training e Curate
O bot precisava ser treinado novamente para que pudesse identificar ainda as intenções e entidades corretas. Como em outras vezes, reitero a importância de testar o bot antes de ir pra produção e após tratar da fase de curadoria. Tive de revisar algumas vezes os meus textos do Watson no WhatsApp, pensando em como trazer uma experiência melhor para os usuários. E apesar das dificuldades da parte técnica de arquitetura e build, procurei analisar os códigos e toda a estrutura criada.
Enfim, missão cumprida! Para quem tiver interesse de ver como está o bot no WhatsApp, fiz esse vídeo da Lua, minha assistente virtual 🤖