Integre seu Watson Assistant no Facebook via Chatfuel
Todo desenvolvimento e treinamento de um chatbot possui um ciclo, como se fosse um projeto. Existe começo, meio e fim. Nesse final do projeto, você acaba entrando no que chamamos de processo. Nesta etapa são realizados os testes, os feedback são validados e continuam-se a treinar e re-treinar o chatbot, de forma iterativa. Em paralelo ao treinamento, existe o trabalho de fazer as integrações com as plataformas de comunicação: Messenger, Website, Telegram, WhatsApp.
A integração mais comum e procurada é com o Facebook, através do Messenger. Aqui é possível fazer de duas formas diferentes: Webhook e Plataformas de Integração (Ex: Blip.ai e Chatfuel). Considerando que você já possui um assistente criado no Watson Assistant, a integração mais simples e rápida de se fazer é usando o Chatfuel.
Caso você ainda não criou e treinou um Watson Assistant, leia o blog:
Se decidir optar pela integração com o Webhook, veja o blog abaixo:
Connect Assistant
Conheça o projeto open source Connect Assistant. Uma maneira rápida de integrar seu chatbot nas principais plataformas de comunicação usando pouco ou zero código produzido pelo usuário.
O Connect Assistant nasceu devido ao aumento da necessidade de integrarem chatbots usando Watson Assistant no Messenger, sem a participação de um desenvolvedor ativo para configurar as integrações necessárias na plataforma.
Neste blog, iremos usar o Connect Assistant Chatfuel. A solução de integração usando Node-RED e Chatfuel. Acesse o link abaixo para ter acesso ao Fluxo completo que será usado.
Watson Assistant e Node-RED
Para conectar a sua Skill do Watson Assistant no Messenger usaremos o Chatfuel como plataforma de integração e o Node-RED como ferramenta de criação da API. Para seguir o passo a passo abaixo, será necessário ter os seguintes itens:
Acesse a sua conta no IBM Cloud e clique em “Catálogo” ou “Criar recursos”.
Desça a página até a sessão “Kit de iniciantes” ou filtre no menu lateral esquerdo. Clique no item “Node-RED Starter”.
Digite o nome do seu app. Lembre-se de que o nome do app será usado para definir a URL (nome-do-app.mybluemix.net), mostrado no campo abaixo. Após a configuração do nome e URL, clique no botão “Criar”.
Ao criar o app, espere até finalizar as configurações da sua instância de Node-RED (isso pode levar alguns minutos). Clique no botão “Visite a URL do aplicativo”.
Na sua instância de Node-RED, clique em “Next”. Na próxima página, você irá configurar um usuário (username) e um senha (password). Importante lembrar que estes dados serão usados para acessar e editar os seus nós no Node-RED. Após definir o usuário e senha, clique em “Next”.
Clique em “Next” e depois em “Finish” para finalizar as configurações do seu Node-RED.
Após configurar o Node-RED, basta clicar no botão “Go to your Node-RED flow editor” para acessar ao editor de nós.
No editor do Node-RED, clique para abrir o menu no canto superior direito.
Clique no item “Import” e depois clique no subitem “Clipboard”.
Acesse o arquivo nodered.json neste repositório e copie todo o conteúdo do arquivo. Cole dentro do Clipboard no Node-RED e clique no botão “Import”.
Clique duas vezes sobre o nó “Workspace”. Este é o nó de Watson Assistant pré-configurado.
Insira as credenciais do seu Watson Assistant, como username, password e workspace_id nos campos abaixo. Clique o botão “Done” na parte superior.
Por final, clique no botão “Deploy” no canto superior direito da tela.
Chatfuel e a API
Acesse a sua conta no Chatfuel e clique no botão “Create from Template” para criar um novo chatbot.
Clique em “Blank Bot”.
Clique no novo item (geralmente ele começa com o nome “Blank Bot” mas pode ser alterado nas configurações).
Dentro do Welcome Message, remova o card existente. Neste caso, usaremos o nó de Welcome do Watson Assistant.
Clique em “Default Answer” e remova o card existente. Iremos conectar a nossa API (Application Programming Interface) importada no Node-RED, onde contem o Watson Assistant, no Chatfuel.
Na seção “ADD A CARD”, clique no ícone de mais (+) para abrir o menu com todas as opções.
Selecione o item “User Input”. Ele será usado para armazenar a mensagem do usuário em uma variável no Chatfuel.
No campo “SAVE ANSWER TO ATTRIBUTE”, coloque no meio das chaves a palavra mensagem. Após configurar a variável, clique novamente no ícone de mais (+).
Selecione o item “JSON API”. Este é o item que irá enviar todas as mensagens para o Node-RED que irá enviar para o Watson Assistant para analisar o texto em linguagem natural.
No campo “URL” adicione a URL da API seu Node-RED junto com dois dados: mensagem e usuario. Ele ficará dessa forma, por exemplo:
https://connect-assistant-chatfuel.mybluemix.net/chatfuel?text={{mensagem}}&user={{messenger user id}}
Após configurar a seção de JSON API com a API do seu Node-RED, clique no botão “CONNECT TO FACEBOOK” e selecione uma página que você gerencia para integrar no seu chatbot. Clique em “TEST THIS CHATBOT” e aproveite o seu chatbot no Facebook Messenger Platform!