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)
ReferênciaGerada 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:

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

Última atualização: