iGRPIGRP 3.0Documentation

Process Studio · API REST

API REST do Process Studio — projetos, definições de processo, diagrama e publicação — com a base, a autenticação e exemplos reais.

O process-studio-api guarda os projetos e os rascunhos BPMN e publica-os no Process Management. É usado pelo Process Studio e pelo separador BPMN do Studio IDE — normalmente através do SDK TypeScript.

Base (workspace)http://<slug>:2575/gateway-api/<serviço>-process-studio-api
Prefixo/api/v1 (está no caminho dos recursos)
StackSpring Boot 3.5 · Java 26 · PostgreSQL
Documentação vivaOpenAPI do próprio serviço (springdoc)

O <serviço> é o nome com que o serviço está registado no Eureka.


Autenticação

Authorization: Bearer <token>

O token é o do utilizador (Access Management). Ao publicar, o Process Studio reencaminha-o ao Process Management.


Projetos

MétodoCaminhoDescrição
GET/api/v1/projectsListar projetos
POST/api/v1/projectsCriar projeto (code, name, description, appCode)
GET/api/v1/projects/{projectId}Obter projeto
PUT/api/v1/projects/{projectId}Atualizar projeto
PATCH/api/v1/projects/{projectId}/enable · /disableAtivar / desativar
GET/api/v1/projects/{projectId}/deployed-processProcessos publicados do projeto (o que o Studio IDE lista)
GET/api/v1/projects/{projectId}/history-processHistórico de versões

Definições de processo

MétodoCaminhoDescrição
POST/api/v1/projects/{projectId}/process-definitionsCriar processo (title, processKey, description)
GET/api/v1/projects/process-definitionsListar processos
GET/api/v1/projects/process-definitions/{processId}Detalhe (inclui o XML em bpmFileContent)
PUT/api/v1/projects/process-definitions/{processId}Atualizar dados
PUT/api/v1/projects/process-definitions/{processKey}/diagramGuardar o rascunho do diagrama ({ "content": "<xml>" })
POST/api/v1/projects/process-definitions/{processKey}/deployPublicar no Process Management
GET · POST/api/v1/projects/process-definitions/{processId}/variablesVariáveis declaradas
PATCH/api/v1/projects/process-definitions/{processId}/delete · /restoreApagar / restaurar
GET/parameterization/process-definition-stateEstados possíveis (Rascunho, Publicado…)

Exemplos

Criar um projeto e um processo

curl -X POST "$PS/api/v1/projects" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{ "code": "REGISTOS", "name": "Registos", "description": "Processos de registo de entidades" }'

curl -X POST "$PS/api/v1/projects/$PROJECT_ID/process-definitions" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{ "title": "Registo de Entidade", "processKey": "registo-entidade" }'

Guardar o diagrama e publicar

curl -X PUT "$PS/api/v1/projects/process-definitions/registo-entidade/diagram" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"content\": $(jq -Rs . < registo-entidade.bpmn)}"

curl -X POST "$PS/api/v1/projects/process-definitions/registo-entidade/deploy" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"content\": $(jq -Rs . < registo-entidade.bpmn)}"

O XML tem de começar por <?xml

O diagrama é validado ao guardar; conteúdo que não seja XML bem formado devolve 500 — SAXException … Content is not allowed in prolog.

How is this guide?

Última atualização: