iGRPIGRP 3.0Documentation

Process Management · API REST

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
PrefixoNenhum — os recursos ficam na raiz (/process-instances, não /api/v1/...)
StackSpring Boot 4.1 · Java 26 · Activiti · PostgreSQL (Flyway)
Documentação vivaOpenAPI do próprio serviço (springdoc)

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.


Áreas

MétodoCaminhoDescrição
GET/areasListar áreas
POST/areasCriar área
GET/areas/{id}Obter área
PUT/areas/{id}Atualizar área
DELETE/areas/{id}Eliminar área (e subáreas)
GET/areas/statusEstados possíveis
GET/areas/{areaId}/process-definitionsProcessos da área
POST/areas/{areaId}/process-definitionsAssociar processo à área
DELETE/areas/{areaId}/process-definitions/{processDefinitionId}Desassociar

Definições de processo

MétodoCaminhoDescrição
GET/process-definitionsListar definições publicadas
POST/process-definitions/deployPublicar (chamado pelo Process Studio)
POST/process-definitions/importImportar definição exportada
GET/process-definitions/{id}/exportExportar (JSON com numeração, grupos e tarefas)
DELETE/process-definitions/{id}/archiveArquivar
POST/process-definitions/{id}/unarchiveDesarquivar
POST/process-definitions/{id}/assign · /unassignGrupos candidatos do processo
GET/process-definitions/{id}/artifactsArtefactos (User Tasks e Form Keys)
PUT/process-definitions/{id}/artifacts/{taskKey}Configuração de uma tarefa
GET/process-definitions/{id}/deployed-artifactsArtefactos da versão publicada
DELETE/process-definitions/artifacts/{id}Remover configuração de tarefa
GET · POST/process-definitions/{processDefinitionKey}/sequenceNumeração das instâncias
GET · PUT/process-definitions/{processKey}/prioritiesOpções de prioridade
DELETE/process-definitions/priorities/{id}Remover prioridade

Instâncias

MétodoCaminhoDescrição
POST/process-instancesCriar e arrancar uma instância
POST/process-instances/createSó criar
POST/process-instances/{id}/startArrancar uma instância criada
POST/process-instances/searchPesquisar (filtros na query: number, name, procReleaseKey, status, applicationBase, dateFrom, dateTo, page, size)
GET/process-instances/{id}Detalhe
GET/process-instances/{id}/task-statusEstado das tarefas da instância
POST/process-instances/{id}/cancelCancelar
POST/process-instances/eventEnviar um evento (mensagem/sinal)
POST/process-instances/{id}/timer/rescheduleReagendar um timer
GET/process-instances/stats · /statusContadores e estados

Tarefas

MétodoCaminhoDescrição
POST/tasks-instances/searchPesquisar tarefas (p.ex. ?processInstanceId=)
POST/tasks-instances/meTarefas do utilizador autenticado
GET/tasks-instances/{id}Detalhe
GET/tasks-instances/{id}/variablesVariáveis e formulários da tarefa
POST/tasks-instances/{id}/claimAssumir
POST/tasks-instances/{id}/unclaimLibertar
POST/tasks-instances/{id}/assignAtribuir a outro utilizador
POST/tasks-instances/{id}/saveGuardar dados sem concluir
POST/tasks-instances/{id}/completeConcluir
GET/tasks-instances/stats · /stats/me · /status · /event_typeContadores, estados e tipos de evento
GET · PUT · DELETE/tasks-instances/assignment-rules[/{id}]Regras de atribuição

Atividades

MétodoCaminhoDescrição
GET/activities/instancesAtividades (eventos) de uma instância
GET/activities/progressProgresso
GET/activities/{id}Detalhe

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"
How is this guide?

Última atualização: