UiPath Documentation
maestro
latest
false
Guia do usuário do Maestro
Importante :
A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

HTTP Request

Configuração do nó de solicitação HTTP, autenticação e padrões de ramificação de resposta.

O que faz

Envia uma solicitação HTTP para um URL e disponibiliza a resposta para nós subsequentes.

Dois nós HTTP

O fluxo oferece dois nós HTTP. Escolha com base em como você quer lidar com a autenticação:

  • Solicitação HTTP (core.action.http) - Configure o método, URL, cabeçalhos, corpo e autenticação em linha. Use-a para qualquer ponto de extremidade REST externo onde você gerencia as credenciais, por exemplo, um cabeçalho de chave de API ou um token de portador. Este é o nó documentado nesta página.
  • Solicitação HTTP gerenciada (core.action.http.v2) - faz a solicitação por meio de uma conexão gerenciada do Integration Service, para que a autenticação seja tratada por essa conexão em vez de configurada em linha. Use-o quando quiser o gerenciamento de credenciais centralizado em um serviço que você conectou por meio do Integration Service.

Referência da configuração

CampoRequiredPadrãoDescription
ModeSimManualComo a solicitação é configurada. Selecione Manual para definir a solicitação você mesmo ou Definição de API para importar a configuração de uma especificação do OpenAPI ou Swagger.
Importar do cURLNãoNenhumAnalisa um comando cURL e preenche o método, o URL, os cabeçalhos e o corpo automaticamente. Selecione o botão cURL na barra de ferramentas acima dos campos de configuração.
Método HTTPSimGETMétodo HTTP para a solicitação. Os valores aceitos são GET, POST, PUT, PATCH, e DELETE.
URLSimNenhumURL completo para o qual enviar a solicitação, incluindo o esquema https:// . Suporta expressões de variáveis, por exemplo, https://api.example.com/users/$vars.userId.
CabeçalhosNãoNenhumPares de chave-valor enviados como cabeçalhos de solicitação HTTP. Os nomes e valores de cabeçalho suportam expressões de variáveis.
Parâmetros de ConsultaNãoNenhumPares de chave-valor anexados ao URL como uma string de consulta. Nomes e valores suportam expressões de variáveis.
Tipo de ConteúdoNãoapplication/jsonTipo de Internet Mail Extensions de propósito múltiplo (MIME) do corpo da solicitação. Os valores aceitos são application/json, application/xml, text/plain e application/x-www-form-urlencoded.
CorpoNãoVazioCorpo de solicitação para solicitações POST, PUT e PATCH . Insira o valor diretamente no editor de código ou use expressões de variáveis.
GalhosNãoSomente saída padrãoRamificações de resposta que roteiam o processo com base em propriedades de resposta. Cada ramificação tem um nome e uma expressão de condição.
Tempo limiteNãoPT15MTempo máximo para esperar por uma resposta, no formato de duração 8601 da Organization for Standardization (ISO).
Número de novas tentativasNão0Número de vezes para tentar novamente a solicitação se ela falhar. As novas tentativas usam o valor do tempo limite como o intervalo de espera.

O editor sugere nomes de cabeçalho comuns, como Authorization, Content-Type, Accept, X-Api-Key, e outros. Para parâmetros de consulta, a adição de um parâmetro com nome page e valor 2 envia a solicitação para https://api.example.com/items?page=2.

O nó avalia as condições da ramificação em ordem e segue a primeira correspondência. Se nenhuma ramificação corresponder, o processo segue a saída Padrão .

As expressões de condição de ramificação usam a mesma sintaxe JavaScript que os nós Decision e Switch:

$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode >= 400
$vars.httpRequest1.output.statusCode >= 400

Cada ramificação aparece como um identificador de saída separado no lado direito do nó na tela, ao lado do identificador padrão .

Valores comuns de tempo limite:

  • PT30S - 30 segundos
  • PT5M - 5 minutos
  • PT15M - 15 minutos
  • PT1H - 1 hora

Credenciais

Você pode autenticar solicitações de duas maneiras.

Autenticação manual

Passe as credenciais diretamente nos cabeçalhos de solicitação. Para autenticação de chave de API, adicione um cabeçalho com o nome X-Api-Key e o valor definidos para a sua chave. Para autenticação de token de portador, adicione um cabeçalho Authorization com um valor como Bearer <your-token>.

Armazene valores confidenciais, como tokens e chaves de API em variáveis secretas, em vez de codificá-las.

Conector do Integration Service

Selecione uma conexão do Integration Service pré-configurada no painel de propriedades. A conexão injeta credenciais na solicitação automaticamente, para que você não precise gerenciar cabeçalhos por conta própria.

