Skip to content

Control de versiones de workflows

This content is not available in your language yet.

Cada cambio en un workflow puede generar una version, creando un historial completo de modificaciones con capacidad de comparar y restaurar versiones anteriores.

  • Al guardar un workflow, se puede crear una version manualmente
  • Antes de un rollback, el sistema crea automaticamente una version de respaldo
  • Cada version almacena el workflow_json completo (nodos, conexiones, configuracion)
POST /api/versions/workflow/:workflowId
Body: { "description": "Agregado nodo de validacion de stock" }

Se guarda:

  • Numero de version (secuencial)
  • Workflow JSON completo
  • Descripcion del cambio
  • Quien lo creo
  • Cantidad de nodos y conexiones
GET /api/versions/workflow/:workflowId

Devuelve la lista de versiones ordenadas de mas reciente a mas antigua:

[
{
"id": 45,
"version_number": 5,
"name": "Mi Workflow",
"description": "Agregado nodo de validacion",
"is_auto": false,
"nodes_count": 8,
"edges_count": 9,
"created_at": "2026-03-23T10:30:00Z"
},
{
"id": 42,
"version_number": 4,
"description": "Auto-backup antes de rollback",
"is_auto": true,
...
}
]
POST /api/versions/workflow/:workflowId/rollback/:versionId
  • Restaura el workflow_json de la version seleccionada
  • Crea automaticamente un backup de la version actual antes de restaurar
  • Actualiza la fecha de modificacion del workflow
GET /api/versions/workflow/:workflowId/diff/:version1Id/:version2Id

Devuelve las diferencias entre dos versiones:

{
"added_nodes": [
{ "id": "node_8", "type": "decision", "label": "Validar stock" }
],
"removed_nodes": [],
"modified_nodes": [
{ "id": "node_3", "changes": ["position", "config"] }
],
"added_edges": [
{ "source": "node_7", "target": "node_8" }
],
"removed_edges": [],
"summary": {
"total_changes": 3,
"nodes_added": 1,
"nodes_removed": 0,
"nodes_modified": 1,
"edges_added": 1,
"edges_removed": 0
}
}
DELETE /api/versions/:versionId

No se puede eliminar si es la unica version existente.

TipoCuando se creaCampo is_auto
ManualEl usuario guarda una version explicitamentefalse
AutomaticaAntes de un rollback (backup de seguridad)true