- Introdução
- Criar
- Adicione um agente de IA a um fluxo de trabalho
- Chamar uma API externa
- Processar e-mails de entrada
- Crie um fluxo de trabalho de notificação do Slack
- Adicione aprovação humana a um fluxo de trabalho
- Crie um fluxo de trabalho de agente de chat
- Tratar erros
- Noções básicas de depuração
- Intervenção humana: escalonamento ou etapa humana
- Avaliando seus fluxos de trabalho
- Implantar e executar
- Exemplos
- Referência
HTTP Request
O nó HTTP Request envia uma solicitação para um endereço da Web, com sua configuração, autenticação e ramificação de resposta.
O que faz
Envia uma solicitação HTTP para uma URL e disponibiliza a resposta para os nós depois dela.
Opções de autenticação
Um nó de solicitação HTTP abrange ambas as formas de autenticação, que você escolhe no campo Autenticação :
- Autenticação manual: o método, URL, cabeçalhos, corpo e credenciais são configurados em linha. Ajusta-se a qualquer ponto de extremidade de Transferência de estado representativo (REST) onde as credenciais são gerenciadas no nó, por exemplo, um cabeçalho de chave de API ou um token de portador.
- Autenticação baseada em conector: a solicitação passa por uma conexão, então a conexão lida com a autenticação e as credenciais não são configuradas no nó. Ajusta o gerenciamento de credenciais centralizado em um serviço que está conectado por meio do Integration Service.
Referência de configuração
| Campo | Required | Padrão | Description |
|---|---|---|---|
| Importação ou exportação | Não | Nenhum | Um menu acima dos campos. Importar do cURL analisa um comando cURL e preenche o método, URL, cabeçalhos e corpo automaticamente. |
| Autenticação | Sim | Autenticação manual | Como a solicitação é autenticada. A autenticação manual passa as credenciais nos cabeçalhos de solicitação. A autenticação baseada em conector envia a solicitação por meio de uma conexão, conforme descrito abaixo. |
| Método | 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 o qual enviar a solicitação, incluindo o esquema https:// . Em um campo Valor fixo , um valor é inserido com chaves duplas, 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. |
| Guia de ramificação | Não | Apenas saída padrão | Ramificações de resposta que roteiam o fluxo de trabalho com base em propriedades de resposta. Cada ramificação tem um nome e uma expressão de condição. |
| Tempo limite (guia Avançado ) | Não | PT15M | Tempo máximo para esperar uma resposta, no formato de duração 8601 da Organização Internacional de Normalização (ISO). |
| Contagem de novas tentativas (guia Avançado ) | 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. |
Autenticação Baseada em Conector
Quando a Autenticação é Autenticação baseada em conector, o painel mostra esses campos em vez dos manuais:
| Campo | Required | Description |
|---|---|---|
| Conector | Sim | O conector pelo qual enviar a solicitação, por exemplo, Slack. |
| Conexão (nomeada após o conector, por exemplo, conexão do Slack) | Sim | A conexão a ser usada. |
| Método | Sim | O método HTTP para a solicitação. |
| URL base | Não | O URL de base do conector, mostrado como um espaço reservado como https://slack.com/api. |
| Path | Não | O caminho do ponto de extremidade para a solicitação da API REST. |
| Cabeçalhos | Não | Pares de chave-valor, até 20. O conector adiciona seus próprios cabeçalhos Authorization, Accept e Content-Type automaticamente. |
| Parâmetros de Consulta | Não | Pares de chave-valor, até 20. |
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 corresponder, o fluxo de trabalho 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.code === 200
$vars.httpRequest1.output.code === 200
$vars.httpRequest1.output.code >= 400
$vars.httpRequest1.output.code >= 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:
PT30Ssegundos.- :
PT5Mminutos. PT15Mminutos.PT1Hhora.
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.
Autenticação Baseada em Conector
Selecione uma conexão 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.
Uma conexão se encaixa no gerenciamento de credenciais centralizado, atualização automática de tokens e casos em que vários fluxos de trabalho compartilham as mesmas credenciais de API.
Create a connection describes how to create one.
Exemplos
Exemplo 1: solicitação GET básica
Obtenha um único recurso de uma API pública.
O nó é configurado com Método definido como GET e 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 subsequente:
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
return {
title: body.title,
userId: body.userId,
status: status
};
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
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.$vars.httpRequest1.output.code: o código de status HTTP, por exemplo,200.$vars.httpRequest1.output.headers: um objeto contendo os cabeçalhos de resposta.
Exemplo 2: solicitação POST com corpo JSON
Crie um novo recurso enviando uma carga do JSON.
O nó é configurado com Método definido como POST, URL definida como https://api.example.com/orders, um cabeçalho Authorization com o valor Bearer {{ $vars.apiToken }} e 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: rotear respostas com ramificações
As ramificações de resposta permitem que o fluxo de trabalho siga caminhos diferentes com base na resposta da API sem um nó de decisão separado.
O nó é configurado com Método definido como GET, URL definida como https://api.example.com/users/{{ $vars.userId }} e duas ramificações na guia Ramificação : Success com condição $vars.httpRequest1.output.code === 200 e Not Found com condição $vars.httpRequest1.output.code === 404.
O nó agora tem três identificadores de saída na tela:
- Sucesso: conecta-se aos nós que processam os dados do usuário.
- Não encontrado: conecta-se aos nós que lidam com o 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 };
Escolhendo entre Solicitação HTTP e 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 um conector dedicado no painel Adicionar nó | A connector exists for the service, such as Slack, Salesforce, or HubSpot CRM |
| 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 | Deseja que uma conexão processe o login e a atualização do token |
| A API usa um esquema de autenticação não padrão | Você quer um fluxo de trabalho fácil de manter que não será interrompido se a API alterar seu contrato |
Como regra, pesquisar primeiro o painel Adicionar nó por um conector é a melhor ordem, com a Solicitação HTTP como o fallback quando não existir nada para o serviço de destino.
Próximas Etapas
- Nó de script: transformando e processando dados de resposta HTTP.
- Nó de decisão: ramificação 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. - Comunidade: faça perguntas e compartilhe fluxos de trabalho com outros construtores no Fórum da UiPath.
- O que faz
- Opções de autenticação
- Referência de configuração
- Autenticação Baseada em Conector
- Credenciais
- Autenticação manual
- Autenticação Baseada em Conector
- Exemplos
- Exemplo 1: solicitação GET básica
- Exemplo 2: solicitação POST com corpo JSON
- Exemplo 3: rotear respostas com ramificações
- Escolhendo entre Solicitação HTTP e um nó de integração
- Próximas Etapas