Pular para o conteúdo principal

http request

O nó http request é destinado a executar requisições HTTP para serviços web externos ou APIs. Ele suporta vários métodos HTTP, tipos de dados, autenticação e gerenciamento flexível de requisições e respostas.


Configurações do nó http request

IMG2

1. Nome

Campo para especificar o nome do nó.
O nome é exibido na área de trabalho e ajuda a identificar facilmente o nó.
Se deixado em branco, o nó será chamado de http request.

Exemplo:

  • Nome do nó: Obter Dados do Clima

2. Método

Método HTTP que será utilizado para a requisição. A escolha do método depende do tipo de operação que precisa ser realizada.

Métodos disponíveis:

  • GET: Obter dados.
  • POST: Enviar dados.
  • PUT: Atualizar dados.
  • DELETE: Remover dados.
  • PATCH: Atualização parcial de dados.
  • HEAD: Obter cabeçalhos da resposta.
  • OPTIONS: Obter informações sobre a API.

Exemplo:

  • Método: POST

Campo para especificar um URL estático para o qual a requisição será enviada.
Se o endereço precisar ser definido dinamicamente, ele pode ser passado em msg.url.

Exemplo:

  • Link: https://api.example.com/data

4. Dados

Define como os dados de entrada serão adicionados à requisição HTTP. As seguintes opções estão disponíveis:

  1. Ignorar:
    Os dados de entrada não serão utilizados na requisição. O campo msg.payload, se existir, será ignorado.

    Exemplo:
    Se msg.payload contiver um objeto JSON, ele não será incluído na requisição.


  1. Adicionar aos parâmetros de consulta:
    Os dados de msg.payload serão convertidos em parâmetros de string de consulta (Query Parameters) e adicionados ao URL.

    Exemplo:
    Se msg.payload contiver:

    {
    "key1": "value1",
    "key2": "value2"
    }

    Se o Link for especificado como http://example.com/api, a requisição final será:
    GET http://example.com/api?key1=value1&key2=value2.


  1. Enviar como corpo da requisição:
    Os dados de msg.payload serão enviados no corpo da requisição. Esta opção é adequada para métodos como POST, PUT e PATCH, onde os dados são frequentemente enviados no corpo.

    Exemplo:
    Se msg.payload contiver:

    {
    "name": "John Doe",
    "email": "john.doe@example.com"
    }

    Se o método da requisição for POST, os dados serão enviados no corpo da requisição com o conteúdo apropriado.

5. Retorno

Define em qual formato o nó processará a resposta do servidor.

Opções:

  • String UTF-8: A resposta é convertida em string (padrão).
  • Buffer: A resposta é retornada como um objeto Buffer (útil para dados binários, como imagens ou arquivos).
  • JSON: Se a resposta do servidor estiver no formato JSON, ela será automaticamente convertida em um objeto JavaScript.

Exemplo:

  • Se JSON for selecionado, a resposta:
    {"status": "ok", "value": 42}
    será convertida em:
    msg.payload = { status: "ok", value: 42 };

6. Autenticação

O nó suporta mecanismos de autenticação integrados.

Autenticação Básica

  • Nome de usuário: Nome do usuário.
  • Senha: Senha.

Token Bearer

  • Token: Token de acesso.

Digest

  • Nome de usuário: Nome do usuário.
  • Senha: Senha.

Dados de entrada

O nó http request aceita um objeto de mensagem msg com os parâmetros:

  1. msg.url: URL para a requisição (se não especificado nas configurações do nó).
  2. msg.method: Método HTTP (se não definido nas configurações do nó).
  3. msg.payload: Corpo da requisição (usado para métodos POST, PUT, PATCH).
  4. msg.headers: Cabeçalhos da requisição HTTP (objeto).

Dados de saída

O nó retorna um objeto msg com informações sobre a requisição realizada:

  1. msg.payload: Dados da resposta do servidor.
  2. msg.statusCode: Código de status HTTP da resposta (por exemplo, 200 ou 404).
  3. msg.headers: Cabeçalhos da resposta.
  4. msg.responseUrl: URL para o qual a requisição foi feita.
  5. msg.error: Descrição do erro (se a requisição falhar).

Exemplos de uso

Exemplo 1: Executando uma requisição GET

Configurações do nó:

  • Método: GET
  • URL: https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London

Fluxo:

[inject] ---> [http request] ---> [debug]

Resultado: O nó retornará um JSON com o clima atual.


Exemplo 2: Enviando dados via POST

Configurações do nó:

  • Método: POST
  • URL: https://api.example.com/devices
  • Dados: JSON

Fluxo:

[function] ---> [http request] ---> [debug]

Código no nó function:

msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;

Resultado: Os dados serão enviados e o nó retornará a resposta do servidor.


Exemplo 3: URL dinâmico e autenticação

Configurações do nó:

  • URL: (deixar em branco)

Fluxo:

[function] ---> [http request] ---> [debug]

Código no nó function:

msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;

Resultado: O nó fará a requisição para a URL especificada com o token de autenticação.