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 de 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ê deseja lidar com a autenticação:

  • Solicitação HTTP (core.action.http) - Configure o método, o URL, os cabeçalhos, o corpo e a autenticação em linha. Use-a para qualquer ponto de extremidade REST externo em que você mesmo gerencie credenciais, por exemplo, um cabeçalho de chave de API ou um token de portador. Esse é 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 essa conexão cuide da autenticação em vez de configurá-la em linha. Use-a quando quiser centralizar o gerenciamento de credenciais em um serviço que você conectou por meio do Integration Service.

Referência de configuração​

CampoRequiredPadrãoDescription
ModeSimManualComo você configura a solicitação. 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 compatíveis são GET, POST, PUT, PATCH e DELETE.
URLSimNenhumURL completo para enviar a solicitação, incluindo o esquema https://. Você pode usar expressões de variável, por exemplo, https://api.example.com/users/$vars.userId.
CabeçalhosNãoNenhumPares de chave-valor enviados como cabeçalhos de solicitações HTTP. Os nomes e valores de cabeçalho oferecem suporte a expressões de variáveis.
Parâmetros de ConsultaNãoNenhumPares de chave-valor anexados ao URL como uma string de consulta. Nomes e valores oferecem suporte a expressões de variáveis.
Tipo de ConteúdoNãoapplication/jsonTipo MIME (Multipurpose Internet Mail Extensions) do corpo da solicitação. Os valores compatíveis são application/json, application/xml, text/plain e application/x-www-form-urlencoded.
CorpoNãoVazioCorpo da solicitação para solicitações POST, PUT e PATCH. Insira o valor diretamente no editor de código ou use expressões de variável.
GalhosNãoApenas saída padrãoVocê pode usar ramificações de resposta para rotear o processo com base em propriedades de resposta. Cada ramificação tem um nome e expressão de condição.
Tempo limiteNãoPT15MTempo máximo para esperar uma resposta, no formato de duração 8601 da Organização Internacional de Normalização (ISO).
Número de novas tentativasNão0Número de vezes para tentar novamente a solicitação se ela falhar. TeAs NovasTentativas usam o valor do tempo limite como o intervalo de espera.

O editor sugere nomes de cabeçalho comuns, como AuthorizationContent-Type, Accept, X-Api-Key e outros. Para parâmetros de consulta adicionar 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 tiver correspondências, o processo seguirá 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, junto com o identificador padrão.

Valores de tempo limite comuns:

  • 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 credenciais diretamente nos cabeçalhos de solicitação. Para a autenticação de chave de API, adicione um cabeçalho com nome X-Api-Key e valor definido para sua chave. Para a 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 pré-configurada do Integration Service no painel de propriedades. A conexão injeta credenciais na solicitação automaticamente, para que você não precise gerenciar os cabeçalhos por conta própria.

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

Observação:

Configure os conectores do Integration Service no UiPath Automation Cloud Portal. Consulte a documentação do Integration Service para obter instruções de configuração.

Exemplos​

Exemplo 1 -- Solicitação GET básica​

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

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

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

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 analisado
  • $vars.httpRequest1.output.statusCode - o código de status HTTP, por exemplo, 200
  • $vars.httpRequest1.output.headers - um objeto que contém 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, a URL definida como https://api.example.com/orders, um cabeçalho Authorization com 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ê conectou 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 -- Roteie 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 Método HTTP definido como GET, URL definida 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:

  • Success - conecta-se a nós que processam os dados do usuário
  • Não Localizado - conecta-se a nós que identificam o caso de usuário ausente
  • Padrão - conecta-se a um caminho de fallback para qualquer outro código de status

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

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 em vez de um nó de integração​

Use o nó de Solicitação HTTP 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 Solicitação HTTP quando...Use um nó de integração quando...
A API não tem conector dedicado na paleta de nósExiste um conector para o serviço, como Slack, Salesforce ou HubSpot
Você precisa de controle completo sobre os cabeçalhos, parâmetros de consulta e formato do corpoVocê quer entradas e saídas tipadas pré-criadas sem configuração manual
Você está criando um protótipo para 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 falhe se a API alterar seu contrato

Regra geral: Pesquisar primeiro um conector na paleta de nós. Volte 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