Saltar a contenido

Casos (API clásica)

El recurso cases es el corazón de la API clásica: listar los casos que ve un usuario, leer uno, actuar sobre él y llegar a sus documentos, notas y variables.

Las rutas son relativas a /api/1.0/{espacio}/cases.

Listar

Ruta Devuelve
GET / Los casos que puede ver el llamador
GET /paged Lo mismo, paginado
GET /draft, /participated, /unassigned, /paused Una bandeja, con su variante paged
GET /advanced-search, /advanced-search/paged El resultado de un filtro guardado
GET /advanced-search/filters Los filtros que guardó este usuario
POST /advanced-search/filter · PUT/DELETE …/:filterUid Crear, editar, borrar un filtro

Las bandejas también están en home/ y lists/, con conteos. Prefiere una de las tres familias en una integración: devuelven los mismos casos con formas distintas, y mezclarlas obliga a interpretar dos juegos de campos.

Los endpoints de lista comparten un conjunto de parámetros y devuelven 15 casos por defecto, ordenados por número de caso, del más nuevo al más viejo:

Parámetro Significado
caseNumber Un número de caso
process El id del proceso
task El id de la tarea
limit Cuántos devolver
offset Dónde empezar
caseTitle Texto en el título del caso
reviewStatus READ o UNREAD: si el asignado abrió el caso

Leer un caso

Ruta Devuelve
GET /:appUid El caso
GET /:appUid/current-task La tarea en la que está
GET /:appUid/tasks Todas las tareas del caso
GET /:appUid/:del_index/steps Los pasos de una delegación
GET /:appNumber/supervisor El supervisor del caso
GET /:appUid/sub-process-cases Los casos que generó

app_uid es el id del caso (APP_UID); del_index es la posición de la tarea en el caso, y ambos aparecen en toda respuesta de lista.

GET /:appUid responde con la cabecera del caso y sus tareas abiertas:

{
  "app_uid": "36722263554ca70b82c52e8020802754",
  "app_number": "5",
  "app_name": "#5",
  "app_status": "TO_DO",
  "pro_uid": "35648267754ca36d119ecc1014698225",
  "pro_name": "Safety training course",
  "app_create_date": "2026-01-29 12:41:12",
  "current_task": [
    { "usr_uid": "…", "usr_name": "Administrator", "tas_uid": "…",
      "tas_title": "Written safety test", "del_index": 2, "del_thread_status": "OPEN" }
  ]
}

Leer un caso en el que no participas requiere un permiso de proceso, como el formulario resumen o ALL.

Notas

Ruta Hace
GET /:appUid/notes · /:appUid/notes/paged Lista las notas; la variante paginada acepta search
POST /:appUid/note Agrega una

El POST recibe note_content —texto plano, \n para un salto de línea— y send_mail, que en 1 envía la nota por correo a todos los participantes. El mensaje queda en cola, no sale de inmediato: se envía cuando corre el programador.

Documentos

Ruta Hace
GET /:appUid/input-documents Los documentos de entrada del caso
GET /:appUid/input-document/:inp_doc_uid Una definición
GET /:appUid/input-document/:app_doc_uid/file Descarga el archivo
GET /:appUid/input-document/:app_doc_uid/versions Sus versiones
POST /:appUid/input-document Sube
DELETE /:appUid/:del_index/input-document/:app_doc_uid Borra
GET /:appUid/output-documents Los documentos generados
GET /:appUid/output-document/:app_doc_uid/file Descarga uno
POST /:appUid/:del_index/output-document/:out_doc_uid Genera uno
DELETE /:appUid/output-document/:app_doc_uid Borra uno

La subida recibe inp_doc_uid (la definición), tas_uid (la tarea donde el documento es un paso) y app_doc_comment. Generar un documento de salida recibe el del_index y el out_doc_uid —el id que está detrás de Show ID en la lista de documentos de salida—.

Subir a una variable (un campo de archivo de un formulario) es otra familia:

POST /:appUid/upload/:var_name
POST /:appUid/upload/:var_name/:doc_uid
POST /:appUid/upload/:var_name/:doc_uid/:app_doc_uid

Las tres variantes agregan una versión a un documento existente en lugar de reemplazarlo.

Variables

Ruta Hace
GET /:appUid/variables Todas las variables del caso
PUT /:appUid/variable?del_index=N Escribe variables; del_index indica qué delegación registra el cambio
GET /:appUid/:del_index/variable/:var_name Lee una variable en esa delegación
GET /:appUid/:del_index/variable/:var_name/paged Lee una variable de grilla, paginada

del_index es el índice de delegación —la posición de la tarea en el caso—, que el proceso también ve como la variable de sistema @%INDEX. Leer una variable por delegación dice qué tenía el caso en ese paso, no qué tiene ahora.

Actuar sobre un caso

Cada acción recibe el id en la ruta y el resto en el cuerpo:

  • reassign-case — usr_uid_source (el asignado actual) y usr_uid_target son obligatorios; el destinatario debe estar ya en el grupo de usuarios de la tarea. del_index es opcional y por defecto toma la tarea abierta más reciente.
  • pause — unpaused_date en YYYY-MM-DD o YYYY-MM-DD HH:MM:SS; una cadena vacía pausa el caso indefinidamente.
  • unpause — unpaused_date opcional; vacío o ausente reanuda de inmediato.
  • route-case — del_index opcional, por defecto la tarea abierta más alta. executeTriggersBeforeAssignment existe pero no se recomienda: puede meter el caso en un bucle.
  • execute-trigger — el tri_uid del desencadenador; se ejecuta aunque no esté adjunto al proceso del caso.
  • cancel y delete — solo app_uid.

Un fallo responde con un objeto de error, no con un estado desnudo:

{"error": {"code": 400,
           "message": "Bad Request: This case delegation is already closed or does not exist"}}
Ruta Efecto
PUT /:appUid/claim Asigna al llamador un caso sin asignar
PUT /:appUid/:usrUid/assign Lo asigna a otro usuario
PUT /:appUid/reassign-case Lo reasigna
POST /reassign Reasigna en lote
PUT /:appUid/pause · /unpause Pausa y reanuda
PUT /:appUid/cancel Cancela
DELETE /:appUid Elimina
PUT /:appUid/route-case Mueve a la tarea siguiente
PUT /:appUid/execute-trigger/:tri_uid Ejecuta un desencadenador
PUT /:appUid/execute-triggers Ejecuta varios

Cuidado con el enrutamiento: route-case mueve el caso a la tarea siguiente sin enviar un formulario. Cuando el paso tiene un DynaForm, la llamada que guarda el formulario y mueve el caso juntos es case-derivate de la API del espacio de trabajo.

Iniciar casos

Ruta Devuelve
GET /start-cases Las tareas que puede iniciar el llamador
GET /bookmark-start-cases Las que marcó
POST /bookmark/:tas_uid · DELETE /bookmark/:tas_uid Agrega o quita un marcador
POST / Inicia un caso
POST /impersonate Lo inicia como otro usuario

POST /cases recibe la tarea, el usuario y las variables iniciales; la respuesta trae el APP_UID nuevo.

Quién puede iniciar un proceso

Dos recursos responden eso sin iniciar nada:

Ruta Devuelve
GET /project/:prj_uid/process-permissions Las reglas de permiso del proceso
GET /project/:prj_uid/users Los usuarios relacionados con el proceso
GET /project/:prj_uid/user/:usr_uid/starting-tasks Las tareas que ese usuario puede iniciar

La última es la verificación práctica: una lista vacía significa que el usuario no puede iniciar nada en el proceso, diga lo que diga el diagrama.

Relacionado