Asignar Actividades

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Servicios web SOAP > Servicios web SOAP disponibles > Métodos Web de WorkflowEngineSOA >

Asignar Actividades

Introducción

Este método se utiliza para reasignar las Actividades pendientes (Inbox) en Bizagi (desde una aplicación externa).

 

Este método recibe un único parámetro de entrada el cual contiene principalmente: filtros para la información del caso, y cuál usuario será reasignado a la Actividad.

Con esto, se cubre la tarea de reasignar de la misma manera como se presenta esta opción desde las opciones administrativas del 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 assignActivity, los XMLs de petición y de respuesta son de tipo XmlDocument nativo de .NET.

En el método assignActivityAsString 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:

 

<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="BizAgiWSParam">

     <xs:complexType>

        <xs:sequence>

           <xs:element name="CaseInfo">

              <xs:complexType>

                 <xs:sequence>

                    <xs:choice>

                       <xs:element name="AssignedByIdUser" type="xs:integer"/>

                       <xs:element name="AssignedByUserName" type="xs:string"/>

                    </xs:choice>

                    <xs:choice>

                       <xs:element name="IdUser" type="xs:integer"/>

                       <xs:element name="UserName" type="xs:string"/>

                    </xs:choice>

                    <xs:choice>

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

                       <xs:choice>

                          <xs:element name="IdCase" type="xs:integer"/>

                          <xs:element name="CaseNumber" type="xs:string"/>

                       </xs:choice>

                       <xs:choice>

                          <xs:element name="IdTask" type="xs:integer"/>

                          <xs:element name="TaskName" type="xs:string"/>

                       </xs:choice>

                    </xs:choice>

                 </xs:sequence>

              </xs:complexType>

           </xs:element>

        </xs:sequence>

     </xs:complexType>

  </xs:element>

</xs:schema>

 

 

Parámetros de entrada

BizAgiWSParam: Es el elemento "Nodo raíz". Es de carácter obligatorio.

 

CaseInfo: Es el elemento de carácter obligatorio que especifica la información requerida para la asignación de una actividad.

 

AssignedByIdUser: Es el elemento en donde se define el usuario en Bizagi que tiene actualmente asignada la actividad.

Se recomienda que dicho usuario asignado actual sea especificado en este XML. Sin embargo y si este elemento no está presente, se puede optar por incluir el elemento "AssignedByUserName".

Cuando ninguno de estos 2 elementos se especifica, la información por defecto para el usuario asignado actual se tomará como "domain\admon".

 

AssignedByUserName: Es el elemento en donde se define el usuario en Bizagi ( y su dominio) que tiene actualmente asignada la actividad.

El formato y valor esperado para este elemento debe incluír el dominio antepuesto por una barra invertida ("backslash").Por ejemplo: "domain\admon".

Se recomienda que dicho usuario asignado actual sea especificado en este XML. Sin embargo y si este elemento no está presente, se puede optar por incluir el elemento "AssignedByIdUser".

Cuando ninguno de estos 2 elementos se especifica, la información por defecto para el usuario asignado actual se tomará como "domain\admon".

 

IdCase: Es el elemento en donde se define el caso específico para el cual se desea reasignar una actividad.

Es obligatorio especificar información del caso. Si este elemento no está presente en el XML, entonces se debe optar por definir el elemento "CaseNumber".

 

CaseNumber: Es el elemento en donde se define el caso específico para el cual se desea reasignar una actividad.

Es obligatorio especificar información del caso. Si este elemento no está presente en el XML, entonces se debe optar por definir el elemento "IdCase".

 

IdTask: Es el elemento en donde se define la tarea específica para la cual se desea reasignar un usuario.

Es obligatorio especificar información de la tarea. Si este elemento no está presente en el XML (por ejemplo si se desconoce el id de la tarea), entonces se debe optar por definir el elemento "TaskName".

 

TaskName: Es el elemento en donde se define la tarea específica para la cual se desea reasignar un usuario.

Es obligatorio especificar información de la tarea. Si este elemento no está presente en el XML (por ejemplo si se desconoce el nombre de la tarea), entonces se debe optar por definir el elemento "IdTask".

 

IdWorkItem: Es el elemento en donde se define la identificación del registro de "workitem". Esto es, la instancia de la actividad del caso específico.

Su uso es opcional ya que esta definición especifica el caso y actividad a reasignar. Por lo tanto, su definición puede reemplazar la especificación incluída para el caso (IdCase o CaseNumber) y para la tarea (IdTask o TaskName).

Por ejemplo si el IdWorkItem se incluye en el XML, ninguno de los elementos: IdCase, CaseNumber, IdTask o TaskName será necesario.

 

IdUser: Es el elemento en donde se define el usuario de Bizagi el cual será reasignado a una tarea de un caso.

Es obligatorio especificar información sobre el usuario. Si este elemento no está presente en el XML, entonces se debe optar por definir el elemento "UserName".

 

