Pular para o conteúdo principal

http in

O nó http in é utilizado para criar endpoints HTTP que podem processar requisições HTTP de entrada (GET, POST, PUT e outros). Este nó é o ponto de entrada para interagir com sistemas externos através do protocolo HTTP.

Importante: Todos os caminhos definidos recebem automaticamente o prefixo: /api/admin/workflows/endpoints/.


Configurações do nó http in

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 in.

Exemplo:

  • Nome do nó: get payment link

2. Método

Método HTTP que o nó irá processar. As seguintes opções estão disponíveis:

  • GET: Usado para obter dados.
  • POST: Usado para enviar dados.
  • PUT: Usado para atualizar dados.
  • DELETE: Usado para excluir dados.
  • PATCH: Usado para atualização parcial de dados.
  • OPTIONS: Usado para requisições de metainformação sobre a API.

Especifica o caminho (endpoint) para processar as requisições.

  • O caminho começa com /.
  • Pode incluir variáveis de rota, por exemplo: /data/:id.

Exemplo:

  • Link: /get-payment-link
  • Link com parâmetro: /get-payment-link/:orderId

4. Protegido

Flag de proteção do endpoint. Por padrão, está ativado.

5. Exemplo de Saída (JSON)

Exemplo de dados que o nó envia adiante no fluxo, em formato JSON.
Com base neste exemplo, é construída a estrutura de dados para o próximo nó — seus campos aparecem no bloco Input Schema do próximo nó. Se o campo estiver vazio ou o JSON nele for inválido, a estrutura não é passada adiante.


Formato da Mensagem de Entrada

Quando uma requisição chega ao caminho especificado com o método escolhido, o nó http in cria uma mensagem msg com as seguintes propriedades:

  • msg.req: Contém o objeto da requisição HTTP, incluindo cabeçalhos, parâmetros, corpo e outros dados.

    • msg.req.params: Parâmetros de rota (por exemplo, :id em /api/data/:id).
    • msg.req.query: Parâmetros GET da requisição.
    • msg.req.body: Corpo da requisição (para métodos POST, PUT e PATCH).
  • msg.res: Objeto para gerenciar a resposta HTTP. Normalmente é passado para o nó http response para enviar a resposta ao cliente.


Exemplo de Uso

Exemplo 1: Processando uma requisição GET

Cenário: Retornar dados sobre a temperatura.

Configurações do nó:

  • Método: GET
  • Link: /temperature

Fluxo:

[http in] ---> [function] ---> [http response]

Código do nó function:

msg.payload = { temperature: 22.5, unit: "Celsius" };
return msg;

Resultado: O cliente que enviar uma requisição GET para /api/admin/workflows/endpoints/temperature receberá uma resposta JSON:

{
"temperature": 22.5,
"unit": "Celsius"
}

Exemplo 2: Processando uma requisição POST

Cenário: Receber e salvar dados de um dispositivo.

Configurações do nó:

  • Método: POST
  • Link: /data

Fluxo:

[http in] ---> [function] ---> [http response]

Código do nó function:

// Lendo dados do corpo da requisição
const data = msg.req.body;
msg.payload = { status: "success", receivedData: data };
return msg;

Resultado: O nó receberá os dados do corpo da requisição POST e retornará uma resposta de confirmação.


Exemplo 3: Usando parâmetros de rota

Cenário: Obter dados pelo identificador do dispositivo.

Configurações do nó:

  • Método: GET
  • Link: /device/:id

Fluxo:

[http in] ---> [function] ---> [http response]

Código do nó function:

const deviceId = msg.req.params.id;
msg.payload = { deviceId: deviceId, status: "active" };
return msg;

Resultado:

{
"deviceId": "123",
"status": "active"
}