HTTP
Visão Geral
O componente HTTP realiza chamadas por meio do protocolo HTTP utilizando os métodos GET, POST, PUT, PATCH e DELETE.
Configuração
Aqui estão os parâmetros gerais para a configuração do componente. Todos os parâmetros de campos de texto aceitam o uso de variáveis. Parâmetros que suportam expressões de template estão marcados com (Tmpl)
.
O uso de variáveis em parâmetros de campos de texto é feito utilizando a expressão {{var.nome_da_variavel}}
. Para saber mais sobre o uso de variáveis na criação de integrações, acesse a seção Canvas de integrações.
Alguns parâmetros suportam expressões de template para utilização de valores dinâmicos. Para saber mais sobre o funcionamento dessa linguagem e como utilizar expressões de template para referenciar dados para valores dinâmicos, acesse a seção Go Template de integrações.
Parâmetros
- ID do Componente: Obrigatório. Identificador do componente no fluxo de integração.
Os IDs são únicos por fluxo. Não é possível ter mais de um componente com o mesmo ID.
O ID do Componente não pode conter espaços, deve iniciar com número e pode conter apenas letras sem acentos, números e o caractere _
.
- Nome: Rótulo opcional para identificar o componente visualmente no canvas.
- Método: Obrigatório. Método utilizado para realizar a requisição HTTP. Opções: GET, POST, PUT, PATCH, DELETE
- Payload: Corpo enviado na chamada http. O valor desde campo precisa obrigatoriamente ser a saída de algum componente já executado no fluxo, no formato
id_do_componenteOut
. Ex: buildPayloadOut - URL (Tmpl): Obrigatório. URL completa que será chamada. É possível misturar templates e variáveis. Ex:
{{var.URL}}/{{.inputBody.URLDestino}}
- Headers (Tmpl): Opcional. Headers que serão enviados na requisição HTTP. Aceita um json com chave e valores. Ex:
{"Authorization": "Bearer xxxxxxxxx", "MessageId": "xxxxxx"}
- Ignorar validação SSL: Obrigatório. Quando habilitado, o client aceitará qualquer certificado do servidor.
- Formato de retorno: Obrigatório. Opções: JSON, XML
- Converter retorno: Obrigatório. Quando selecionado "Sim", o Dhuo armazenará o body de retorno da API em um objeto que será acessível em outros componentes (Ex: ). Quado selecionado "Não", o Dhuo armazenará o body de retorno da API em formato String não acessível em outros componentes.
- Timeout de requisiç ão: Obrigatório. Define o tempo limite da chamada à API.
- Configurar Arquivo SSL/TLS: Opcional. Permite informar os arquivos para conexão SSL/TLS.
- Certificado: Selecione na lista o certificado que deseja que seja usado na chamada https.
- Chave pública: Selecione na lista a chave pública que deseja que seja usada na chamada https.
- Propagar Trace ID: Quando habilitado, propaga o trace id no header da chamada HTTP para melhorar a observabilidade. Necessário habilitar a observabilidade no cluster.
Saída
Após a execução do componente, uma estrutura chave-valor será gerada com os dados de saída. Os dados podem ser acessados pelo contexto de execução em outros componentes em etapas posteriores do fluxo a partir da sintaxe .id_do_componenteOut.atributo_da_estrutura
, onde:
- id_do_componente: valor configurado do parâmetro
ID do Componente
- Out: sufixo padrão obrigatório
- atributo_da_estrutura: atributo retornado na estrutura chave-valor de saída da execução do componente
Caso ocorra algum erro durante a execução do componente, a estrutura chave-valor de saída não é gerada.
Aqui estão os atributos gerais da estrutura de saída do componente:
- header: Na estrutura "header" conterá todos os campos que a API retornou no header do HTTP. Também dentro do header haverá o campo "httpStatus" com o http code retornado, em formato string.
- body: Na estrutura "body" conterá toda a estrutura JSON/XML retornada no body do HTTP. O formato de retorno do conteúdo dependerá de como foi configurado o campo "Converter retorno":
- caso seja Sim, o retorno será convertido em JSON e seus campos serão acessíveis na estrutura chave-valor de saída do componente
- caso seja Não, o retorno será armazenado como um texto (string) dentro do campo
body
Exemplo - Converter retorno = Sim:
// ID do Componente: httpStep
{
"httpStepOut": {
"header": {
"httpStatus": "200"
},
"body": {
"tag": "valor"
}
}
}
Exemplo - Converter retorno = Não:
// ID do Componente: httpStep
{
"httpStepOut": {
"header": {
"httpStatus": "200"
},
"body": "{\"tag\": \"valor\"}"
}
}