- Introdução
- Introdução
- Criação com o Maestro BPMN
- Entendendo a modelagem BPMN do Maestro
- Abertura da tela de modelagem
- Modelagem de seu processo
- Alinhamento e conexão de elementos BPMN
- Autopilot para Maestro (visualização)
- Repositório de processos
- Implementação de um processo BPMN simples
- Implementação de um processo BPMN complexo
- Depuração
- Simulação
- Evaluations (Preview)
- Cenários de implementação comuns
- Criação com o Maestro Case
- Introdução ao Maestro Case
- Maestro BPMN versus Maestro Case: quando usar o Case Management
- O ciclo de vida do Maestro Case: do disparo de eventos à experiência do aplicativo
- Crie seu primeiro caso com o Maestro Case
- Build a Maestro Case with a coding agent (preview)
- Definição de chaves de caso (sistema versus externo)
- Estabelecimento de contratos de E/S e de write-back
- Regras de saída e término do estágio inicial
- Modelagem de estágios primário e secundário
- Disparo de um caso a partir do Data Fabric
- Implementação de personas e permissões no nível de estágio
- Configuração de SLAs e regras de escalonamento automatizadas
- Configuração de um loop de retrabalho (reentrada)
- Configuring and testing the Case Manager Agent (preview)
- Contrato de entrada e saída do Case Manager
- Dicionário de componentes Maestro Case
- Criação com o Maestro Flow
- Maestro Automate
- Integrações
- Operando
- Monitoramento
- Otimizando
- Informações de referência
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
| Campo | Required | Padrão | Description |
|---|---|---|---|
| Mode | Sim | Manual | Como 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 cURL | Não | Nenhum | Analisa 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 HTTP | Sim | GET | Método HTTP para a solicitação. Os valores compatíveis são GET, POST, PUT, PATCH e DELETE. |
| URL | Sim | Nenhum | URL 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çalhos | Não | Nenhum | Pares 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 Consulta | Não | Nenhum | Pares 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údo | Não | application/json | Tipo 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. |
| Corpo | Não | Vazio | Corpo 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. |
| Galhos | Não | Apenas saída padrão | Você 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 limite | Não | PT15M | Tempo máximo para esperar uma resposta, no formato de duração 8601 da Organização Internacional de Normalização (ISO). |
| Número de novas tentativas | Não | 0 | Nú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 segundosPT5M- 5 minutosPT15M- 15 minutosPT1H- 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.
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:
codemessagedetailcategorystatus
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ós | Existe 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 corpo | Você 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 interno | Você 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ão | Você 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.
Páginas relacionadas
- Nó de Script - transforme e processe os dados de resposta HTTP
- Nó de Decisão - ramificação baseada em condições, como uma alternativa às ramificações de resposta
- Variáveis e fluxo de dados -
$vars, sintaxe de expressão e escopo de variáveis
- O que faz
- Dois nós HTTP
- Referência de configuração
- Credenciais
- Autenticação manual
- Conector do Integration Service
- Exemplos
- Exemplo 1 -- Solicitação GET básica
- Exemplo 2 -- Solicitação POST com um corpo JSON
- Exemplo 3 -- Roteie respostas com ramificações
- Quando usar isso em vez de um nó de integração
- Páginas relacionadas