Como Implementar um Chatbot no WhatsApp

O guia atualizado para comunicações automáticas no aplicativo mais usado do Brasil

Michael Barney Jr
Bots Brasil
13 min readJun 13, 2020

--

Quando a conversa sobre Chatbots começa, tem uma pergunta que sempre é feita:

Como faço para implementar ele no WhatsApp?

Mas, claro que vão perguntar isso! O WhatsApp é o aplicativo de celular com mais downloads no Brasil e utilizado por todos para comunicação com famílias, amigos, trabalhos e até empresas.

Então, por que na maioria dos tutoriais sobre chatbots sempre se fala do Facebook Messenger, do Telegram e de mil outros aplicativos, mas não do WhatsApp?

Bem, a relação entre o WhatsApp e Chatbots é um pouco mais complexa, porém possível. Nesse texto, vou te explicar essas ‘nuances’ e apresentar a maneira mais simples, barata e profissional para criar ele (precisa nem saber programar). Simbora!

1- O WhatsApp Business API

O primeiro passo é entender o funcionamento da API (Interface de Programação de Aplicações) do WhatsApp.

Todo chatbot possui um servidor que realiza o controle e processamento das conversas. Este servidor faz uso de APIs para poder se comunicar com as plataformas de conversaçãos, nesse caso o WhatsApp.

O Facebook, em 2016, tornou totalmente pública a sua API do Messenger, permitindo assim a criação de chatbots para a sua plataforma e popularizando a área na totalidade. Sendo o caminho da mensagem o seguinte:

Usuário → Messenger → Messenger API → Servidor

Servidor → Messenger API → Messenger → Usuário

A partir dos resultados que obteve com a API do Messenger e depois de muito ser pedido, em 2018 o Facebook desta vez lançou a API do WhatsApp, a WhatsApp Business API, mas fez seu lançamento de uma maneira diferente…

A API do WhatsApp não foi feita totalmente pública, e até hoje (junho de 2020) nem todo mundo pode ter acesso a ela (diferente das APIs de outras plataformas). Ao abrir o seu ‘website’, você vai se deparar com a seguinte mensagem:

Ou seja, para ter acesso direto à API do WhatsApp você precisa passar por um processo de aprovação por parte do Facebook. E… essa aprovação é MUITO difícil de conseguir. Aqui no Brasil, poucas empresas, como a Take, Wavy e Zenvia, foram aprovadas.

E agora? Bem, não se desespere! Como citei acima, existem diversas empresas que foram já aprovadas para usar o WhatsApp Business API. Além disso, a maioria destas empresas (incluindo as citadas acima) são também Provedoras de Soluções, assim, você pode utilizar as ferramentas, tecnologias e API delas para criar o seu chatbot.

Porém, estas empresas associam ao uso de suas ferramentas um custo adicional para cada mensagem enviada (entre R$0,003 e R$0,006 por mensagem) e às vezes até custos adicionais para manutenção da conta (entre R$20 e até R$10.000).

Não tendo como fugir da escolha de um BSP (Provedor de Soluções WhatsApp Business), precisamos escolher o que seja mais barato e simples de usar.

BLiP

A BLiP é uma plataforma, criada pela empresa Take, muito conhecida para a construção de Chatbots para o WhatsApp aqui no Brasil. Ela conta com diversas ferramentas para ajudar na criação da sua interface conversacional, incluindo um construtor de diálogos:

Porém, mesmo tendo uma opção gratuita, se quiser começar a usar o seu bot no WhatsApp, você terá que desembolsar uma grana:

Assim, vemos que para ter acesso a um chatbot no WhatsApp você terá que pagar quase R$2.000 todo mês, com direito a 2.200 usuários e 66.000 mensagens por mês. Isso é equivalente ao envio de 30 mensagens para 70 pessoas, todo dia. Entre aqui para ver todas as informações.

Esse custo inclui não somente a API, mas também uma interface para desenho de conversas (builder), ferramentas adicionais (BLiP Desk , BLiP Builder, BLiP Analytics e BLiP Growth) e toda a rede de serviços e suporte técnico em português da Take.

Twilio

Esta é uma empresa americana muito conhecida por soluções de comunicação, sendo atualmente uma das maiores provedoras de API do WhatsApp. O problema é que, por ser americana, os seus custos são cotados em dólar (US$ 0,005 por mensagem e US$ 0,0523 por notificação). Entre aqui para ver todas as informações.

Além disso, existe uma taxa para compra e manutenção de um número de telefone (necessário para o WhatsApp). Podemos encontrar números brasileiros por US$ 4,00 (por mês) na plataforma:

Assim, na Twilio, se você fizer um chatbot que envia 66.000 mensagens todo mês, o custo será de US$ 330 (das mensagens)+ US$ 4,00 (do número). Com o dólar hoje custando R$ 5,00, seria um valor de aproximadamente R$1.670 por mês.

Porém, a Twilio tem um custo escalável. Por exemplo, se você envia somente 5 mensagens para 20 usuários todo dia durante um mês (3.000 mensagens por mês), com o dólar custando R$ 5,00, seu chatbot custaria cerca de R$ 95,00 por mês.

R$ 5 x ((5 msgs x 20 users x 30 dias x US$ 0,005) + US$ 4) = R$ 95,00

Através deste valor, você tem acesso à API de envio de mensagens e a um sistema de suporte em inglês.

Então, qual API escolho?

Acredito que estas duas opções podem ser válidas, dependendo da escala do chatbot que deseja construir.

Mesmo com a Twilio tendo um custo menor que a BLiP, cabe levar em consideração que a BLiP oferece recursos adicionais como o construtor de diálogos, as ferramentas adicionais (BLiP Desk , BLiP Builder, BLiP Analytics e BLiP Growth) e um sistema de suporte direto em português.

Assim, se você está disposto a pagar no mínimo R$2.000 por mês em seu chatbot, pois:

  • Pretende receber uma quantidade boa de usuários (mais do que 2 mil usuários por mês) e enviar uma quantidade alta de mensagens para cada um (mais do que 15 mensagens)
  • Necessita de suporte técnico em português
  • Está criando um chatbot que tenha fluxo e recursos simples
  • Procura um ecossistema completo com diversos recursos, ferramentas e possibilidades de suporte/contratação

Recomendo que você abra a página da BLiP e comece agora mesmo a criar o seu bot.

Porém, se você:

  • Procura um custo menor e escalável
  • Não necessita das ferramentas e recursos adicionais da BLiP
  • Não necessita de um suporte técnico em português

Continue lendo esse texto pois vou te mostrar uma maneira fácil e intuitiva de utilizar a API da Twilio para a construção dos seus chatbots no WhatsApp.

2- A Construção dos Diálogos

Pronto, agora que sabemos qual API usar, precisamos construir os diálogos do Chatbot. Para isso, vamos usar uma ferramenta da Google chamada Dialogflow. Ela conta com um construtor de conversas bem poderoso e customizável, sem necessidade de programar e com uma Inteligência Artificial integrada.

Para começar a usar o Dialogflow, assista ao seguinte vídeo:

Ou, se preferir, leia o seguinte texto:

Quanto custa usar o Dialogflow?

Em relação a preços, o Dialogflow é bem generoso. A plataforma será 100% Gratuita se você receber menos do que 180 mensagens em 1 minuto. Então, se durante 1 minuto você recebe 179 mensagens de usuários, não terá que pagar nada por isso. Caso você tenha uma demanda maior que esse limite, o custo por mensagem recebida será de US$ 0,002 por solicitação. Para ver mais sobre os custos do Dialogflow, é só acessar esse link.

3- Configuração da Twilio

Pronto, agora que você já criou e testou a sua conversa pelo Dialogflow, está na hora de conectá-la com a Twilio.

O primeiro passo será a criação da sua conta na plataforma. Se você usar o link de recomendação de alguém, receberá US$ 10,00 de crédito na plataforma junto com a pessoa que lhe recomendou. Se você ainda não tiver um link de recomendação, acesse aqui o meu e receba os créditos.

Cadastro

Ao clicar no link de recomendação, preencha suas informações e clique para começar seu teste gratuito (start your free trial). Depois, confirme o seu e-mail/número e preencha o formulário de customização. Após terminar o cadastro, o seguinte Dashboard será apresentado:

Tome nota do seu "Account SID" e "Auth Token" apresentados, eles serão úteis posteriormente.

Espaço de Testes

Para testar o seu chatbot, vamos configurar um espaço de testes (chamado de Sandbox).

Para fazer isso, clique neste link ou:

  • abra a aba de Programmable SMS
  • escolha a opção WhatsApp
  • clique em Sandbox

Para terminar de configurar a Sandbox, envie o código informado para o número apresentado (através do WhatsApp):

Para terminar de configurar o Sandbox, abra no WhatsApp o número informado pela Twilio e envie o código apresentado (join xxx-xxx)

Tipos de Mensagem

Antes de dar continuidade, é importante entender que existem dois tipos de mensagem que podem ser enviadas pelo chatbot no Whatsapp:

  • Mensagens de Template: Estas mensagens podem ser enviadas a qualquer momento, servindo como notificações. Elas usam modelos de mensagem pré-aprovados para notificar usuários (como alertas de entrega e lembretes de compromisso). Essa mensagem possui um valor mais caro (US$ 0,0523) para cada disparo.
  • Mensagens de Sessão: Estas são todas as mensagens enviadas dentro de uma sessão de conversa. Essa sessão começa assim que o usuário envia uma mensagem ao seu chatbot e termina depois 24 horas. Por necessitar que a mensagem seja enviada em menos de 1 dia, ela possui um custo reduzido de US$ 0.005. Assim, esse tipo de mensagem é a mais comum, servindo para responder rapidamente o usuário.

Neste tutorial, irei apresentar apenas o envio de mensagens do tipo sessão, por ser o tipo de mensagem usado na construção de diálogos.

4- Conectando o Dialogflow com a Twilio

Agora que você já criou a sua conta na Twilio, vamos conectar ela com o seu chatbot do Dialogflow. Ao abrir a página de configuração do Sandbox, será solicitado dois URLs (links) para o servidor do seu chatbot:

Porém, o Dialogflow não possui um conector oficial para a Twilio, e agora?

Vamos precisar subir então o nosso próprio servidor que conecte a Twilio com o Dialogflow. Mas não se preocupe, vai ser muito fácil!

Passo 1 — Abrir o seu Projeto do Google

Ao criar um projeto no Dialogflow, você automaticamente também cria um projeto nos servidores da Google (Google Cloud). Vamos aproveitar isso para aplicar o seu próprio conector.

Portanto, abra no seu navegador o Google Cloud Console abrindo o link: https://console.cloud.google.com/functions/list

Se você tem mais do que um projeto no Google Cloud (como outros chatbots no Dialogflow), certifique que está com o projeto correto selecionado na barra superior.

Passo 2— Criar o Servidor

Para começar o processo de criação do servidor, clique no botão "Criar Função", localizado na barra superior do console.

Na nova tela, preencha o nome da função com "twilio-conector":

Em seguida, selecione a opção "Permitir invocações não autenticadas":

Passo 3 — Preencher o Servidor

Agora, vamos preencher o código do servidor. Para te ajudar, já deixei tudo prontinho para você só copiar e colar!

Vá para a parte do site com nome "Código-fonte". Nela, você encontrará um campo com código já preenchido:

Veja que ele está com a aba index.js selecionada. Assim, apague o código preenchido nela e substitua-o (copiando e colando) com código deste link:

Após isso, troque para a aba package.json, apague o código preenchido nela e substitua-o (copiando e colando) com código deste outro link:

Por último, preencha logo abaixo o campo "Função a ser executada" com o nome: "TwilioWebhook":

Passo 4— Informações do Projeto

Estamos quase terminando… precisamos agora só dizer ao código as informações sobre o seu projeto do Dialogflow e a sua conta da Twilio, assim ele poderá se conectar com ambos.

Para preencher as informações, clique no botão "Variáveis de ambiente, rede, tempo limite e mais":

Clique no botão "Adicionar Variável" para adicionar a primeira informação.

Coloque o nome (name) dela como "projectId" e preencha com o valor do "Project ID" encontrado na página de configuração do seu Agent do Dialogflow:

Clique em “Adicionar Variável” novamente e preencha agora o nome "accountSid" com o valor do "Account SID" encontrado na Dashboard principal do seu projeto na Twilio:

