Como conectar um chatbot a uma API externa

Adicione dados da API ao seu chatbot e responda com dados externos

Como conectar seu chatbot a uma API externa

Este guia irá mostrar como conectar seu chatcompose chatbot com uma API externa.

A API que usaremos para conectar nosso chatbot é a API da wikipedia para solicitar trechos de artigos.

Você pode ver a documentação da API da wikipedia aqui.

Passo a passo para conectar seu chatbot a uma API externa

1. Criar um componente de conexão API

Entre na sua conta chatcompose e navegue para o menu Scripts> seção Conexão Externa. Você verá o seguinte:

Aqui você pode selecionar o tipo de API que você irá implementar. Para se conectar com a API da Wikipédia, vamos escolher a API get.

Clique em criar para ir até o componente assistente de criação de API. Para começar, você deve dar um nome de identificação ao seu componente, então, vamos usar este identificador para instalar a conexão API em nossa chatbot.

Vamos chamar nosso identificador "wikiextracto". Clique em continuar. Uma nova tela nos permitirá configurar as chamadas para a API.

Wikipedia API nos permite procurar e alterar os parâmetros dinâmicos na URL, que sabemos com antecedência antes de fazer a chamada para API.

Por exemplo:

 

https://pt.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&exchars=175&redirects=1&formatversion=2&titles=SUACONSULTAQUI&origin=*

 

Fazemos a consulta no espaço reservado SUACONSULTAAQUI. Através deste parâmetro podemos solicitar ao usuário e, em seguida, usá-lo para fazer chamadas de API.

Nós preenchemos a configuração com os dados:

O campo "Pergunta que você vai fazer para obter os dados que você precisa {val1} é dar ao usuário uma pergunta sobre o que você deseja pesquisar para inseri-lo na API. Este valor é então inserido na rota da API:

https://pt.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&exchars=175&redirects=1&formatversion=2&titles={val1}&origin=*

Assim que o usuário irá digitar a resposta, que é inserido no api, dentro do espaço {val1}.

Mais de um parâmetro

Se prestar atenção poderá ver que, colocamos a pergunta 2 (opcional) em branco. Esta API não requer isso, portanto, não a usaremos. Pergunta 2 pode ser usada para pedir um segundo parâmetro para o usuário e usá-lo na API.

Algumas APIs podem ser configuradas com mais de um parâmetro, por exemplo:

https://pt.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&exchars=SUALONGAAQUI&redirects=1&formatversion=2&titles=SUACONSULTAAQUI&origin=*

Quando a API for configurada, clique em Próximo. Uma nova tela mostrará as opções de resposta.

Neste caso, colocaremos uma mensagem adicional na resposta da API. Este campo é opcional, então você pode deixar em branco.

Respostas JSON

Se a resposta está em JSON (a maioria usa json) clique em "É json". Alguns API respondem em texto simples, em casos como esse, pode deixar esta caixa desmarcada e será exibida a resposta da API sem problemas.

Clicar em "Es json" mostrará a opção para definir o caminho json. O formato json é estruturado, para que possamos definir exatamente o valor da resposta no json que queremos.

Consultando o wikipedia API em:

https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&exchars=175&redirects=1&formatversion=2&titles=chatbot&origin=*

nos mostrará o seguinte:

{  
   "batchcomplete":true,
   "query":{  
      "normalized":[  
         {  
            "fromencoded":false,
            "from":"chatbot",
            "to":"Chatbot"
         }
      ],
      "pages":[  
         {  
            "pageid":148349,
            "ns":0,
            "title":"Chatbot",
            "extract":"A chatbot (also known as a smartbots, talkbot, chatterbot, Bot, IM bot, interactive agent, Conversational interface or Artificial Conversational Entity) is a computer program or..."
         }
      ]
   }
}

 

Se você achar que é difícil de ver, você pode navegar na responstas json com esta ferramenta http://jsonviewer.stack.hu/.

A partir dessa resposta, precisamos apenas do campo "extract", então escrevemos o caminho para esse campo no json. Neste caso, o caminho seria query.pages.0.extract.

O zero deve ao fato de que o “extract” se encontra dentro de uma matriz na posição zero.

Depois de concluir, pressione salvar. O assistente irá retornar "PRONTO !! o ID do seu componente é wikiextracto".

Agora criamos nosso primeiro componente de API com o ChatCompose.

IMPORTANTE: Algumas APIs não aceitam chamadas de uma fonte externa. Para ativar a cross origin , defina os headers de resposta como "Access-Control-Allow-Origin: *".

2. Instalação do componente

Para instalar o componente em nosso chatbot, você pode atribuir o componente do seu ID (wikiextracto) para aparecer no início da conversa no menu configurações chatbot> Geral, e em uma página específica no menu Configurações> Páginas. Lembre-se de selecionar a lista "wikiextracto" como um componente de início.

Você também pode atribuir a API do componente de conexão na seção Banco de dados. Lá, você pode colocá-lo em resposta a uma pergunta ou comando específico, como "procurar wikipedia".

Se você sabe como criar scripts com componentes, você também pode atribuir um componente API como parte de um roteiro mais elaborado.

Você pode testar o componente clicando no chatbot à sua direita.

Você gostaria de saber mais?

Obtenha mais informações