Ir para o conteúdo

Integrando o Facebok Messenger com um Chatbot

Para integrar o Facebook Messenger a um Chatbot, é necessário:

  1. Uma Página no Facebook
  2. Uma conta de Desenvolvedor no Facebook
  3. Um Facebook App associado à sua conta de Desenvolvedor com o produto Messenger adicionado
  4. Uma URL de Webhook para recebimento das notificações

Esse guia tentará mostrar e ilustrar de forma breve os principais passos, utilizando a plataforma Serprobots para a integração de um chatbot com o Facebook Messenger. Maiores orientações em torno desse tema podem ser obtidas com mais detalhes na documentação do Facebook Developers.

Criando uma Página no Facebook

O contato com o qual o usuário do Facebook Messenger irá interagir é definido por uma pagina de organização no Facebook. A pagina irá definir o nome e a imagem que irão constar na janela de chat, além de ser o ponto de entrada para iniciar uma nova conversa ou até mesmo ser encontrado nas buscas por contatos.

Se você ainda não tem uma página, crie uma seguindo os passos indicados pela própria ferramenta de criação do Facebook. É um processo simples que envolve basicamente a definição do nome, categoria, descrição.

Uma vez que você tenha uma página criada e gerenciada por você, será preciso tomar nota do seu Número de Identificação da Página ou PAGE ID. É esse identificador que irá constar como destinatário das mensagens quando elas forem recebidas pelo sistema de Chatbot. Para obtê-lo, acesse sua página, em seguida clique em Mais, em seguida clique em Sobre.

O valor do PAGE ID vai estar no final da página Sobre, na seção Mais Informações, no campo Número de identificação da Página.

Importante

Apenas o dono da página consegue ver seu PAGE ID no menu Sobre. Certifique-se de estar visitando a página com a conta correta para obter essa informação.

Ativando sua conta de Desenvolvedor no Facebook

Para criar soluções que se integram ao Facebook é preciso acessar o portal do desenvolvedor que fica no endereço https://developers.facebook.com/.

Se você não estiver logado no Facebook, é interessante fazer o login primeiro, mas o portal também oferece a opção de Login no canto superior direito.

Uma vez logado no portal, caso sua conta ainda não seja de desenvolvedor, basta clicar em Como começar (Get Started) e seguir os passos indicados pelo site para a ativação. Durante a ativação, pode ser que seja sugerida a criação de um primeiro aplicativo. Você pode criar qualquer coisa para vencer ess etapa, mas se desejar, pode também já aproveitar para definir o aplicativo responsável pela integração com o chatbot, conforme orientações da próxima seção desse guia.

Caso sua conta já seja de desenvolvedor, basta acessar o menu Meus aplicativos (My apps) no canto superior direito e seguir para a próxima seção desse guia.

Criando e configurando o Facebook App

Será preciso criar um aplicativo no portal do desenvolvedor Facebook para configurar a integração do Facebook Messenger de uma página com um chatbot. Para iniciar o processo clique no botão verde Criar aplicativo no canto superior direito.

Na primeira etapa, Selecione o tipo de aplicativo, escolha a primeira opção, Empresa e clique em Avançar.

Na segunda etapa, Fornecer informações básicas, defina o Nome de exibição do aplicativo e um Email de contato do responsável por ele. Esse nome não irá aparecer na janela de conversa, é apenas um identificador no portal do desenvolvedor. Não é necessário informar uma Conta Empresarial.

Na tela inicial de gerenciamento do aplicativo, adicione o produto Messenger, clicando no seu respectivo botão Configurar.

Na tela de gerenciamento do Messenger no aplicativo, na seção Tokens de acesso, acione o botão azul de Adicionar página e siga os passos na ferramenta para vincular esse aplicativo com a respectiva Página do Facebook que irá representar o contato do chatbot, conforme discutido anteriormente nesse guia.

Algumas mensagens de alerta podem ocorrer nesse processo, indicando falta de permissões, mas elas podem ser ignoradas, pois isso será corrigido mais adiante quando o webhook for configurado.

Ao concluir, acione a opção Gerar token da Página adicionada na tabela e gere um token. Esse token da página é necessário para configuração da integração com o sistema de cahtbot, pois é através dele que é possível chamar a Graph API em nome da Página para enviar uma mensagem de resposta para o usuário que entrou em contato.

Importante

Copie o valor do Token de acesso da página e guarde no momento da geração, pois não será possível acessar o valor novamente.

Por fim, é preciso tomar nota também do valor do Token do Aplicativo. Ele pode ser obtido acessando o menu Configurações > Básico do gerenciador do aplicativo. Copie e guarde o valor do campo Chave Secreta do Aplicativo, que fica logo no começo do formulário. Ele também será necessário para a integração com o sistema de chatbot uma vez que as notificações de mensagens recebidas que chegam no webook são assinadas usando esse segredo e logo, o sistema deverá também conhecer seu valor para certificar que a a mensagem recebido está integra e autêntica.

Configuração do canal Facebook Messenger no Serprobots

Para configurar em um chatbot do Serprobots o canal Facebook Messenger, você vai precisar reunir as três informações coletas nos passos anteriores desse guia, relembrando:

  • Número de identificação da Página (Page ID)
  • Token de Acesso da Página para a Graph API
  • Token do Aplicativo (Chave secreta)

A documentação do Serprobots irá falar com mais detalhes sobre essa configuração, que também envolve outros campos próṕrios da plataforma.

Após configurar o canal, publique o chatbot com essa nova configuração para que seja possível fazer a última etapa que é a verificação do webhook do Serprobots no aplicativo.

Configurando o Webhook do Serprobots no seu Facebook App

Acessando novamente a tela de gerenciamento do Messenger no aplicativo, na seção Webhook, clique em Adicionar URL de retorno.

No campo URL de retorno de chamada, informe a URL do webhook do Serprobots, que deve ser:

https://facebook-serprobots.estaleiro.serpro.gov.br/api/v1/inbound/<PAGE_ID>

Onde PAGE_ID é o Número identificador da Página do Facebook configurado para esse chatbot na plataforma Serprobtos.

No campo Token de verificação, deve ser informado o mnemônico do chatbot, valor que pode ser observado na tela de Informações Gerais do chatbot no Serprobots, logo abaixo do campo nome.

Clique em Verificar e salvar. Nesse instante o Facebook irá fazer uma troca de informações de segurança com o Serprobots para validar essa integração.

Importante

Só será possível verificar o Webhook se o chatbot estiver publicado já com o canal Facebook Messenger devidamente configurado no Serprobots.

Com o webhook adicionado, refresque a página de gerenciamento do aplicativo, e surgirá um menu novo na barra lateral esquerda chamado Webhook. Acesse esse menu, procure pela inscrição chamada messages e clique em Subscribe. Isso habilitará o webhook do aplicativo a receber notificações advindas do Facebook Messenger.

Por fim, retorno na configuração do Messenger, e na seção Webhook clique no botão Adicionar assinaturas na respectiva Página, e marque os seguintes campos: messages e messaging_postbacks. Isso fará com que o webhook passe de fato a receber esses dois tipos de notificações, oriundas das trocas de mensagens com essa Página.

Testando o chatbot no Messenger

Quando um aplicativo é criado no Facebook ele permanece em modo de teste, até ser aprovado para publicação. Durante essa fase, somente o dono do aplicativo (você) e testadores poderão interagir com o aplicativo.

Para que terceiros possam conseguir conversar com a Página usando a integração com Chatbot nesse primeiro momento, será preciso convidar um testador para o aplicativo. Para isso, acesso menu Funções > Funções do gerenciador do aplicativo, e na seção Testadores clique no botão Adicionar testadores. Será possível buscar um usuário e enviar o convite para ele.

Para aceitar o convite, o usuário testador deverá acessar a área de requisições pendentes do portal de desenvolvedor do Facebook. Após o aceite, ele conseguirá conversar com o chatbot pelo Facebook Messenger, bastando acessar a Página da organização criada anteriormente.

Importante

Lembre-se que um App Facebook nasce no modo de teste e precisa passar por análises do próprio Facebook para certificar que se trata de algo dentro das suas políticas, e só então ele é aprovado. Você pode saber mais sobre esse proceso na documentação oficial.