Finalmente, clique em “Adicionar Variável” mais uma vez e preencha agora o nome "authToken" com o valor do “Auth Token” encontrado na Dashboard principal do seu projeto na Twilio:

Pronto, agora você deve ter as 3 informações configuradas:

Passo 5— Iniciar o Servidor

Para finalizar a criação do servidor e iniciar ele, é só clicar em "Criar":

Obs: O serviço usado para criar o servidor (Google Cloud Functions) possui um preço muuito baixo. Ele será gratuito se você tiver menos do que 2 milhões de mensagens durante um mês. Caso você tenha uma demanda maior que esse limite, o custo por mensagem recebida será de US$ 0,0000004 (é bom demais). Você pode ver mais sobre o preço do servidor nesse link.

Passo 6— Copiar a URL

Agora que seu servidor foi iniciado, só precisamos conectar ele com a Twilio. Para fazer isso, clique na função criada (twilio-conector):

Em seguida, clique na aba "Acionador" e copie a URL apresentada

Passo 7— Fazer a Conexão

Agora, volte para a configuração do seu Sandbox (acesse ele aqui) e preencha o campo "WHEN A MESSAGE COMES IN" com a URL copiada:

Depois, clique no botão "Save" (salvar) no inferior da página:

Passo 8— Teste seu chatbot!

Agora, é só abrir no WhatsApp o número informado pela Twilio e enviar uma mensagem para começar a conversar.

Obs: Os custos de envio de mensagem serão aplicados!

Conversa com o Chatbot do WhatsApp da MonsterLoja pelo Sandbox da Twilio

5- Colocar em Produção

Já testou seu chatbot no Dialogflow e no Sandbox e está pronto para colocar ele em produção? Massa! Com a Twilio, o processo é bem simples.

Para colocar o bot em produção, você precisará de um número aprovado pelo Facebook e ativado para funcionar com o WhatsApp.

Passo 1 — Facebook Business Manager

Para ter a sua empresa cadastrada no WhatsApp (e assim poder publicar o seu chatbot), o primeiro passo é oficializar ela no Facebook. Basta acessar o website https://business.facebook.com/, clicar em "Criar Conta" e seguir o passo a passo.

Depois de criar a sua conta, será necessário verificar ela. Para fazer isso, siga os passos encontrados no seguinte texto: https://ajuda.na5.com.br/como-verificar-sua-empresa-facebook

Além disso, também será necessário saber o seu Business Manager ID, você encontrará ele depois de:

  • Clicar na engrenajem no canto superior direito para abrir as configurações do negócio
  • Clicar na opção "Informações da Empresa" na barra lateral

Passo 2— Formulário da Twilio

Agora que você tem uma empresa cadastrada no Facebook, você precisa avisar à equipe da Twilio que você deseja colocar o seu chatbot em produção.

Para fazer isso, basta preencher o formulário encontrado neste link: https://www.twilio.com/whatsapp/request-access

O formulário solicita informações como:

  • Informações Pessoais (nome, email, número pessoal…)
  • Informações da Empresa (nome, site, país…)
  • Account SID da Twilio
  • ID do Facebook Business Manager
  • Informações sobre o Chatbot (País de atuação, como será usado, quantas mensagens serão enviadas, )

Preencha com cuidado todo o formulário e clique em "Request Now" para fazer a solicitação. Assim que a sua conta for aprovada (alguns dias) a equipe da Twilio entrará em contato para finalizar o processo de oficialização do seu chatbot.

E aí, o que achou?

Wow! Você terminou de criar seu próprio chatbot dentro da maior plataforma de chat do Brasil!

Preferiu fazer com o BLiP ou com a Twilio?

Conhece uma maneira melhor de criar bots para o WhatsApp?

Tem alguma outra plataforma que você queria poder implementar conversas automatizadas?

Se você tiver alguma dúvida ou recomendação, é só deixar uma resposta aqui no Medium para mantermos o contato!

Outros artigos que você pode gostar:

Não encontrou o que você estava procurando? Sem estresse, deixa aqui um comentário com sua pergunta ou sugestão que com certeza vou te responder!

--

--

Michael Barney Jr
Bots Brasil

Desenvolvedor apaixonado por Produtos Digitais e Plataformas Conversacionais 🤖