Obtener Eventos

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automatización de Procesos con poco código > Studio Cloud -ambiente de autoría > Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Servicios alternos SOAP > Servicios web SOAP disponibles > Métodos Web de WorkflowEngineSOA >

Obtener Eventos

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.

 

En el método getEvents, los XMLs de petición y de respuesta son de tipo XmlDocument nativo de .NET.

En el método getEventsAsString se maneja la misma estructura XML pero los parámetros son enviados como un tipo cadena de texto por 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="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 de entrada

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

Sugerimos que use Cómo iniciar Procesos en Bizagi desde otras aplicaciones como una guía para invocar este servicio.

 

Entrada del método GetEvents

<BizAgiWSParam>

<radNumber>351</radNumber>

</BizAgiWSParam>

 

Entrada del método GetEventsAsString

<actFilters>
  <![CDATA[<BizAgiWSParam>
  <radNumber>351</radNumber>
  </BizAgiWSParam>]]>
</actFilters>

 

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 minutos , para la tarea.

taskType: Tipo de tarea.

taskCost: Costo estimado de la tarea. Este valor, como el de la fecha estimada, se configura 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 correo electrónico a un usuario informándole que la tarea se encuentra disponible.

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

ExtendedEstimatedDuration: Tiempo estimado de duración extendida.

Form: Reservado para uso futuro.

IsAsynchTask: Especifica si se trata de una tarea 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 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 GetEvents

 

GetEvents_Image004

 

Salida del método GetEventsAsString

 

getEventsAsString_01

 

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 Obtener Actividad.

 

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 Establecer Evento.


Last Updated 1/28/2022 4:02:23 PM