Como detectar e solucionar erros em requisições HTTP do seu bot
🧠 Introdução
As requisições HTTP permitem conectar seu bot com serviços externos como CRMs, sistemas internos ou plataformas como Zapier. No entanto, uma má configuração pode fazer com que estes dados nunca cheguem ao destino… e sem aviso!
Este artigo te ajudará a identificar e resolver os erros mais comuns ao usar este componente.
🧨 Erros frequentes ao usar o componente HTTP
| Erro |
| O que ocorre |
| Como preveni-lo |
| Dupla inclusão de URLs |
| A direção é concatenada duas vezes, como:https://hooks.zapier.../
... |
| Revise que a URL não tenha duplicações ao copiar/colar. Sempre deve começar porhttps://e não conter outrohttps://dentro |
| URL inválida ou mal copiada |
| O fluxo não envia nada, nem sequer mostra erro |
| Cole a URL no navegador para validar o formato ou use ferramentas como Postman |
| O componente HTTP não é ativado |
| O usuário não chega a essa parte do fluxo por condições não cumpridas |
| Revise o design do fluxo e simule uma conversa para garantir que seja ativado |
| Erro silencioso no Zapier |
| Zapier não registra a entrada, mas também não apresenta erro visível |
| Verifique se o webhook está bem configurado. No Zapier, revise os últimosrequestsrecebidos no histórico de tarefas |
🧪 Exemplo: O que fazer se a informação não chegou ao Zapier
📤Revisar a URL da requisição HTTP no AtomVerifica que solo tenha uma direção válida. Evite concatenações acidentais.
📤Revisar a URL da requisição HTTP no Atom
Verifica que solo tenha uma direção válida. Evite concatenações acidentais.
🧪Simular o fluxoDesde Atom, teste o fluxo garantindo que a condição que ativa a requisição seja cumprida.
🧪Simular o fluxo
Desde Atom, teste o fluxo garantindo que a condição que ativa a requisição seja cumprida.
🕵️Verificar os logs da conversaAcesse a conversa desde o módulo de relatórios ou histórico e revise se a etapa do componente HTTP figura.
🕵️Verificar os logs da conversa
Acesse a conversa desde o módulo de relatórios ou histórico e revise se a etapa do componente HTTP figura.
🔁Revisar o histórico de tarefas no ZapierAcesse Zapier > Zaps > Task History. Se não há rastro do webhook, o problema é do lado do Atom.
🔁Revisar o histórico de tarefas no Zapier
Acesse Zapier > Zaps > Task History. Se não há rastro do webhook, o problema é do lado do Atom.
🛠 Recomendações para testar suas requisições
UtilizePostmanou ferramentas similares para validar que o endpoint responda corretamente.
Teste manualmente o corpo da requisição com dados reais.
Se você utiliza variáveis dinâmicas (,), assegure-se de que essas variáveis estejam preenchidas antes de ativar a requisição.
Adicione uma etapa de “mensagem de validação” antes e depois do HTTP para rastrear se foi executado.
✅ Boas práticas para este cenário
Não cole URLs de editores que possam incluir caracteres invisíveis.
Teste cada mudança com usuários de teste ou em uma cópia do fluxo.
Documente internamente qual é a URL válida e quem a administra (útil se você utiliza múltiplos webhooks).
🔎 Campos do sistema que não são enviados corretamente: como detectá-lo
Às vezes, ainda que o componente HTTP seja executado corretamente, os sistemas externos como Zapier ou seu CRM não recebem alguns valores chave como o número de telefone, nome ou e-mail. Isto pode dever-se a uma falha silenciosa na captura de campos do sistema.
🧪 Como identificar se o campo não foi enviado?
Revise os logs da conversaDesde o histórico de conversação, verifique se a etapa da requisição HTTP foi executada.Se o campo aparece vazio (nullo""), significa queno foi capturado previamenteou foi sobrescrito.
Revise os logs da conversa
Desde o histórico de conversação, verifique se a etapa da requisição HTTP foi executada.
Desde o histórico de conversação, verifique se a etapa da requisição HTTP foi executada.
Se o campo aparece vazio (nullo""), significa queno foi capturado previamenteou foi sobrescrito.
Se o campo aparece vazio (nullo""), significa queno foi capturado previamenteou foi sobrescrito.
Confirme que o dado foi salvo corretamenteSe você usa componentes como “Salvar campo”, valide que o valor esteja preenchido antes da etapa de integração.Para campos do sistema comotelefone, evite sobrescrevê-los com outros valores no fluxo.
Confirme que o dado foi salvo corretamente
Se você usa componentes como “Salvar campo”, valide que o valor esteja preenchido antes da etapa de integração.
Se você usa componentes como “Salvar campo”, valide que o valor esteja preenchido antes da etapa de integração.
Para campos do sistema comotelefone, evite sobrescrevê-los com outros valores no fluxo.
Para campos do sistema comotelefone, evite sobrescrevê-los com outros valores no fluxo.
Verifique o nome exato do campo na requisição HTTPVocê utilizoutelefono,teléfono,telefono_usuario?Deve coincidir exatamente com a variável preenchida na conversa. Evite acentos, espaços ou maiúsculas desnecessárias.
Verifique o nome exato do campo na requisição HTTP
Você utilizoutelefono,teléfono,telefono_usuario?
Você utilizoutelefono,teléfono,telefono_usuario?
Deve coincidir exatamente com a variável preenchida na conversa. Evite acentos, espaços ou maiúsculas desnecessárias.
Deve coincidir exatamente com a variável preenchida na conversa. Evite acentos, espaços ou maiúsculas desnecessárias.
✅ Checklist rápida se o fluxo foi duplicado ou editado recentemente
🔁 Os componentes que capturam ou salvam dados foram copiados corretamente?
🔁 Os componentes que capturam ou salvam dados foram copiados corretamente?
🧩 Os nomes dos campos no corpo do HTTP coincidem com os do fluxo?
🧩 Os nomes dos campos no corpo do HTTP coincidem com os do fluxo?
🧪 Foram realizados testes reais após as mudanças?
🧪 Foram realizados testes reais após as mudanças?
🧠 A ordem correta é mantida:captura do dado→requisição HTTP?
🧠 A ordem correta é mantida:captura do dado→requisição HTTP?
🛠 Boas práticas para evitar este tipo de erros
Utilize nomes de variáveis simples, sem espaços nem acentos(ex.telefono,email,nome).
Utilize nomes de variáveis simples, sem espaços nem acentos(ex.telefono,email,nome).
Evite sobrescrever campos de sistema a menos que seja estritamente necessário.
Evite sobrescrever campos de sistema a menos que seja estritamente necessário.
Simule sempre o fluxopara verificar se o dado foi capturado corretamente.
Simule sempre o fluxopara verificar se o dado foi capturado corretamente.
Verifique os logs em cada mudança estruturalantes de lançar uma campanha ou automação.
Verifique os logs em cada mudança estruturalantes de lançar uma campanha ou automação.
Documente os campos requeridos por suas integrações externas(Zapier, CRM, etc.) para garantir consistência.
Documente os campos requeridos por suas integrações externas(Zapier, CRM, etc.) para garantir consistência.
⚠️ Erros por discrepância de tipos de dados em requisições HTTP
Em alguns casos, o bot pode receber da API um tipo de dado diferente do esperado no fluxo, o que pode provocar que:
O valor não seja armazenado corretamente
O valor não seja armazenado corretamente
Se ative um erro silencioso na execução
Se ative um erro silencioso na execução
O fluxo não continue como se espera
O fluxo não continue como se espera
🎯 Cenário comum: Boolean vs. String
Uma situação habitual é que o serviço devolve um valor tipoboolean(true/false) mas o campo do fluxo está preparado para salvar umacadena de texto (string).
Erro típico:
Isto pode acontecer, por exemplo, quando se tenta salvar diretamente a resposta da API em um campo de usuário sem fazer uma validação prévia ou transformação.
🛠️ Como preveni-lo?
Você pode utilizar a opçãoGerenciar errosdentro do componenteRequisição HTTP, que te permite:
Verificar se a API devolve um tipo diferente do esperado.
Verificar se a API devolve um tipo diferente do esperado.
Aplicar uma condição para transformar o valor antes de salvá-lo.
Aplicar uma condição para transformar o valor antes de salvá-lo.
Redirecionar para outra parte do fluxo em caso de erro.
Redirecionar para outra parte do fluxo em caso de erro.
📌 Exemplo prático
Suponhamos que o endpoint devolve:
Mas o campo de destino no Atom espera um texto. Neste caso, você poderia:
Criar um componente “Salvar campo” com uma condição:SePodePagarestrue, salvar"Sim"SePodePagaresfalse, salvar"Não"
Criar um componente “Salvar campo” com uma condição:
SePodePagarestrue, salvar"Sim"
SePodePagarestrue, salvar"Sim"
SePodePagaresfalse, salvar"Não"
SePodePagaresfalse, salvar"Não"
Ou diretamente transformar o dado na lógica da API, se for possível.
Ou diretamente transformar o dado na lógica da API, se for possível.
🧪 Recomendações antes de testar
| Etapa |
| Ação |
| ✅ |
| Testar no Postman com os valores exatos |
| 🔄 |
| Comparar o resultado com o que espera o fluxo |
| 🧰 |
| Usar "Gerenciar erros" no componente Requisição HTTP |
| 💬 |
| Simular a conversa completa desde Atom |
💡 Dica adicional
Se seu fluxo espera valores tipo texto, assegure-se que todas as respostas que você espera salvar estejam como strings (entre aspas) ou mapeadas corretamente antes de serem processadas pelo bot.
📌Quer validar manualmente se a informação chega completa?Consulte o artigo 👉Como testar sua API no Postman