Use um conector do Integration Service quando quiser gerenciamento de credenciais centralizado, atualização automática de tokens ou quando vários processos compartilham as mesmas credenciais de API.

Observação:

Os conectores do Integration Service são configurados no portal do UiPath Automation Cloud. Consulte a documentação do Integration Service para obter instruções de configuração.

Exemplos

Exemplo 1 — Solicitação GET básica

Busca um único recurso de uma API pública.

O nó é configurado com o Método HTTP definido como GET e o URL definido como https://jsonplaceholder.typicode.com/posts/1. Todos os outros campos permanecem em seus padrões.

A resposta está disponível em um nó de Script downstream:

const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

return {
  title: body.title,
  userId: body.userId,
  status: status
};
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

return {
  title: body.title,
  userId: body.userId,
  status: status
};

O objeto de resposta está disponível em $vars.httpRequest1.output e contém três campos:

  • $vars.httpRequest1.output.body o corpo da resposta analisada
  • - o código de status HTTP, por exemplo 200$vars.httpRequest1.output.statusCode
  • $vars.httpRequest1.output.headers um objeto contendo os cabeçalhos de resposta

Exemplo 2 — solicitação POST com um corpo JSON

Crie um novo recurso enviando uma carga do JSON.

O nó é configurado com o Método HTTP definido como POST, URL definida como https://api.example.com/orders, um cabeçalho Authorization com o valor Bearer $vars.apiToken e o Tipo de Conteúdo deixado como application/json. O corpo:

{
  "product": "Widget",
  "quantity": 5,
  "customer_id": "cust_12345"
}
{
  "product": "Widget",
  "quantity": 5,
  "customer_id": "cust_12345"
}

O ID do recurso criado está disponível em um nó subsequente:

const orderId = $vars.httpRequest1.output.body.id;
return { orderId: orderId };
const orderId = $vars.httpRequest1.output.body.id;
return { orderId: orderId };

Se a solicitação falhar e você tiver conectado um identificador de erro, os detalhes do erro estarão disponíveis em $vars.httpRequest1.error

// In a Script node connected to the error handle
const errorMessage = $vars.httpRequest1.error.message;
const errorStatus = $vars.httpRequest1.error.status;

return {
  failed: true,
  reason: errorMessage,
  httpStatus: errorStatus
};
// In a Script node connected to the error handle
const errorMessage = $vars.httpRequest1.error.message;
const errorStatus = $vars.httpRequest1.error.status;

return {
  failed: true,
  reason: errorMessage,
  httpStatus: errorStatus
};

O objeto de erro contém:

  • code
  • message
  • detail
  • category
  • status

Exemplo 3 -- Encaminhar respostas com ramificações

As ramificações de resposta permitem que o processo siga caminhos diferentes com base na resposta da API sem um nó de decisão separado.

O nó é configurado com o Método HTTP definido como GET, o URL definido como https://api.example.com/users/$vars.userId e duas ramificações na seção Ramificações : Success com condição $vars.httpRequest1.output.statusCode === 200 e Not Found com condição $vars.httpRequest1.output.statusCode === 404.

O nó agora tem três identificadores de saída na tela:

  • Sucesso - conecta-se a nós que processam os dados do usuário
  • Não encontrado - conecta-se aos nós que lidam com o caso de usuário ausente
  • Padrão : conecta-se a um caminho de fallback para qualquer outro código de status

Cada caminho downstream recebe a resposta completa. Por exemplo, na ramificação Sucesso:

const user = $vars.httpRequest1.output.body;
return { name: user.name, email: user.email };
const user = $vars.httpRequest1.output.body;
return { name: user.name, email: user.email };

Quando usar isso versus um nó de integração

Use o nó HTTP Request como uma ferramenta de uso geral para chamar qualquer API. Use um nó de integração dedicado quando existir um para o serviço que você está chamando.

Use a Solicitação HTTP quando...Use um nó de integração quando...
A API não tem um conector dedicado na paleta de nósExiste um conector para o serviço, como Slack, Salesforce ou HubSpot
Você precisa de controle total sobre cabeçalhos, parâmetros de consulta e formato do corpoVocê quer entradas e saídas digitadas pré-construídas sem configuração manual
Você está criando um protótipo de uma nova API ou serviço internoVocê deseja autenticação automática e atualização de token por meio do Integration Service
A API usa um esquema de autenticação não padrãoVocê quer um processo de fácil manutenção que não será interrompido se a API alterar seu contrato

Regra geral: pesquise primeiro um conector na paleta de nós. Faça fallback para a solicitação HTTP apenas se não existir nada para seu serviço de destino.

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades