El módulo de Workflow implementa un motor BPM (Business Process Management) propio que permite definir procesos, tareas y formularios dinámicos. Los procesos se modelan con estados, transiciones y acciones configurables desde la interfaz de administración.
Base URL:/workflow/ · Auth: Sesión Django · Webhook: Header X-Reconcile-Token desde variable de entorno BPM_RECONCILE_TOKEN
Conceptos clave
Entidad
Modelo
Descripción
Proceso
ProcesoWorkFlow_P
Definición de un flujo de trabajo (estados, transiciones)
Tarea
Tarea_P
Paso individual dentro de un proceso
Formulario
Formulario_P
Definición de formulario dinámico asociado a una tarea
Instancia
—
Ejecución concreta de un proceso para un ciudadano/trámite
Historial
HistorialProceso_P
Versionado y staging de los procesos
Soporte
Soporte_P
Tickets de soporte y documentos adjuntos a instancias
Flujo de vida de una instancia
Se crea una instancia del proceso (normalmente desde un módulo ciudadano).
El sistema asigna la primera tarea al pool o a un usuario específico.
El usuario toma la tarea (POST /api/tomar-tarea/).
El usuario completa el formulario dinámico de la tarea.
Se ejecuta una acción (POST /api/ejecutar-accion/) para avanzar el proceso.
El sistema actualiza el estado de la instancia y asigna la siguiente tarea.
El ciclo se repite hasta que el proceso llega a un estado final.
Seguridad: El token se configura en la variable de entorno BPM_RECONCILE_TOKEN. Nunca exponerlo en el cliente.
Modelos de datos
Modelo
Campos clave
Descripción
ProcesoWorkFlow_P
codigo, nombre, estado, adduser, adddate
Definición de proceso BPM
Tarea_P
codigo, proceso (FK), nombre, tipo, orden
Paso dentro de un proceso
Formulario_P
codigo, nombre, schema (JSON), estado
Definición de formulario dinámico
HistorialProceso_P
proceso (FK), version, estado, adddate
Versionado / staging de procesos
Soporte_P
instancia (FK), tipo, descripcion, archivo
Tickets y documentos adjuntos
Staging y publicación de procesos
Los procesos siguen un flujo de versionado antes de activarse en producción:
Borrador (staging): Se editan los procesos y formularios sin afectar instancias activas.
Guardar staging:POST /workflow/api/procesos/{llave}/staging/guardar/ — persiste cambios en staging.
Publicar:POST /workflow/api/procesos/{llave}/publicar/ — promueve el staging a versión activa.
Generación de documentos desde Workflow
Las instancias de proceso pueden generar documentos PDF con información del trámite:
GET /generar/{plantilla}/{llave}/ — genera HTML desde plantilla Django con datos de la instancia.
POST /imprimir/ — convierte el HTML generado a PDF para descarga.
POST /api-siud/documentos/generar/ — versión API (requiere codigo y llave).
The Workflow module implements a proprietary BPM (Business Process Management) engine that allows defining processes, tasks, and dynamic forms. Processes are modeled with states, transitions, and configurable actions from the admin interface.
Base URL:/workflow/ · Auth: Django Session · Webhook:X-Reconcile-Token header from env var BPM_RECONCILE_TOKEN
Key concepts
Entity
Model
Description
Process
ProcesoWorkFlow_P
Workflow definition (states, transitions)
Task
Tarea_P
Individual step within a process
Form
Formulario_P
Dynamic form definition linked to a task
Instance
—
Concrete execution of a process for a citizen/procedure
History
HistorialProceso_P
Versioning and staging of processes
Support
Soporte_P
Support tickets and attachments on instances
Instance lifecycle
An instance of the process is created (usually from a citizen module).
The system assigns the first task to the pool or a specific user.
The user claims the task (POST /api/tomar-tarea/).
The user fills out the task's dynamic form.
An action is executed (POST /api/ejecutar-accion/) to advance the process.
The system updates the instance state and assigns the next task.
The cycle repeats until the process reaches a final state.