Integraciones

Operaciones con Workflows

Introducción

A continuación se resumen las operaciones que se pueden realizar con Workflows. Todos se encuentran en el módulo de Hermes excepto el lanzamiento del paso final de workflow. Para más detalles de los endpoints, se puede consultar Swagger. Se encuentran también, una serie de operaciones avanzadas que se pueden realizar mediante API Administrativa. Para realizar estas acciones se necesita un token de un usuario que tenga asignado un rol que contenga el permiso de administración en la API (API_ADMIN).

Validación de workflows

Permite validar uno o más workflows a la vez mediante sus identificadores

Consiste en la llamada PUT https://{{host}}/gateway/api/v1/task/validate

Envío masivo

Permite enviar a validar múltiples objetos del mismo subtipo.

Consiste en la llamada POST https://{{host}}/api/v2/common/massiveSubmit/{{objectSubtype}} incluyendo en el body los ids de los objetos y el role con el que se lanzarán los workflows.

Como respuesta llegarán aquellos ids que han completado la operación con éxito y aquellos que no junto con el porqué.

En ese endpoint es muy recomendable incluir la cabecera de “x-language”, ya que los objetos siempre contienen valores traducidos y valores multilenguaje. Si no se incluye vendrán en el idioma por defecto de la aplicación.

Como ayuda para evitar tener muchos errores se incluye otro endpoint que recibiendo una lista de ids, se devuelve aquellos que cumplen las condiciones para poder ser enviados, dicho endpoint es un POST https://{{host}}/api/v2/common/checkSubmit con la lista de ids de los objetos y su subtipo.


Obtener todos los workflows

Permite obtener el resumen de todos los workflows según los criterios de búsqueda informados. Si no se desea filtrar por alguno de estos criterios se tiene que indicar con un null.

Permite obtener todos los workflows lanzados en el sistema. Consiste en la llamada:

POST https://{{host}}/gateway/api/admin/hermes/executions


Obtener un workflow en particular

Permite obtener la información relativa a un workflow en particular incluyendo la información de los distintos pasos que forman el workflow, quien validó cada uno, su estado, etc.

Consiste en la llamada:

GET https://{{host}}/gateway/api/admin/hermes/execution/{id}


Borrado de un workflow en particular

Este endpoint permite borrar un workflow en particular y toda la información relacionada con él tanto en el motor de workflows como en Anjana.

DELETE https://{{host}}/gateway /api/admin/hermes/delete/workflow/{id}


Lanzar el paso final de un workflow

Este servicio permite lanzar el último paso de cualquier workflow del mismo modo que sucede al finalizar un workflow en Activiti, principalmente pensado para los casos que se produce alguna disincronía y no se finaliza los últimos procesos en los objetos.

Es la siguiente llamada:

PUT https://{{host}}/gateway/api/admin/kerno/workflow/finish/{workflowExecutionId}