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) |
| Stack | Spring Boot 3.5 · Java 26 · PostgreSQL |
| Documentação viva | OpenAPI 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étodo | Caminho | Descrição |
|---|---|---|
GET | /api/v1/projects | Listar projetos |
POST | /api/v1/projects | Criar 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 · /disable | Ativar / desativar |
GET | /api/v1/projects/{projectId}/deployed-process | Processos publicados do projeto (o que o Studio IDE lista) |
GET | /api/v1/projects/{projectId}/history-process | Histórico de versões |
Definições de processo
| Método | Caminho | Descrição |
|---|---|---|
POST | /api/v1/projects/{projectId}/process-definitions | Criar processo (title, processKey, description) |
GET | /api/v1/projects/process-definitions | Listar 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}/diagram | Guardar o rascunho do diagrama ({ "content": "<xml>" }) |
POST | /api/v1/projects/process-definitions/{processKey}/deploy | Publicar no Process Management |
GET · POST | /api/v1/projects/process-definitions/{processId}/variables | Variáveis declaradas |
PATCH | /api/v1/projects/process-definitions/{processId}/delete · /restore | Apagar / restaurar |
GET | /parameterization/process-definition-state | Estados 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:
