getEventsAsString

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

getEventsAsString

Introducción

Este método se se utiliza para obtener un listado de los Eventos disponibles en Bizagi (desde una aplicación externa).

Los Eventos disponibles son aquellos Eventos (de tipo BPMN) que sean de tipo Intermedio sin sub-tipo especial, los cuales estén activos y en espera de la posibilidad de que sean disparados.

 

IntermediateEvent_SOA

 

Este método recibe un único parámetro de entrada el cual contiene principalmente: el identificador del caso (instancia de Proceso) u otros criterios de filtro.

 

A través de este método, se obtienen los Eventos que están como pendientes para ejecución, así como se despliegan al estar disponibles 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 getEvents, el cual está disponible en la edición Bizagi .NET.

Para el método getEvents, 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 getEventsAsString la misma estructura de XMLs se maneja, sin embargo este parámetro es de tipo cadena (string).

 

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="processName" type="xs:string" minOccurs="0"/>

                         <xs:element name="idCase" type="xs:integer" minOccurs="0"/>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

Parámetros de entrada

BizAgiWSParam: Nodo raíz. En este nodo se deben incluir todos los filtros necesarios. Estos filtros son opcionales. Si se utiliza mas de un criterio de búsqueda, el resultado serían únicamente las actividades que cumplan con todas las condiciones.

domain: Eventos de búsqueda cuyo usuario asignado pertenezca a este dominio.

userName: Eventos de búsqueda cuyo usuario asignado es el que se encuentra indicado en este elemento.

radNumber: Eventos que pertenecen a este número de creación (número de caso).

processName: Obtiene los eventos de este proceso (ingrese el nombre, no el nombre a mostrar).

 

 

Ejemplo

Con el siguiente ejemplo, se obtiene la lista de eventos activos para el caso con identificador = 351.

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

<BizAgiWSParam>

 <radNumber>351</radNumber>

</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="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:sequence>

 </xs:complexType>

</xs:schema>

 

 

Parámetros de salida

workItems: Nodo raíz de la respuesta; contienen un nodo "workItem" para cada evento incluído en el resultado.

workItem: Evento específico (instancia de una tarea) del proceso que se encuentra activo para el caso.

workItemId: Número de identificación o llave de la tarea.

workItemState: Estado en el que se encuentra la tarea.

workItemEntryDate: Fecha y hora cuando se ingresa a la tarea por primera vez.

workItemDuration: Duración estimada, en minutos, para la tarea.

workItemEstimatedSolutionDate: Es la fecha estimada de solución para el caso.

workItemSolutionDate: Fecha en la cual se completó la tarea.

task: Contiene información sobre la tarea que corresponde a este evento.

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

taskHelpText: Texto de ayuda de la tarea.

HelpUrl: URL con información de la actividad.

taskEstimatedDuration: Duración estimada, en miniutos , para la tarea.

taskType: Tipo de tarea.

taskCost: Costo estimado de la tarea. Este valor, como el de la fecha estimada, se confiigura y determina 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 se trata de un temporizador, este contendrá la duración en minutos.

AllowsReassign: Una marca que muestra si la tarea puede ser asignada a un usuario diferente.

SendNotification: Indica si se debe enviar un email a un usuario informándole que la tarea se encuentra disponible.

SendAlarms: Indica si se debe enviar un email al usuario asignado informándole que la tarea se encuentra próxima a vencerse.

ExtendedEstimatedDuration: Tiempo estimado de duración extendida.

Form: Resevado para uso futuro.

IsAsynchTask: Especifica si se trata de una trea asincrónica. Usualmente utilizado para interfaces.

NumberOfRetries: Aplica para tareas asincrónicas. Es el número de reintentos automáticos para una tarea en caso de falla o 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 informará al usuario cuando se presente un error.

TimeoutSeconds: Aplica para tareas asincrónicas. Tiempo (en segundos) que la tarea asincrónica esperará por una respuesta del sistema externo.

 

 

Ejemplo

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

 

GetEvents_Image004

 

 

Métodos Web relacionados

Para obtener un listado de Actividades pendientes de un caso en particular, use los métodos getActivitiesAsString o getActivities.

Para más información sobre esta opción, consulte getActivityAsString.

 

Una vez que obtenga los Eventos disponibles, puede optar por ejecutarlos y actualizar la información de negocio.

Para ello, use los métodos setEventAsString o setEvent.

Para más información sobre esta opción, consulte setEventAsString.