Pular para o conteúdo
Abrir o Leadz

HTTP Request

Busque ou envie dados para um site ou sistema externo pelo funil e use a resposta em mensagens, condições, campos e tags.

No Leadz:AutomaçãoFunileditorAvançado Abrir esta tela
Nesta página

O bloco HTTP Request chama um endereço na internet no meio do funil. Use para consultar um sistema (um pedido, um cadastro, um CEP) e aproveitar a resposta: mostrar na mensagem, decidir o caminho numa condição ou gravar na ficha do contato. Esta é uma página para quem integra sistemas, por isso traz termos técnicos.

#Antes de começar

  • Tenha o endereço da chamada e, se o sistema exigir, o token ou o usuário e a senha.
  • O endereço precisa ser público. Endereços de rede interna são recusados.
  • O bloco fica no grupo Avançado, que depende do seu plano.

#Montar a chamada

  1. Adicione o bloco HTTP Request e clique nele.
  2. Em Método, escolha GET, POST, PUT, PATCH, DELETE ou HEAD.
  3. Cole a URL. Ela aceita variáveis, como https://api.exemplo.com/pedidos/{{vars.pedido}}.
  4. Preencha as abas necessárias: Parâmetros, Cabeçalhos, Corpo, Autenticação e Resposta.
  5. Clique em Testar para conferir.
  6. Ligue as saídas Sucesso e Erro aos próximos blocos.

Cada aba mostra um número com a quantidade de itens que tem.

#Aba Parâmetros

Linhas de Nome e Valor que entram no fim da URL (?nome=valor). Acento e espaço são tratados sozinhos. Se você colar uma URL que já tem parâmetros, aparece o atalho Mover para a aba Parâmetros.

#Aba Cabeçalhos

Informações extras que o sistema pede junto, como X-API-Key. Dá para editar em linhas ou em JSON. O token de acesso vai na aba Autenticação, não aqui.

#Aba Corpo

O que você manda para o sistema. Há dois modos:

  • Campos: linhas de nome e valor. Em Enviar como, escolha JSON ou Formulário. Um nome com ponto vira grupo: cliente.nome entra dentro de cliente.
  • JSON / texto: você escreve o corpo inteiro.

GET e HEAD não enviam corpo. A aba avisa e oferece Trocar para POST.

#Aba Autenticação

Como o sistema sabe que é você. Em Tipo de autenticação:

Tipo Como envia
Sem token Endereço público, sem identificação.
Bearer (Authorization) Envia «Authorization: Bearer» com o token.
Header próprio Envia o token num cabeçalho com o nome que você definir (ex.: X-API-Key).
Na URL (query) O token entra na URL (ex.: ?token=). Menos seguro: fica no registro do sistema de destino.
No corpo O token entra como mais um campo do corpo.
Usuário e senha (Basic) Envia usuário e senha, como a janela de login do navegador.
Login do sistema (usuário e senha → sessão) Antes da chamada, entra no endereço de login com usuário e senha e usa o token ou o cookie que o sistema devolver.

No Login do sistema, preencha Endereço de login, Método do login, Formato (JSON, Formulário ou Formulário (multipart)), Usuário ou e-mail, Senha, Nome do campo do usuário e Nome do campo da senha. Se a resposta do login traz um token, informe Onde está o token (opcional) (ex.: data.access_token) e Enviar o token como. Campos que não são usuário nem senha vão em Campos extras do login (opcional).

O login vale para os outros blocos HTTP Request do mesmo funil por 15 minutos. O cookie de sessão só é enviado para o mesmo site do login. Token e senha salvos aparecem mascarados no painel.

#Aba Resposta

Define o que fazer com o que voltou.

  • Guardar a resposta inteira em: nome da variável que recebe a resposta toda. O padrão é http_response.
  • Salvar campos da resposta: leve cada informação para onde ela precisa ficar. Em Campo da resposta, escreva o caminho (ex.: cliente.nome). Em Salvar em, escolha o destino.
Salvar em O que acontece
Variável do funil O valor fica numa variável para os próximos blocos.
Campo do contato Grava num campo da ficha: nome, e-mail, telefone e outros.
Campo personalizado Grava num campo que você criou.
Tag do contato O valor vira uma tag. Uma lista vira várias tags (até 10, com até 40 caracteres cada). Dá para limitar a uma lista de tags aceitas.

Os campos só são salvos quando a chamada dá certo. Resposta de erro não vai para a ficha.

#Mais opções

  • Tempo limite: 5, 10, 15, 20 ou 30 segundos. O padrão é 10.
  • Se falhar, tentar de novo: Não, 1 vez, 2 vezes ou 3 vezes. A nova tentativa só acontece em erro do servidor (5xx), excesso de pedidos (429) ou falha de rede.

#Importar do navegador

Em vez de preencher à mão, copie a chamada que o navegador já faz.

  1. No sistema de destino, aperte F12 e abra Rede.
  2. Faça a ação que você quer repetir.
  3. Clique com o botão direito na chamada › Copiar › Copiar como cURL (bash).
  4. No bloco, clique em Importar, cole o texto e confirme. Ou clique em Abrir .har e escolha o arquivo (até 20 MB).

A importação substitui método, URL, parâmetros, cabeçalhos, corpo e autenticação do bloco. Num arquivo .har com várias chamadas, a tela mostra uma lista para você escolher.

#Usar variáveis na chamada

URL, valores dos cabeçalhos, parâmetros, corpo e campos da autenticação aceitam variáveis. Clique no botão de variáveis do campo ou digite {{.

#Testar

O botão Testar faz a chamada de verdade e não grava nada no contato.

  • No teste não há contato nem funil rodando. Para cada variável usada na chamada, a tela pede um valor de exemplo.
  • O resultado mostra o código (ex.: «HTTP 200 · saída Sucesso»), o tempo e a resposta em três visões: Campos, Resposta e Cabeçalhos.
  • Em Campos, cada informação da resposta tem o botão + Salvar, que cria a linha correspondente na aba Resposta.
  • Com linhas na aba Resposta, o teste mostra No funil, seria salvo: uma prévia, sem gravar.

#Usar a resposta nos blocos seguintes

O bloco deixa estas variáveis prontas:

Variável Conteúdo
{{vars.http_response}} A resposta. Use também o nome que você definiu em Guardar a resposta inteira em.
{{vars.http_status}} O código da resposta (200, 404…).
{{vars.http_ok}} Se a chamada deu certo.
{{vars.http_text}} e {{vars.http_title}} O texto e o título, quando a resposta é uma página.
{{vars.http_error}} A mensagem do erro, quando a chamada falha.

Para ler um campo de dentro da resposta, use ponto: {{vars.http_response.cliente.nome}}. Em listas, use a posição, começando em zero: {{vars.http_response.itens.0.preco}}.

#Condição depois do bloco

  • Para separar sucesso de erro, use as duas saídas do próprio bloco: Sucesso e Erro.
  • Para decidir pelo conteúdo, ponha uma Condição com Variável do fluxo. Exemplo: variável http_response.status, É igual a, pago. A comparação é feita como texto, então o número 1 é igual a «1».
  • Para percorrer uma lista da resposta, use o bloco Repetir com Uma volta por item de uma lista.

#Limites

  • A resposta é lida até 2 MB. Acima disso, o bloco guarda o começo, e o teste avisa «resposta grande: guardado só o começo».
  • De uma página, o texto guardado vai até 60 mil caracteres.
  • Página que monta o conteúdo no navegador (com JavaScript) chega sem o texto: o bloco não abre um navegador.
  • O botão Testar aceita até 20 testes por minuto por workspace (a conta da sua empresa no Leadz).

#Problemas comuns

«O site não respondeu em 10 s (tempo limite do bloco).»

O sistema demorou mais que o tempo limite. Aumente o Tempo limite em Mais opções ou confira se o sistema está no ar.

«Login recusado pelo sistema (HTTP 401): confira usuário, senha e os nomes dos campos.»

O sistema não aceitou o login. Confira usuário e senha, o Formato e os nomes dos campos. Use a dica do F12 para ver como a tela de login envia.

«Login respondeu, mas sem token nem cookie de sessão.»

O login funcionou, mas o Leadz não achou o token na resposta. Informe o caminho em Onde está o token (opcional).

«URL externa aponta para rede privada ou reservada.»

O endereço não é público. O bloco só chama endereços acessíveis pela internet.

«Não foi possível resolver o host externo.»

O endereço não existe ou foi digitado errado. Confira a URL.

«O token deste bloco ainda não foi salvo. Salve o funil e teste de novo.»

Você preencheu a autenticação num bloco novo e testou antes de salvar. Clique em Salvar no funil e teste outra vez.

«Muitos testes seguidos. Espere um minuto e tente de novo.»

O limite de testes por minuto foi atingido. Aguarde e repita.

«JSON inválido: confira vírgulas e aspas.»

O texto dos cabeçalhos ou do corpo não é um JSON válido. Revise vírgulas, aspas e chaves.

«Não reconheci um cURL.»

O texto colado não é um cURL. No navegador: F12 › Rede › botão direito na chamada › Copiar › Copiar como cURL (bash).

A variável da resposta sai vazia na mensagem

Confira o caminho no resultado do Testar, na visão Campos. Dentro de {{ }} use ponto para posições de lista (itens.0), não colchetes.

#Veja também

Este artigo ajudou?

Mais em Funil

Ver os 10 artigos