API REST do Process Management — áreas, definições publicadas, instâncias e tarefas — com a base, a autenticação e exemplos reais.
O process-management-api é o runtime dos processos: guarda as definições publicadas (motor Activiti), cria instâncias e gere tarefas. É o que o Process Management e as apps de execução usam — normalmente através do SDK TypeScript.
| Base (workspace) | http://<slug>:2575/gateway-api/<serviço>-process-management-api |
| Prefixo | Nenhum — os recursos ficam na raiz (/process-instances, não /api/v1/...) |
| Stack | Spring Boot 4.1 · Java 26 · Activiti · PostgreSQL (Flyway) |
| Referência | Gerada do OpenAPI do serviço (springdoc em /v3/api-docs) |
O <serviço> é o nome com que o serviço está registado no Eureka; no gateway a rota é /gateway-api/<nome-eureka>.
Autenticação
Todos os pedidos levam um JWT do Access Management:
Authorization: Bearer <token>Nas apps é o token do utilizador (sessão NextAuth). Entre serviços usa um token client_credentials — ver API M2M.
Referência
Cada operação, com parâmetros, corpo do pedido, respostas e exemplos em várias linguagens, está na referência gerada a partir do OpenAPI do serviço:
Áreas
Definições de processo
Instâncias
Tarefas
Atividades
Testar no playground
O botão Testar no playground envia o pedido a partir do browser para o servidor indicado (por omissão, o gateway do workspace em localhost:2575). Preenche o host e o servico do teu ambiente e um token em Autorização. O gateway tem de aceitar pedidos (CORS) vindos da origem da documentação; se não aceitar, usa os exemplos curl.
Exemplos
Iniciar uma instância
curl -X POST "$PM/process-instances" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"processKey": "registo-entidade",
"applicationBase": "registos",
"priority": 1,
"variables": [
{ "name": "nomeEntidade", "value": "Exemplo Serviços, Lda." }
]
}'processKey e applicationBase são obrigatórios; businessKey, priority, variables e assignmentRules são opcionais.
Concluir uma tarefa
curl -X POST "$PM/tasks-instances/$TASK_ID/complete" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"variables": [
{ "name": "decision", "value": "CONFIRMAR" },
{ "name": "parecer", "value": "Documentação em ordem" }
],
"forms": []
}'variables vão para o processo (e para as condições dos gateways); forms guarda os dados do formulário associados à tarefa. save aceita o mesmo corpo.
Tarefas de uma instância
curl -X POST "$PM/tasks-instances/search?processInstanceId=$INSTANCE_ID" \
-H "Authorization: Bearer $TOKEN"Última atualização:
