- Primeros pasos
- Autenticación
- Definición de Swagger
- API de Orchestrator
- Solicitudes de alertas
- Solicitudes de activos
- Solicitudes de calendario
- Solicitudes de entornos
- Solicitudes de carpetas
- Solicitudes de tareas genéricas
- Solicitudes de trabajos
- Solicitudes de bibliotecas
- Solicitudes de licencia
- Solicitudes de paquetes
- Solicitudes de permisos
- Solicitudes de espacios de trabajo personales
- Solicitudes de procesos
- Solicitudes de elementos en cola
- Solicitudes de política de retención de cola
- Solicitudes de robots
- Solicitudes de roles
- Solicitudes de horarios
- Solicitudes de configuración
- Solicitudes de cubos de almacenamiento
- Solicitudes de tareas
- Solicitudes de catálogos de tareas
- Solicitudes de formularios de tareas
- Solicitudes de tenants
- Solicitudes de transacciones
- Solicitudes de usuario
- Solicitudes de Webhooks
- API de gestión de plataformas

Guía de la API de Orchestrator
Crear solicitudes de API
Todas las llamadas a la API de Orchestrator se realizan utilizando métodos HTTP a la URL de Orchestrator. La URL de Orchestrator tiene la siguiente sintaxis: https://{yourDomain}. Recomendamos cifrar los datos que envíes a través de llamadas API usando el protocolo HTTPS.
Para acceder a los recursos de una carpeta, cada solicitud debe contener FolderId, FolderPath o FolderKey en un encabezado HTTP. Este encabezado puede estar codificado (utilizando la codificación Base64 UTF-16LE) o texto sin formato. Por ejemplo:
X-UIPATH-OrganizationUnitId "FolderId":X-UIPATH-FolderPath-Encoded "{Encoded FolderPath value}":X-UIPATH-FolderPath "PlainText FolderPath value"oX-UIPATH-FolderKey "FolderKey"ElFolderIdpuede obtenerse realizando una solicitud GET al punto final/odata/Foldersy copiando el valor "Id", o desde la URL de Orchestrator -https://your-domain-server.com/?fid=2032&tid=8.FolderIdes de tipo Int 64. ElFolderKeypuede obtenerse realizando una solicitud GET al punto final/odata/Foldersy copiando el valor "Clave".FolderKeyes de tipo Identificación única/string. Si cambias el plan de licencias de tu cuenta de Orchestrator (por ejemplo, de Enterprise Trial a Enterprise), el valorFolderIdtambién cambia, mientras que el valorFolderKeysigue siendo el mismo. En un encabezadoX-UIPATH-FolderPath-Encodedse admiten rutas de carpeta relativas, de la siguiente manera:/rootRuta a partir de : se inicia desde la carpeta de arbol de la que forma parte la carpeta de entorno..La ruta con : se inicia desde la carpeta de entorno.- La ruta a partir de
..: inicia en un nivel superior de la jerarquía de la carpeta de entorno para cada..en la ruta (p. ej.../para un nivel superior,../../para dos niveles superiores en la jerarquía). Ten en cuenta que no se admiten las barras diagonales finales.
Cuando se utiliza la API de Orchestrator junto con MSXML, la respuesta "204 "Sin contenido puede generar un código de estado 1223 y provocar errores.
El parámetro @odata.count no se emite de forma predeterminada en los resultados de la API que se originan en las actividades del flujo de trabajo. Para incluirlo, debes añadir manualmente $count=true al punto final deseado.
Solicitudes OBTENER
Las solicitudes GET suelen ser las más simples de realizar. Le ayudan a recuperar datos y a usar cláusulas OData genéricas:
- $ top
- $filter
- $ expandir
- $ seleccionar
- $ pedido por
- $skip
$ top
Esta cláusula le ayuda a limitar la cantidad de datos que recupera. Tiene un límite superior que está determinado por el punto final al que está realizando llamadas y el número de recursos de este tipo que existen en sus instancias de Orchestrator.
Por ejemplo, esta solicitud https://{yourDomain}/odata/Environments?$top=10 devuelve los primeros 10 entornos disponibles en Community Edition de Orchestrator. Sin embargo, si solo existen 5 entornos, solo se recuperan.
$filter
Esta cláusula OData se utiliza para filtrar un recurso específico según sus propiedades.
Por ejemplo, se puede filtrar según:
- propiedades numéricas:
https://{yourDomain}/odata/Environments?$filter=Id%20eq%2015: solicita un entorno específico en función de su ID
- propiedades del texto:
https://{yourDomain}/odata/Environments?$filter=contains(Name,'N')&$top=10: devuelve los 10 primeros entornos cuyo nombre contiene la letra "N"
- propiedades Boolean:
https://{yourDomain}/odata/Processes?$filter=Title%20eq%20'test'%20%26%20IsLatestVersion%20eq%20true: devuelve todos los procesos que contienen la palabra "prueba" y representan la última versión
- propiedades enumerables:
https://{yourDomain}/odata/QueueItems?$filter=Priority%20eq%20'High': devuelve todos los artículos en cola con prioridad alta
- la propiedad de una propiedad:
https://{yourDomain}/odata/Jobs?$top=10$filter=Robot/MachineName%20eq%20'Documentation': devuelve los primeros 10 trabajos ejecutados por cualquier robot que exista en la máquina de "Documentación"
Los parámetros de filtro se pueden combinar utilizando operadores lógicos "y", "o" y/o "no" y se pueden agrupar con paréntesis "()", como la siguiente solicitud:
https://{yourDomain}/odata/Jobs?$top=10&$filter=Robot/MachineName eq 'LAVINIA-PC' and (not(Source eq 'Manual') or StartTime gt 2017-10-28T12:13:00.07Z): muestra los 10 principales trabajos que se están ejecutando manualmente o después del "2017-10-28T12: 13: 00.07Z", por un Robot implementado en la máquina "LAVINIA-PC".
Problema conocido
Consultas de filtro OData $que contienen una expresión que compara un objeto complejo anidado con null no funcionan.Por ejemplo, utilizar la expresión Release ne null devuelve un error, porque Release es un objeto complejo que incluye sus propias propiedades anidadas.
En tales casos, recomendamos reemplazar el objeto complejo por un objeto simple.
Ejemplos:
- Puedes reemplazar
Release ne nullporReleaseName ne null, ya queReleaseNamees un objeto simple existente.Nota:No se puede reemplazar
Machine ne nullporMachineName ne null, ya queMachineNameno existe. - Puedes utilizar una propiedad anidada en el objeto complejo para la comparación. Por ejemplo,
Release/Name ne nullpuede reemplazarRelease ne null, yMachine/Name ne nullpuede reemplazarMachine ne null.
$ expandir
Esta cláusula se utiliza para cargar completamente las propiedades de navegación del recurso solicitado.
$ seleccionar
Esta cláusula OData te permite especificar un subconjunto de propiedades del recurso que deseas que se devuelvan. Si quieres extraer varios recursos, puedes separarlos con una coma.
$ pedido por
La cláusula $orderby te permite ordenar los recursos recuperados. Al igual que con la cláusula $select , los recursos que deseas ordenar están separados por comas y se pueden ordenar en orden ascendente (asc) o descendente (desc). Si no se especifica ninguno de estos operadores, los recursos se ordenan automáticamente de manera ascendente.
$skip
Esta cláusula le permite omitir los primeros n elementos, en un filtro indicado.
Solicitudes POST
El verbo POST HTTP le ayuda a crear nuevos elementos subordinados a otros recursos. Al crear un nuevo recurso, PUBLICAR en el elemento principal y Orchestrator se encargará de asociar el nuevo recurso con el elemento principal, asignar una ID y otra información necesaria. Los datos se agregan a través del cuerpo de la solicitud y la respuesta es el objeto creado completo.
Puede agregar nuevos elementos a una cola, crear nuevos activos, entornos o procesos, asignar un revisor a una o varias transacciones fallidas y la lista continúa.
No se pueden escapar los caracteres especiales en el cuerpo de las solicitudes POST. Para utilizar caracteres especiales, primero debes declarar el parámetro en el que los utilizas como cadena, utilizando el siguiente formato "Parameter@odata.type": "#String". Para comprender mejor, consulta cómo se completó el parámetro Specific Content en el ejemplo a continuación.
Solicitudes PUT
PUT suele ser necesario cuando se quiere actualizar el contenido de un recurso. En general, las solicitudes se realizan a una entidad específica añadiendo su Id en la URL. Ten en cuenta que una llamada PUT reemplaza la entidad existente con el contenido de la solicitud o, si no existe en la ubicación designada, intenta crearla.
Es posible actualizar colas, entornos, unidades de organización, comentarios sobre transacciones, procesos y detalles de otros recursos.
Solicitudes PATCH
PATCH se utiliza para actualizar el contenido de una entidad existente, especificando la entidad deseada añadiendo su Id en la URL. El cuerpo de la solicitud contiene solo los contenidos que quieres cambiar. Esto se distingue de una llamada PUT que reemplaza la entidad actual con el contenido de la solicitud posterior.
Es posible utilizar una solicitud de PATCH para actualizar Máquinas, Procesos, Robots, Tenants, Usuarios (excepto la Unidad de Organización y los Roles) y las entidades de Webhooks.
Solicitudes ELIMINAR
El uso de este verbo HTTP te permite marcar un elemento especificado como eliminado en la base de datos. El recurso generalmente se indica con la ayuda de su ID en la URL a la que realiza la llamada. Una respuesta 209 debe informarle que su solicitud se ha realizado correctamente.
Es posible eliminar activos, entornos, comentarios de elementos de la cola, procesos, roles, tenants, usuarios y muchos otros.