Conectores
Core

HTTP

19min

Objetivo/Resumo

O conector HTTP é responsável por estabelecer uma conexão entre o cliente e o servidor, enviar solicitações HTTP e receber respostas HTTP. O conector também permite o usuário gerenciar a autenticação e segurança durante a comunicação.Criando um fluxo utilizando Conector HTTP

Para criar um fluxo utilizando um conector de HTTP, dependendo do caso precisaremos criar uma conexão, e configurar a parametrização do fluxo

Nota: não necessariamente precisamos de uma conexão, isso vai depender do servidor que deseja enviar a solicitação.

Criando conexão HTTP

OBS: Clique aqui e acesse nosso passo a passo para saber como criar uma conexão.

Estes são os seguintes parâmetros de configuração da conexão HTTP que serão requisitados na hora da criação:

  • Nome: parâmetro padrão em qualquer criação de uma conexão, te ajudará a identificar melhor sua conexão.
  • Descrição: parâmetro padrão e opcional em qualquer criação de uma conexão, aqui você pode relatar detalhadamente para que fins servirá sua conexão.
  • Autenticação HTTP: parâmetro usado para referenciar como será a autenticação ao servidor. Nele temos três tipos:
    • Basic: o cliente envia um cabeçalho de autenticação com seu nome de usuário e senha.
    • Bearer Token: o cliente usa tokens de acesso para autenticar solicitações.
    • API Key: o cliente envia um código alfanumérico exclusivo (API Key) que identifica o aplicativo e o autoriza a acessar a API. Aqui temos duas opções de envio, via URL ou no Cabeçalho

Importante: para setar os valores de qualquer autenticação temos duas opções: Recuperar Valor do cache/requisição - onde o usuário por exemplo precise fazer uma requisição para obter um Bearer Token, aqui será preciso informar o caminho onde o valor se encontra. Usar valor fixo/template - onde o usuário pode passar um valor fixo.

Configuração Detalhada

  • Requisição: caso o usuário precise fazer uma requisição para obter um valor de autenticação, e informa-lo em uma das opções do campo Autenticação HTTP.
    • Verbo: métodos HTTP a serem suportados pelo endpoint POST, PUT, GET, PATCH, DELETE
    • Corpo: body da requisição.
    • Cabeçalho: headers a serem enviados para o endpoint.
    • URL: URL contendo o endpoint onde será solicitado a requisição.
  • Cache: o cache armazena uma resposta associada a uma solicitação e reutiliza a resposta armazenada para solicitações subsequentes.
    • Expiração: indica ao navegador por quanto tempo ele poderá manter a resposta em cache antes de solicitar uma nova.
    • Caminho dos valores: usado para informar os caminhos dos valores a serem armazenados.

Configurando fluxo HTTP

Crie um fluxo e arraste o conector HTTP para o canvas.

OBS: Clique aqui e acesse nosso passo a passo para saber como criar um fluxo.

Selecione o conector e na aba de Parametrização e preencha os seguintes parâmetros de configuração:

  • Verbo: métodos HTTP a serem suportados pelo endpoint POST, PUT, GET, PATCH, DELETE
  • URL: URL contendo o endpoint onde será solicitado a requisição.
  • Corpo: body da requisição, podendo ser passado através de um De/Para ou Template.
  • Cabeçalho: headers a serem enviados para o endpoint.

Nota: Estes campos podem ser preenchidos usando Fluid Expression Language.

Na aba Propriedades selecione a conexão desejada, dê um nome ao passo e se necessário detalhe uma descrição.

Na prática

Neste tópico será aplicado exemplos de implementações com intuito de mostrar o conector HTTP na prática. Será criado dois fluxos com cenários diferentes que vai do básico até o avançado.

Cenário 1

GET em uma API pública (https://random-data-api.com/api/v2/user) cuja endpoint de acesso retornará dados aleatórios de usuários. Neste caso não será preciso criar uma conexão pois a API não necessita de autenticação. Para obter detalhes sobre como criar um fluxo clique em @saiba mais

Assim ficou as configurações na aba Parametrização:

Document image


Já na aba Propriedades só foi informado o nome do passo pois não será preciso uma conexão para esta requisição HTTP:

Document image


Resultado

Não foi necessário nenhum dado de entrada para execução desse fluxo. Então após seu disparo teremos as seguintes informações:



log canvas




detalhe canvas


Fluxo de mensagens

Entrada:

Text


Saída:

JSON




Cenário 2

GET em uma API privada (https://customer.cooruja.app/v1/customer) cuja endpoint de acesso retornará dados do usuário logado. Para isso será necessário criar uma conexão para autenticar.

Conexão

OBS: Clique aqui e acesse nosso passo a passo para saber como criar uma conexão.

Na tela de criação da conexão após selecionado o conector HTTP e informar um nome, selecione o tipo de Autenticação. Neste cenário a api requer uma autenticação via Bearer Token, após selecionado, temos duas maneiras de informar o valor;

Usar valor fixo/template - onde o usuário ja possui o token (recomendado para token que não possui expiração).

Recuperar valor do cache/requisição - onde o usuário precisa fazer uma requisição antes para recuperar o valor, nesse caso o token.

Para esse cenário será preciso acessar o endpoint de login da api para recuperarmos o valor do token (https://customer.cooruja.app/v1/user/auth) e assim usarmos ele para autenticar nossa busca dos dados do cliente. Então em Configurações Avançadas > Requisição selecione a opção Usar requisição e preencha os campos com os seguintes valores:



Document image


A API requer que enviemos um cabeçalho informando o Content-Type:



Document image


Em seguida iremos usar a opção Cache para armazenar nosso valor e poder reutilizado em outras possíveis solicitações. Então em Configurações Avançadas > Cache selecione a opção Usar Cache e preencha os campos com os seguintes valores:



Document image


A Expiração indica ao navegador por quanto tempo ele porderá manter a resposta em cache antes de solicitar uma nova. Neste caso estamos passando um valor fixo (passado em segundos) pois a API não nos retorna o tempo de expiração do token, caso retornasse poderia ser usado a opção Recuperar valor do cache/requisição e informar o caminho onde se encontra esse valor.

Em Caminho dos valores será informado o caminho onde se encontra o valor do token na resposta da requisição para seu armazenamento, se consultarmos no Postman veremos onde se encontra esse valor:



Document image


O token está no campo access_token, logo o caminho onde ele se encontra será body.access_token.



Document image


Haja vista que temos uma requisição para buscar o token de autenticação e sabemos o caminho onde o valor esta armazenado, basta informar esse caminho em Autenticação HTTP > Bearer Token > Recuperar Valor do cache/requisição:



Document image


Visão geral da conexão para este cenário:



Document image


Fluxo

Com a conexão pronta agora é só criar e configurar o fluxo. Para obter detalhes sobre como criar um fluxo clique em @saiba mais.

Assim ficou a configuração na aba Parametrização:



Document image


Já em Propriedades:



Document image

Document image


Resultado

Não foi necessário nenhum dado de entrada para execução desse fluxo. Então após seu disparo teremos as seguintes informações:



log canvas




detalhe canvas


Fluxo de mensagens

Entrada:

Text


Saída:

JSON


Configurar Opções Avançadas

Selecione se deseja configurar opções mais avançadas para a sua requisição. Essas configurações são úteis para casos específicos, como depuração ou testes, mas requerem um conhecimento avançado da plataforma ou sobre requisições HTTP.

Modo Debug

  • Título: Modo Debug (não usar em produção)
  • Tipo: Booleano
  • Descrição: Habilite o modo Debug se precisar fornecer mais informações para a Fluid depurar algum problema. Este modo fornece logs detalhados sobre a requisição e a resposta.

Nota importante: Não deve ser usado em ambientes de produção devido à quantidade de informações sensíveis que podem ser registradas e a quantidade de logs gerados.

Ignorar Validação de Segurança

  • Título: Ignorar validação de segurança (não usar em produção)
  • Tipo: Booleano
  • Descrição: Ao habilitar esta opção, a requisição aceitará qualquer certificado SSL/TLS apresentado pelo servidor, ignorando a validação de segurança. Isso pode ser útil para testar conexões com servidores que usam certificados autoassinados.

Advertência: Não deve ser usado em ambientes de produção. Esta opção reduz a segurança da sua conexão e não deve ser usada em ambientes de produção.

Importância e Uso

Estas configurações avançadas são essenciais para cenários de teste e depuração, mas devem ser usadas com cautela. É crucial não ativá-las em ambientes de produção para evitar riscos de segurança e garantir o funcionamento adequado de suas integrações.

Ao configurar seu conector HTTP, considere cuidadosamente se estas opções avançadas são necessárias para o seu caso específico e esteja ciente dos riscos envolvidos ao ativá-las.





Updated 18 Dec 2023
Doc contributor
Doc contributor
Doc contributor
Did this page help you?