Configurando o Canal Whatsapp
Durante a edição das configurações de um chatbot no Gerenciador do Serprobots, é possível configurar os canais de comunicação que farão a interface com usuário clicando no passo 3 - Canais de Comunicação, ou no botão respectivo na barra de menu do canto esquerdo.
Hoje são oferecidos os canais:
- Webchat (padrão): oferece uma janela de chat reponsiva que pode tanto ser acionada através de um trigger flutuante incluído em website, ou mesmo acessada diretamente através de um iframe ou webview em um aplicativo móvel.
- Whatsapp: permite integração com alguma Whatsapp Business API Client existente.
- Twitter: permite integração com o recurso de Mensagens Diretas do Twitter, possibilitando que um chatbot responda mensagens diretas de uma conta existente.
- Facebook Messenger: permite integração com o Facebook Messenger de uma página.
Vamos falar agora sobre a configuração do canal Whatsapp.
Como funciona o uso do Whatsapp?
Para integrar-se com o Whatsapp, é preciso ter uma conta comercial associada a uma instância da Whatsapp Business API. Para tanto, é necessário acionar um parceiro oficial de negócios da Whatsapp (Business Solutions Partner - BSP) para que ele cuide desse processo,instanciando e configurando a respectiva infraestrutura necessária.
No SERPRO, a integração Serprobots + Whatsapp ocorre em duas vias:
- Recebimento de mensagens de contatos: ocorre através do consumo das mensagens recebidas com ajuda de um tópico no cluster KAFKA corporativo, o PSES, onde o webhook-server da Whatsapp Business API deverá enfileirar as mensagens.
- Envio de mensagens para contatos: ocorre através do consumo direto da Whatsapp Business API Client previamente configurada para um determinado projeto que utilize essa tecnologia.
Parâmetros de configuração
Após solicitar a criação de uma infraestrutura de Whatsapp para um determinado projeto, a equipe tomará conhecimento das informações de conectividade que serão utilizadas para preencher os parâmetros do canal Whatsapp no Serprobots.
Clique na caixa Whatsapp na tela Canais de Comunicação e preencha os seguintes parâmetros:
Campo | Descrição | Tipo | Valor default |
---|---|---|---|
Habilitado | Informe se o canal de comunicação WhatsApp está habilitado | Booleano | false |
Número do telefone | Informe o número de telefone associado à conta do WhatsApp Business | Número inteiro | |
ID do Número de Telefone na Graph API | Número de Telefone na Graph API | Números | |
Chave da instância da API | Informe a chave da instância da API do WhatsApp Business | String | |
Acess Token da Graph API | O Access Token da Graph API, se vazio usará o Token Default do Ambiente. | String | |
Marcar como lido | Opção de marcar as mensagens processadas como lidas, caso a instância da API permita essa operação. Pode trazer impactos no desempenho do consumo. | Booleano | false |
Pergunta inicial | Permite simular uma mensagem inicial que será enviada ao chatbot no início do diálogo (Ex: INITIALMESSAGE1). Pode ser deixado em branco, nesse caso nada é enviado, apenas a mensagem do próprio usuário. | String | INITIALMESSAGE1 |
Resposta a tipo de mensagem não suportado | Resposta que será enviada para o usuário caso o chatbot receba mensagens de whatsapp de tipos não suportados (áudio, vídeo, imagem, sticker, etc.) | String | Esse tipo de mensagem ainda não é suportada. |
Tempo de vida das sessões (em minutos) | Informe o tempo máximo de vida das sessões de conversa (em minutos) | Número inteiro | 15 |
Transcrever áudio | Fazer transcrição do áudio de voz enviado pelo Whatsapp. | Booleano | false |
Enviar eco da transcrição | Envia como mensagem para o usuário o resultado da transcrição do áudio recebido. | Boolean | false |
Prefixo do eco da transcrição | Texto que vem antes de apresentar a transcrição do áudio. | Texto | |
Limiar de confiança da transcrição | Limiar de confiança da transcrição (entre 0.0 e 1.0). Se ficar abaixo dele, uma mensagem de recusa do áudio é enviada. | Decimal | 0.5 |
Quantidade de consumidores | Quantidade inicial de consumidores de mensagens. Mais consumidores trazem mais vazão. | Número inteiro | 2 |
Teste de conectividade
Após preencher os parâmetros com os dados e salvar as informações, o botão Teste de Conectividade ficará habilitado para verificar se o Serprobots de fato consegue alcançar aquela Whatsapp Business API Client configurada.
Características especiais das mensagens no Whatsapp
Ao integrar-se com o Whatsapp, o Serprobots irá direcionar as mensagens recebidas pelo número de telefone para seu respectivo Chatbot. Em seguida, após obter uma resposta do Chatbot, ele precisará converter esse conteúdo para o formato de dados exigido pela Whatsapp Business API para poder enviar a resposta de volta para o respectivo contato. Nesse processo de tradução, algumas limitações acabam surgindo, conforme discutido abaixo.
No caso da formatação, o Whatsapp dá suporte apenas ao negrito, itálico, riscado e pré-formatado. As tags HTML tentarão ser convertidas para a notação própria do Whatsapp ou descartadas caso não se apliquem.
Imagens referenciadas por uma URL no IBM Watson podem ser utilizadas, mas é preciso testar o resultado final pois, como o servidor do Whatsapp quem vai baixar a figura e enviar para o destinatário, algumas figuras parecem não ser aceitas e o resultando é o não envio da mensagem.
Mensagens interativas (botões e listas) possuem características especiais conforme pode ser observado na documentação do próprio Whatsapp.
Uso de botões de opções
Atualmente o Whatsapp só permite até 3 botões de opções, com limite de 20 caracteres no texto de cada botão.
Uso de listas de opções
Atualmente o Whatsapp só permite até 10 items numa lista de opções, com limite de 24 caracteres no texto de cada item. A exibição da lista não é no corpo da mensagem, mas numa janela de seleção separada exibida apenas quando solicitado.
Sugere-se testar o projeto da conversa por completo no canal Whatsapp para verificar o resultado final obtido, ajustando quando necessário para que ele seja exibido de forma compatível.
Dica
No Watson Assistant a variável de contexto $sb_channel
pode ser usada para criar diálogos específicos para cada canal. Seu valor pode ser web
, whatsapp
, twitter
ou facebook
.