Neste artigo, você verá como integrar o seu chatbot com uma API. Para isso, é preciso criar um novo passo com a integração Json API.
Configurando o passo com Json API
Acesse a plataforma Zenvia: Produtos > Zenvia Bots > Criar novo fluxo ou Editar um já existente.
No fluxo escolhido, clique no + para Criar novo passo.
Na tela que se abrir, selecione a opção Json API.
Exemplo de configuração com o método GET
Utilizaremos a API pública HG Weather para consultar o clima na cidade do usuário.
Configure a URL e os parâmetros que serão enviados.
Armazene a resposta da API em uma variável. Por exemplo: a descrição do clima será salva na variável clima_atual e alimentada pelo campo response.results.description do retorno da API.
Utilização das variáveis no chatbot
Adicione um novo passo de Mensagem do chatbot e insira as variáveis no formato:#{nome_da_variável}
Exemplo de uso do array como retorno de API
Se você está tentando manipular um array e enfrentando dificuldades, confira as orientações a seguir.
No Zenvia Bots, que utiliza Java, arrays devem ter um tipo definido e conter valores do mesmo tipo. Não é possível inicializar objetos diretamente, mas apenas manipular os retornados pela API.
Caso prático:
Criando o array:
Nome: BoletosVencidos
Expressão: new Object[3] (representa um array com 3 posições; ajuste conforme necessário).
Processando os dados:
Do array retornado pela API (TodosOsBoletos), extraímos dados específicos e os adicionamos ao array criado:
Expressão:
BoletosVencidos[0] = TodosOsBoletos[PosicaoBoleto]Utilizando o array:
Na mensagem do sistema, exiba uma informação ao usuário:
Mensagem:
"Boleto disponível: #{BoletosVencidos[0].vencimento}"
Explicação adicional sobre new Object[3]
A expressão new Object[3] cria um array de 3 posições para armazenar objetos. Substitua "3" pelo número necessário de elementos. No exemplo acima, cada posição representa um boleto.
Boas práticas:
Use nomes de variáveis claros e intuitivos (ex.: BoletosVencidos, DadosUsuario).
Teste o fluxo para verificar se os dados estão sendo armazenados e exibidos corretamente.
Dificuldades frequentes na integração com API externa
Erro ao imprimir valores não-textuais:
Certifique-se de converter números ou outros tipos para texto com .toString() antes de exibi-los (ex.: #{variavel.toString()}).Formatação do destinatário:
Não insira + no número do destinatário na chamada de API, pois isso pode gerar inconsistências.Erros no fluxo devido a campos inválidos no JSON:
Remova campos como $oid retornados por APIs que causam erros no processamento.