HTTP
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.
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.
- 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.
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.
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.
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:
Já na aba Propriedades só foi informado o nome do passo pois não será preciso uma conexão para esta requisição HTTP:
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:
Fluxo de mensagens
Entrada:
Saída:
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:
A API requer que enviemos um cabeçalho informando o Content-Type:
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:
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:
O token está no campo access_token, logo o caminho onde ele se encontra será body.access_token.
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:
Visão geral da conexão para este cenário:
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:
Já em Propriedades:
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:
Fluxo de mensagens
Entrada:
Saída:
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.
- 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.
- 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.
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.