getActivitiesAsString

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Servicios web disponibles > Métodos Web de WorkflowEngineSOA >

getActivitiesAsString

Introducción

Este método se utiliza para obtener un listado de Actividades pendientes de Bizagi (aquellas en el Inbox) desde una aplicación externa.

 

Este método recibe un único parámetro de entrada el cual contiene principalmente: el detalle sobre el Proceso y posibles filtros.

 

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.

 

note_pin

La descripción en este artículo aplica también para el método Web getActivities, el cual está disponible en la edición Bizagi .NET.

Para el método getActivities, el XML que se maneja en la solicitud (request) y en la respuesta (response) son del tipo XmlDocument (nativa de .NET).

Para el método getActivitiesAsString la misma estructura de XMLs se maneja, sin embargo este parámetro es de tipo cadena (string).

 

Este método requiere que el caso (p.e, el caso padre cuando se tienen sub procesos) explícitamente tenga actividades pendientes en el Inbox.

 

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).

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 bpusqueda (la más reciente).

 

 

Ejemplo

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.

 

<?xml version="1.0" encoding="utf-8"?>

<BizAgiWSParam>

 <userName>admon</userName>

 <creationDate>

 <From>2012-05-17T16:00:00</From>

 <To>2012-05-21T16:00:00</To>

 </creationDate>

</BizAgiWSParam>

 

 

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 incluída 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 infromació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 email a un usuario informando sobre la disponibilidad de la tarea.

SendAlarms: Indica si se debe enviar un email 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 identifiacació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 apareceerá 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

Con el siguiente ejemplo, se ilustra la respuesta que retorna la invocación de este método en Bizagi.

 

getActivities_Image004

 

 

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 getEventsAsString.

 

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 performActivityAsString.