- Introdução
- Definição do Swagger
- APIs do Orchestrator
- Solicitações de alertas
- Solicitações de tarefas de aplicativo
- Solicitações de ativos
- Solicitações de calendários
- Solicitações de ambientes
- Solicitações de pastas
- Solicitações de tarefas genéricas
- Solicitações de trabalhos
- Solicitações de bibliotecas
- Solicitações de licenças
- Solicitações de pacotes
- Solicitações de permissões
- Solicitações de espaços de trabalho pessoais
- Solicitações de processos
- Processar solicitações de política de retenção de dados
- Solicitações de itens de fila
- Solicitações da política de retenção de filas
- Solicitações de robôs
- Solicitações de funções
- Solicitações de agendamentos
- Solicitações de configurações
- Solicitações de bucket de armazenamento
- Solicitações de tarefas
- Solicitações de catálogos de tarefas
- Solicitações de formulários de tarefas
- Solicitações de tenants
- Solicitações de Transações
- Solicitações de usuários
- Solicitações de webhooks

Guia da API do Orchestrator
Criação de solicitações de API
Todas as chamadas de API do Orchestrator são feitas usando métodos HTTP para a URL do Orchestrator. A URL do Orchestrator tem a seguinte sintaxe: {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_. Recomenda-se criptografar os dados que você envia por meio de chamadas de APIs, usando o protocolo HTTPS.
Para acessar recursos em uma pasta, cada solicitação deve conter tanto o FolderId, FolderPath ou FolderKey em um cabeçalho HTTP. Esse cabeçalho pode ser codificado (usando codificação Base64 UTF-16LE) ou texto simples. Por exemplo:
X-UIPATH-OrganizationUnitId "FolderId",X-UIPATH-FolderPath-Encoded "{Encoded FolderPath value}",X-UIPATH-FolderPath "PlainText FolderPath value", ouX-UIPATH-FolderKey "FolderKey". TheFolderIdcan be obtained by performing a GET request to the/odata/Foldersendpoint and copying the "Id" value, or from the Orchestrator URL -https://your-domain-server.com/?fid=2032&tid=8.FolderIdis of type Int 64. TheFolderKeycan be obtained by performing a GET request to the/odata/Foldersendpoint and copying the "Key" value.FolderKeyis of type Unique Id/String. If you change the licensing plan for your Orchestrator account (for example, from Enterprise Trial to Enterprise), theFolderIdvalue also changes, whereas theFolderKeyvalue remains the same. Relative folder paths are supported in anX-UIPATH-FolderPath-Encodedheader, as follows:- Caminho que começa com
/- começa na pastarootda árvore da qual a pasta Ambiente faz parte. - Caminho que começa com
.- começa na pasta Ambiente. - Caminho começa com
..- começa um nível acima na hierarquia da pasta Ambiente para cada..no caminho (por exemplo,../para um nível acima,../../para dois níveis acima na hierarquia). Observe que barras ao final não são aceitas.
Ao usar a API do Orchestrator em conjunto com o MSXML, a resposta 204 Sem conteúdo pode resultar em um Código de status 1223 e causar erros.
The @odata.count parameter is not output by default in API results originating from workflow activities and API integrations outside of processes. To include it, you must manually add $count=true to the desired endpoint.
Solicitações GET
As solicitações GET geralmente são as mais simples de serem feitas. Eles ajudam você a recuperar dados e usar cláusulas OData genéricas:
- $topo
- $filter
- $expandir
- $selecionar
- $orderby
- $skip
$topo
Esta cláusula ajuda a limitar a quantidade de dados recuperados. Ele tem um limite máximo que é determinado pelo terminal para o qual você está fazendo chamadas e o número desses recursos existentes em suas instâncias do orquestrador.
Por exemplo, esta solicitação {AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Environments?$top=10 retorna os 10 primeiros ambientes disponíveis no Community Edition do Orchestrator. No entanto, se existirem apenas 5 ambientes, apenas esses serão recuperados.
$filter
Esta cláusula OData é usada para filtrar um recurso específico de acordo com suas propriedades.
Por exemplo, pode-se filtrar de acordo com:
- propriedades numéricas:
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Environments?$filter=Id%20eq%2015- requests a specific environment based on its Id
- Propriedades do texto:
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Environments?$filter=contains(Name,'N')&$top=10- returns the first 10 environments whose name contains the letter "N"
- propriedades booleanas:
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Processes?$filter=Title%20eq%20'test'%20%26%20IsLatestVersion%20eq%20true- returns all processes that contain the word "test" and represent the latest version
- propriedades enumeráveis:
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/QueueItems?$filter=Priority%20eq%20'High'- returns all queue items that have a High priority
- a propriedade de uma propriedade:
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Jobs?$top=10$filter=Robot/MachineName%20eq%20'Documentation'- returns the first 10 jobs that were executed by any Robot that exists on the "Documentation" machine
Os parâmetros de filtro podem ser combinados usando operadores lógicos "and", "or" e/ou "and/or". Além disso, podem ser agrupados com parênteses "()", como na seguinte solicitação:
{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/odata/Jobs?$top=10&$filter=Robot/MachineName eq 'LAVINIA-PC' and (not(Source eq 'Manual') or StartTime gt 2017-10-28T12:13:00.07Z)- exibe os 10 principais trabalhos que estão sendo executados manualmente ou após "2017-10-28T12:13:00.07Z", por um robô implantado na máquina "LAVINIA-PC".
Problema conhecido
Consultas do OData $filter que contêm uma expressão que compara um objeto complexo aninhado a null não funcionam.Por exemplo, o uso da expressão Release ne null retorna um erro, porque Release é um objeto complexo que inclui suas próprias propriedades aninhadas.
Nesses casos, recomendamos substituir o objeto complexo por um objeto simples.
Exemplos:
- Você pode substituir
Release ne nullporReleaseName ne null, poisReleaseNameé um objeto simples existente.Observação:Você não pode substituir
Machine ne nullporMachineName ne null, poisMachineNamenão existe. - Você pode usar uma propriedade aninhada no objeto complexo para comparação. Por exemplo,
Release/Name ne nullpode substituirRelease ne null, eMachine/Name ne nullpode substituirMachine ne null.
$expandir
Esta cláusula é usada para carregar totalmente as propriedades de navegação do recurso solicitado.
$selecionar
Essa cláusula OData permite que você especifique um subconjunto de propriedades de recurso que deseja retornar. Se você deseja extrair vários recursos, pode separá-los usando uma vírgula.
$orderby
A cláusula $orderby permite que você classifique os recursos recuperados. Assim como na cláusula $select , os recursos que você deseja classificar são separados por vírgulas e podem ser classificados em ordem crescente (asc) ou decrescente (desc). Se nenhum desses operadores for especificado, os recursos serão classificados automaticamente em ordem crescente.
$skip
Esta cláusula permite pular o primeiro n número de itens, em um filtro indicado.
Solicitações POST
O verbo POST HTTP ajuda você a criar novos itens, subordinados a outros recursos. Ao criar um novo recurso, faça um POST para o pai e o Orchestrator se encarrega de associar o novo recurso ao pai, atribuindo um ID e outras informações necessárias. Os dados são adicionados através do corpo da requisição, e a resposta é todo o objeto criado.
Você pode adicionar novos itens a uma fila, criar novos ativos, ambientes ou processos, atribuir um revisor a uma ou várias transações com falha e a lista continua.
Caracteres especiais não podem ser escapados no corpo de solicitações POST. Para usar caracteres especiais, você precisa primeiro declarar como string o parâmetro em que eles são usados, utilizando o seguinte formato "Parameter@odata.type": "#String". Para entender melhor, consulte como o parâmetro Specific Content foi preenchido no exemplo abaixo.
Solicitações PUT
PUT geralmente é necessário quando você deseja atualizar o conteúdo de um recurso. Em geral, as solicitações são feitas para uma entidade específica adicionando seu Id na URL. Observe que uma chamada PUT substitui a entidade existente pelo conteúdo da solicitação ou, se não existir nenhuma no local designado, tenta criá-la.
É possível atualizar filas, ambientes, unidades de organização, comentários sobre transações, detalhes de processos e outros recursos.
Solicitações PATCH
O PATCH é usado para atualizar o conteúdo de uma entidade existente, com a entidade desejada especificada adicionando Id ao URL. O corpo da solicitação contém apenas o conteúdo que você deseja alterar. Isso é diferente de uma chamada PUT que substitui a entidade atual pelo conteúdo da solicitação subsequente.
É possível usar uma solicitação PATCH para atualizar as entidades Máquinas, Processos, Robôs, Locatários, Usuários (exceto Unidade Organizacional e Funções) e Webhooks.
Solicitações DELETE
O uso desse verbo HTTP permite marcar um item especificado como excluído no banco de dados. O recurso geralmente é indicado com a ajuda de seu Id na URL para a qual você faz a chamada. Uma resposta 204 deve informar que sua solicitação foi bem-sucedida.
É possível excluir ativos, ambientes, comentários de itens de fila, processos, funções, inquilinos, usuários e muitos outros.