Pular para o conteúdo principal

Node http in

O nó http in é usado para criar endpoints HTTP que podem lidar com solicitações HTTP recebidas (GET, POST, PUT e outras). Este nó serve como o ponto de entrada para interagir com sistemas externos via o protocolo HTTP.

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


Configurações para o nó http in

IMG2

1. Nome

Um campo para especificar o nome do nó.
O nome é exibido no espaço de trabalho e ajuda a identificar facilmente o nó.
Se deixado em branco, o nó será chamado de http in.

Exemplo:

  • Nome do nó: obter link de pagamento

2. Método

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

  • GET: Usado para recuperar dados.
  • POST: Usado para enviar dados.
  • PUT: Usado para atualizar dados.
  • DELETE: Usado para deletar dados.
  • PATCH: Usado para atualizar dados parcialmente.
  • OPTIONS: Usado para solicitações para obter metadados sobre a API.

Especifica o caminho (endpoint) para lidar com solicitações.

  • O caminho começa com /.
  • Pode incluir parâmetros de rota, por exemplo: /data/:id.

Exemplo:

  • Link: /obter-link-de-pagamento
  • Link com parâmetro: /obter-link-de-pagamento/:orderId

Formato da mensagem recebida

Quando uma solicitação é recebida no caminho especificado com o método selecionado, o nó http in cria uma mensagem msg com as seguintes propriedades:

  • msg.req: Contém o objeto de solicitaçã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 da solicitação GET.
    • msg.req.body: O corpo da solicitação (para métodos POST, PUT e PATCH).
  • msg.res: Um objeto para gerenciar a resposta HTTP. Geralmente é passado para o nó http response para enviar uma resposta de volta ao cliente.


Exemplo de uso

Exemplo 1: Lidando com uma solicitação GET

Cenário: Retornando dados de temperatura.

Configurações do nó:

  • Método: GET
  • Link: /temperatura

Fluxo:

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

Código para o nó function:

msg.payload = { temperatura: 22.5, unidade: "Celsius" };
return msg;

Resultado: O cliente que envia uma solicitação GET para /api/admin/workflows/endpoints/temperatura receberá uma resposta JSON:

{
"temperatura": 22.5,
"unidade": "Celsius"
}

Exemplo 2: Lidando com uma solicitação POST

Cenário: Recebendo e salvando dados de um dispositivo.

Configurações do nó:

  • Método: POST
  • Link: /dados

Fluxo:

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

Código para o nó function:

// Lendo dados do corpo da solicitação
const dados = msg.req.body;
msg.payload = { status: "sucesso", dadosRecebidos: dados };
return msg;

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


Exemplo 3: Usando parâmetros de rota

Cenário: Recuperando dados pelo ID do dispositivo.

Configurações do nó:

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

Fluxo:

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

Código para o nó function:

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

Resultado:

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