Pular para o conteúdo principal

Nó http in

O nó http in cria endpoints HTTP que processam requisições HTTP recebidas (GET, POST, PUT e outras). Ele é o ponto de entrada para a interação com sistemas externos via HTTP.

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


Configurações do nó http in​

Janela "Node Information" do nó "http in": método "POST", com o caminho /get-payment-link no campo "Link"

1. Name​

Nome do nó.
O nome aparece na área de trabalho e ajuda a identificar o nó.
Se você deixar o campo vazio, o nó se chamará http in.

Exemplo:

  • Nome do nó: get payment link

2. Method​

Método HTTP que o nó processa. As opções disponíveis são:

  • GET: obter dados.
  • POST: enviar dados.
  • PUT: atualizar dados.
  • DELETE: excluir dados.
  • PATCH: atualizar dados parcialmente.
  • OPTIONS: solicitar metainformações sobre a API.

Caminho (endpoint) em que o nó processa as requisições.

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

Exemplo:

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

4. Protected​

Caixa de seleção que protege o endpoint. Vem marcada por padrão.

5. Output Example (JSON)​

Exemplo, em formato JSON, dos dados que o nó passa adiante no fluxo.
Com base nesse exemplo, é montado o esquema de dados do próximo nó: os campos aparecem no bloco Input Schema dele. Se o campo estiver vazio ou contiver um JSON inválido, o esquema não é passado adiante.


Formato da mensagem de entrada​

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

  • msg.req: objeto da requisição HTTP, com 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 (nos métodos POST, PUT e PATCH).
  • msg.res: objeto para controlar a resposta HTTP. Normalmente é passado ao nó http response, que envia a resposta ao cliente.


Exemplos de uso​

Exemplo 1: processar uma requisição GET​

Cenário: retornar dados de temperatura.

Configurações do nó:

  • Method: 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á esta resposta JSON:

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

Exemplo 2: processar uma requisição POST​

Cenário: receber e salvar dados enviados por um dispositivo.

Configurações do nó:

  • Method: POST
  • Link: /data

Fluxo:

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

Código do nó function:

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

Resultado: o nó recebe os dados do corpo da requisição POST e retorna uma resposta de confirmação.


Exemplo 3: usar parâmetros de rota​

Cenário: obter dados pelo identificador do dispositivo.

Configurações do nó:

  • Method: 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"
}