<< Clic para mostrar Tabla de Contenidos >> Obtener Actividades |
Introducción
Este método web se utiliza para obtener actividades abiertas en Bizagi (desde una aplicación externa).
Las actividades abiertas en los procesos de Bizagi son aquellas actividades que se encuentran en estado pendiente (se encuentra en la bandeja de entrada).
Este método recibe una entrada única que tiene principalmente: detalle del proceso con filtros opcionales para obtener las Actividades que cumplen con los criterios de búsqueda.
A través de este método, se ven las Actividades pendientes que se listan en el Portal de Trabajo.
Para más información acerca de esta opción en el Portal, consulte Portal de Trabajo de Bizagi.
•En el método getActivities, los XMLs de petición y de respuesta son de tipo XmlDocument nativo de .NET.
•En el método getActivitiesAsString se maneja la misma estructura XML pero los parámetros son enviados como un tipo cadena de texto medio de CDATA.
Datos de entrada
Esquema de entrada
La estructura del XML que se envia a Bizagi debe ser cumplir con este XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="BizAgiWSParam">
<xs:complexType>
<xs:sequence>
<xs:element name="domain" type="xs:string" minOccurs="0"/>
<xs:element name="userName" type="xs:string" minOccurs="0"/>
<xs:element name="radNumber" type="xs:string" minOccurs="0"/>
<xs:element name="applicationName" type="xs:string" minOccurs="0"/>
<xs:element name="categoryName" type="xs:string" minOccurs="0"/>
<xs:element name="ProcessName" type="xs:string" minOccurs="0"/>
<xs:element name="idCase" type="xs:integer" minOccurs="0"/>
<xs:element name="subProcessDepth" type="xs:integer" minOccurs="0"/>
<xs:element name="creationDate" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="From" type="xs:dateTime" minOccurs="0"/>
<xs:element name="To" type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="expirationDate" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="From" type="xs:dateTime" minOccurs="0"/>
<xs:element name="To" type="xs:dateTime" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Parámetros de entrada
•BizAgiWSParam: Nodo raíz. Aquí se incluyen todos los filtros posibles. Estos filtros son opcionales. Si se utiliza más de un criterio, el resultado debería traer únicamente las actividades que cumplen con todas las condiciones.
•domain: Busca las actividades cuyo usuario asignado pertenezca a este dominio.
•userName: Busca las actividades cuyo usuario asignado sea el indicado en este elemento.
•radNumber: Actividades que pertenezcan a este número de creación (número de caso).
•applicationName: Actividades que pertenezcan a esta aplicación (ingrese el nombre y no el nombre a mostrar).
•categoryName: Todas las actividades abiertas de esta categoría (ingrese el nombre y no el nombre a mostrar).
•processName: Obtiene las actividades de este proceso (ingrese el nombre y no el nombre a mostrar).
•idCase: Actividades que pertenecen a este idCase (número de identificación del caso). Desde la versión 11.2.2, tanto subProcessDepth como este parámetro son obligatorios para traer las actividades de los subprocesos del caso.
•subprocessDepth: Este no es un parámetro de búsqueda sino un indicador de la profundidad del subproceso que se debe considerar.
Se utiliza cuando hay una tarea de tipo subproceso dentro del proceso del cual se obtienen las tareas, para poder obtener información de actividades en los subprocesos que puedan existir en un caso (sin embargo, no se tienen en cuenta subprocesos de tipo Stand alone).
Por defecto, esta consulta retorna un nivel de profundidad, es decir, el resultado contendrá las actividades de los subprocesos relacionados al proceso del caso actual; pero no las actividades pertenecientes al subproceso o subprocesos dentro de este subproceso. Se puede ingresar cualquier valor entero, pero es importante tener presente que para profundidades más grandes, el tiempo de respuesta puede aumentar, por lo cual se recomienda ingresar un número pequeño.
•creationDate: Se refiere a la fecha a partir de la cual una actividad se encuentra disponible (cuando se habilita la actividad para un caso).
•expirationDate: Fecha tentativa en la cual una actividad expirará (de acuerdo a la configuración de duración).
•From: Será utilizado como un sub-nodo ya sea de la fecha de creación o de la fecha de expiración; permite que se pueda ingresar un rango de fechas. Esta será la fecha inicial para la búsqueda (la más antigua).
•To: Será utilizado como un sub-nodo ya sea de la fecha de creación o de la fecha de expiración; permite que se pueda ingresar un rango de fechas. Esta será la fecha final para la búsqueda (la más reciente).
Ejemplo de entrada
Con el siguiente ejemplo, se consultan aquellas Actividades que:
1. Se activaron (empezaron a estar pendientes) desde el rango: Mayo 17 a las 4 pm hasta Mayo 21 a las 4 pm.
2. Están actualmente asignadas al usuario admon de Bizagi.
Sugerimos que use Cómo iniciar Procesos en Bizagi desde otras aplicaciones como una guía para invocar este servicio.
Entrada del método GetActivities
<BizAgiWSParam>
<userName>admon</userName>
<creationDate>
<From>2012-05-17T16:00:00</From>
<To>2012-05-21T16:00:00</To>
</creationDate>
</BizAgiWSParam>
Entrada del método GetActivitiesAsString
<activityFilters>
<![CDATA[<BizAgiWSParam>
<userName>admon</userName>
<creationDate>
<From>2012-05-17T16:00:00</From>
<To>2012-05-21T16:00:00</To>
</creationDate>
</BizAgiWSParam>]]>
</activityFilters>
Datos de salida
Esquema de salida
La estructura del XML que se retorna en Bizagi cumple con este XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="workItems">
<xs:complexType>
<xs:sequence>
<xs:element name="workItem" type="workItemType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="workItemType">
<xs:sequence>
<xs:element name="workItemId" type="xs:integer"/>
<xs:element name="workItemState" type="xs:string"/>
<xs:element name="workItemEntryDate" type="xs:dateTime"/>
<xs:element name="workItemDuration" type="xs:integer"/>
<xs:element name="workItemSubProcesses">
<xs:complexType>
<xs:sequence>
<xs:element name="workItems" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="workItem" type="workItemType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="workItemEstimatedSolutionDate" type="xs:dateTime"/>
<xs:element name="workItemSolutionDate" type="xs:dateTime"/>
<xs:element name="task">
<xs:complexType>
<xs:sequence>
<xs:element name="taskId" type="xs:integer"/>
<xs:element name="taskName" type="xs:string"/>
<xs:element name="taskDisplayName" type="xs:string"/>
<xs:element name="taskDescription" type="xs:string"/>
<xs:element name="taskHelpText" type="xs:string"/>
<xs:element name="HelpURL" type="xs:string"/>
<xs:element name="taskEstimatedDuration" type="xs:integer"/>
<xs:element name="taskType" type="xs:string"/>
<xs:element name="taskCost" type="xs:integer"/>
<xs:element name="taskPriority" type="xs:string"/>
<xs:element name="taskTransactional" type="xs:boolean"/>
<xs:element name="taskCompensation" type="xs:boolean"/>
<xs:element name="taskTimerEventDuration" type="xs:integer"/>
<xs:element name="AllowsReassign" type="xs:boolean"/>
<xs:element name="SendNotification" type="xs:boolean"/>
<xs:element name="SendAlarms" type="xs:boolean"/>
<xs:element name="ExtendedEstimatedDuration" type="xs:integer"/>
<xs:element name="Form" type="xs:integer"/>
<xs:element name="IsAsynchTask" type="xs:boolean"/>
<xs:element name="NumberOfRetries" type="xs:integer"/>
<xs:element name="RetryInterval" type="xs:integer"/>
<xs:element name="ShowFeedback" type="xs:boolean"/>
<xs:element name="TimeoutSeconds" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Process">
<xs:complexType>
<xs:sequence>
<xs:element name="ProcessId" type="xs:integer"/>
<xs:element name="ProcessRadNumber" type="xs:integer"/>
<xs:element name="ProcessCreationDate" type="xs:dateTime"/>
<xs:element name="ProcessSolutionDate" type="xs:dateTime"/>
<xs:element name="ProcessWorkflowClass">
<xs:complexType>
<xs:sequence>
<xs:element name="workflowClassId" type="xs:integer"/>
<xs:element name="workflowClassName" type="xs:string"/>
<xs:element name="workflowClassDisplayName" type="xs:string"/>
<xs:element name="workflowClassDescription" type="xs:string"/>
<xs:element name="workflowClassHelpText" type="xs:string"/>
<xs:element name="workflowClassHelpURL" type="xs:string"/>
<xs:element name="workflowClassDisplayOrder" type="xs:integer"/>
<xs:element name="workflowClassCreationDate" type="xs:dateTime"/>
<xs:element name="workflowClassGlobalForm" type="xs:integer"/>
<xs:element name="workflowClassAllocationPrinciple" type="xs:string"/>
<xs:element name="workflowClassProcessType" type="xs:string"/>
<xs:element name="workflowClassDisplay" type="xs:boolean"/>
<xs:element name="workflowClassUseParentRadicationNumber" type="xs:boolean"/>
<xs:element name="workflowClassSupportsScopes" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ProcessError">
<xs:complexType>
<xs:sequence>
<xs:element name="errorCode" type="xs:string"/>
<xs:element name="errorMessage" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
Parámetros de salida
•workItems: Nodo raíz, contiene un nodo "workItem" para cada actividad incluida en la respuesta.
•workItem: Es una actividad especial (una instancia de una tarea) del proceso que se encuentra activa para el caso.
•workItemId: Número de identificación o llave de la actividad.
•workItemState: Estado actual de la actividad.
•workItemEntryDate: Fecha y hora en la que se llega a la actividad por primera vez.
•workItemDuration: Es la duración estimada, en minutos, para esta actividad.
•workItemSubprocesses: Si la actividad es de tipo subproceso, en este nodo encontrará información de las actividades del subproceso. Tiene un nodo hijo llamado "workItems" de manera que desde este punto la estructura la misma incluyendo un nodo "workItem" para cada actividad que cumple con los criterios de búsqueda dentro del subproceso.
•workItemEstimatedSolutionDate: Es la fecha estimada de solución de la actividad.
•workItemSolutionDate: Es la fecha en la cual se completó la actividad.
•task: Contiene información sobre la tarea correspondiente a la actividad.
•taskId: Número de identificación o llave de la tarea.
•taskName: Nombre de la tarea.
•taskDisplayName: Nombre a mostrar de la tarea.
•taskDescription: Texto descriptivo de la actividad.
•taskHelpText: Texto de ayuda de la actividad.
•HelpUrl: URL con información de la actividad.
•taskEstimatedDuration: Es la duración estimada, en minutos, para la tarea.
•taskType: Tipo de tarea.
•taskCost: Costo estimado de la tarea. Este valor, al igual que es de las fechas estimadas, es configurado y determinado por la persona que diseña el proceso.
•taskPriority: Prioridad de cumplimiento de la tarea.
•taskTransactional: Indica si la tarea es transaccional.
•taskCompensation: Indica si es una tarea de compensación.
•taskTimerEventDuration: Si es una tarea de temporizador, contendrá su duración en minutos.
•AllowsReassign: Una marca que muestra si esta tarea puede ser resignada a otro usuario.
•SendNotification: Indica si se debe enviar un correo electrónico a un usuario informando sobre la disponibilidad de la tarea.
•SendAlarms: Indica si se debe enviar un correo electrónico al usuario asignado informándole que la tarea tiene riesgo de vencerse.
•ExtendedEstimatedDuration: Duración de tiempo extendida.
•Form: Reservada para uso futuro.
•IsAsynchTask: Especifica si esta es una tarea asíncrona. Utilizada normalmente para interfaces.
•NumberOfRetries: Aplica para tareas asincrónicas. Corresponde al número de intentos automáticos de una tarea. En caso de error se arroja una excepción.
•RetryInterval: Aplica para tareas asincrónicas. es el tiempo (en minutos) entre cada reintento.
•ShowFeedback: Aplica para tareas asincrónicas. Indica si se le informará a usuario cuando se presente un error.
•TimeoutSeconds: Aplica para tareas asincrónicas. Tiempo (en segundos) que debe esperar la tarea asincrónica por una respuesta del sistema externo.
•process: Tiene información sobre el proceso al cual pertenece la actividad.
•processId: Número de identificación del caso (idCase).
•processCreationDate: Fecha de creación del caso.
•processSolutionDate: Fecha de solución del caso.
•processWorkflowClass: Toda la información de este nodo es información del proceso (metadata) y no información del caso en particular
•workflowClassId: Número de identificación (o llave) del proceso.
•workflowClassName: Nombre del proceso.
•workflowClassDisplayName: Nombre a mostrar del proceso.
•workflowClassDescription: Descripción del proceso.
•workflowClassHelpText: Texto de ayuda del proceso.
•workflowClassHelpURL: URL de ayuda del proceso.
•workflowClassDisplayOrder: Orden en el cual aparecerá el proceso en la aplicación web.
•workflowClassCreationDate: Fecha de creación del proceso.
•workflowClassGlobalForm: Número de identificación de la forma global del proceso (cero si no está configurada).
•workflowClassAllocationPrinciple: Reservado para uso futuro.
•workflowClassProcessType: Tipo de proceso.
•workflowClassDisplay: Indica si el proceso es visible o no.
•workflowClassUseParentRadicationNumber: Indica si un caso de este proceso utiliza su propio número de creación o si es el mismo número que el del proceso padre (si es un subproceso).
•workflowClassSupportScopes: Indica si el proceso soporta los "scopes" de Bizagi, los cuales son un método eficiente de persistencia de datos.
•processError: Contiene información de los errores presentados durante el procesamiento de este método.
•errorCode: Código del error, si es que se presentó alguno.
•errorMessage: Mensaje de error, si es que se presentó alguno.
Ejemplo de salida
Con el siguiente ejemplo, se ilustra la respuesta que retorna la invocación de este método en Bizagi.
Salida del método GetActivities
Salida del método GetActivitiesAsString
Métodos Web relacionados
Si desea obtener una lista de Eventos disponibles del Proceso, use el método getEventsAsString o el getEvents.
Para más información sobre esta opción, consulte Obtener Eventos.
Una vez que obtenga la lista de Actividades pendientes, puede optar por completar dichas Actividades desde la aplicación externa.
Para ello, utilice los métodos performActivityAsString o performActivity.
Para más información sobre esta opción, consulte Realizar Actividad.
Last Updated 1/28/2022 4:02:07 PM