UserName: Es el elemento en donde se define el usuario de Bizagi ( y su dominio) el cual será reasignado a una tarea de un caso.

El formato y valor esperado para este elemento debe incluír el dominio antepuesto por una barra invertida ("backslash").Por ejemplo: "domain\admon".

Es obligatorio especificar información sobre el usuario. Si este elemento no está presente en el XML, entonces se debe optar por definir el elemento "IdUser".

 

 

Ejemplo

Con el siguiente ejemplo, se reasigna el caso 2, en su Actividad EvaluateRequest al usuario domain\admon.

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

 

Método assignActivity

<BizAgiWSParam>

  <CaseInfo>

     <UserName>domain\admon</UserName>

     <IdCase>2</IdCase>

     <IdTask>EvaluateRequest</IdTask>

  </CaseInfo>

</BizAgiWSParam>

 

Método assignActivityAsString

<info>

 <![CDATA[<BizAgiWSParam>

    <CaseInfo>

           <UserName>domain\admon</UserName>

           <IdCase>2</IdCase>

           <IdTask>EvaluateRequest</IdTask>

    </CaseInfo>

 </BizAgiWSParam>]]>

</info>

 

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 attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

 <xs:element name="Process">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="ProcessId" type="xs:unsignedShort" />

                         <xs:element name="ProcessRadNumber" type="xs:unsignedShort" />

                         <xs:element name="savedMessage">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="Entities" type="xs:string" />

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                         <xs:element name="ProcessWorkflowClass">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="workflowClassId" type="xs:unsignedByte" />

                                                 <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="workflowClassDisplayOrder" type="xs:unsignedByte" />

                                                 <xs:element name="workflowClassCreationDate" type="xs:string" />

                                                 <xs:element name="workflowClassGlobalForm" type="xs:unsignedByte" />

                                                 <xs:element name="workflowClassAllocationPrinciple" type="xs:string" />

                                                 <xs:element name="workflowClassProcessType" type="xs:string" />

                                                 <xs:element name="workflowClassDisplay" type="xs:string" />

                                                 <xs:element name="workflowClassUseParentRadicationNumber" type="xs:string" />

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

                                                         <xs:complexType mixed="true">

                                                                 <xs:sequence minOccurs="0">

                                                                         <xs:element name="Entities">

                                                                                 <xs:complexType>

                                                                                         <xs:sequence>

                                                                                                 <xs:element name="Path" type="xs:string" />

                                                                                                 <xs:element name="Atrib" type="xs:string" />

                                                                                                 <xs:element name="Value" 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:element>

                         <xs:element name="CurrentWorkItems">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="workItem">

                                                         <xs:complexType>

                                                                 <xs:sequence>

                                                                         <xs:element name="workItemId" type="xs:unsignedShort" />

                                                                         <xs:element name="workItemState" type="xs:string" />

                                                                         <xs:element name="workItemEntryDate" type="xs:string" />

                                                                         <xs:element name="workItemDuration" type="xs:unsignedByte" />

                                                                         <xs:element name="workItemEstimatedSolutionDate" type="xs:string" />

                                                                         <xs:element name="task">

                                                                                 <xs:complexType>

                                                                                         <xs:sequence>

                                                                                                 <xs:element name="taskId" type="xs:unsignedByte" />

                                                                                                 <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="taskEstimatedDuration" type="xs:unsignedByte" />

                                                                                                 <xs:element name="taskType" type="xs:string" />

                                                                                                 <xs:element name="taskCost" type="xs:unsignedByte" />

                                                                                                 <xs:element name="taskPriority" type="xs:string" />

                                                                                         </xs:sequence>

                                                                                 </xs:complexType>

                                                                         </xs:element>

                                                                 </xs:sequence>

                                                         </xs:complexType>

                                                 </xs:element>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

 

Parámetros de salida

Una respuesta exitosa de la invocación contendrá un mensaje de éxito dentro del nodo BizAgiWSResponse.

 

Si la respuesta es fallida, entonces tendrá:

processes: Es el elemento "Nodo raíz". Contiene en XML la información de respuesta.

process: Es el elemento que contiene mayor detalle del error en invocación.

processId: Contiene el id del proceso.

processRadNumber: Contiene el valor alfanumérico que corresponde al número de creación del caso (radicación).

processError: Contiene la descripción del error (código y mensaje) del intento de asignación de la actividad.

errorCode: Contiene el código del error.

errorMessage: Contiene el mensaje del error.

 

 

Ejemplo

Método assignActivity

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

La invocación es exitosa:

Ws_assignactivity_responseexampleOK

La invocación falla:

Ws_assignactivity_responseexampleERROR

 

Método assignActivityAsString

El siguiente ejemplo muestra cómo se ven los mensajes de error:

 

assignActitivyAsString_01