Como integrar com a JSON API
O Chatfuel permite conectar qualquer serviço externo — CRM, sistema de agendamento, estoque ou backend próprio — usando o plugin JSON API.
Última atualização
O Chatfuel permite conectar qualquer serviço externo — CRM, sistema de agendamento, estoque ou backend próprio — usando o plugin JSON API. Depois de adicionado, ele funciona como uma REST API comum: você envia requisições, recebe respostas e usa os dados dentro dos seus fluxos.
Para ferramentas SaaS populares como Slack, Google Sheets, Notion ou HubSpot, você pode dispensar a JSON API por completo — o AI Co-Worker pode conectá-las por você por meio de um link de autorização seguro; basta pedir no chat.
Observação: Configurar uma integração com a JSON API é uma das poucas etapas que o AI Co-Worker não pode concluir por você — os fluxos são criados manualmente no Flow Builder. O Co-Worker pode levar você direto à página certa: basta pedir.
Etapa 1: Adicione o plugin JSON API
- Abra seu fluxo no Flow Builder.
- Adicione um novo bloco de ação e selecione JSON API na lista de plugins.
- O plugin aparece como um bloco que você pode configurar com URL, método, cabeçalhos e corpo.
Etapa 2: Configure a requisição
Configure o bloco JSON API como qualquer chamada de REST API:
| Campo | O que informar |
|---|---|
| URL | A URL completa do endpoint do serviço externo (por exemplo, https://api.example.com/bookings) |
| Method | GET, POST, PUT, PATCH ou DELETE |
| Headers | Todos os cabeçalhos necessários, como Authorization ou Content-Type: application/json |
| Body | Payload JSON para requisições POST/PUT/PATCH |
Você pode usar atributos de usuário do Chatfuel em qualquer campo colocando-os entre chaves duplas: {{attribute_name}}. Isso permite passar dados dinâmicos — como o nome do cliente, o telefone ou o produto selecionado — para as suas chamadas de API.
Etapa 3: Mapeie a resposta
Depois que a API retornar uma resposta, você pode salvar valores da resposta JSON em atributos de usuário do Chatfuel. Use a notação JSONPath para extrair campos específicos:
$.status— campo de nível superior$.data.order_id— campo aninhado$.items[0].name— primeiro item de um array
Os atributos mapeados ficam disponíveis nos blocos seguintes — mensagens de texto, condições ou outras chamadas de API.
Casos de uso comuns
- Sincronização com CRM — envie os dados do lead (nome, telefone, e-mail) para o seu CRM quando um cliente preencher um formulário.
- Consulta de pedido — busque o status do pedido no seu backend e exiba-o no chat.
- Confirmação de agendamento — crie um compromisso no seu sistema de agendamento e devolva a confirmação ao cliente.
- Verificação de estoque — confira a disponibilidade do produto antes de recomendá-lo.
Dicas
- Sempre defina
Content-Type: application/jsonnos cabeçalhos ao enviar um corpo JSON. - Teste seu endpoint fora do Chatfuel primeiro (por exemplo, com Postman ou curl) para garantir que ele retorna a resposta esperada.
- Mantenha os payloads de resposta pequenos — retorne apenas os campos de que você precisa.
- Se o serviço externo exigir autenticação, armazene as chaves de API em atributos de usuário ou fixe-as no cabeçalho (nunca as exponha ao usuário final).
Solução de problemas
| Problema | Solução |
|---|---|
| A requisição retorna um erro | Confira novamente a URL, o método e os cabeçalhos. Teste a mesma requisição no Postman. |
| Os dados da resposta não são mapeados | Verifique se o JSONPath corresponde à estrutura real da resposta. |
| Tempo esgotado ou sem resposta | O servidor externo pode estar lento ou fora do ar. Adicione uma mensagem alternativa para o usuário. |
| A autenticação falha | Confirme se a sua chave de API ou token está correto e não expirou. |