📡 Endpoints da API SIGEFP
Base URL
🔐 ADMIN - /api/admin
Users
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/admin/users |
Listar utilizadores |
page, size, sortBy, sortDirection |
GET |
/api/admin/users/{id} |
Buscar utilizador |
id (UUID) |
POST |
/api/admin/users |
Criar utilizador |
Body: UserAccountDTO |
PUT |
/api/admin/users/{id} |
Atualizar utilizador |
id (UUID), Body: UserAccountDTO |
POST |
/api/admin/users/{id}/roles |
Atribuir perfis |
id (UUID), Body: AssignRolesDTO |
Roles
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/admin/roles |
Listar perfis |
page, size, sortBy, sortDirection |
GET |
/api/admin/roles/{id} |
Buscar perfil |
id (UUID) |
POST |
/api/admin/roles |
Criar perfil |
Body: RoleDTO |
PUT |
/api/admin/roles/{id} |
Atualizar perfil |
id (UUID), Body: RoleDTO |
Audit Logs
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/admin/audit-logs |
Consultar logs |
userId, module, startDate, endDate, page, size |
🏛️ ORG - /api/org
Ministries
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/org/ministries |
Listar ministérios |
page, size, sortBy, sortDirection |
GET |
/api/org/ministries/{id} |
Buscar ministério |
id (UUID) |
POST |
/api/org/ministries |
Criar ministério |
Body: MinistryDTO |
PUT |
/api/org/ministries/{id} |
Atualizar ministério |
id (UUID), Body: MinistryDTO |
Org Units
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/org/org-units |
Listar unidades |
ministryId, parentUnitId, page, size |
GET |
/api/org/org-units/tree/{ministryId} |
Árvore de unidades |
ministryId (UUID) |
GET |
/api/org/org-units/{id} |
Buscar unidade |
id (UUID) |
POST |
/api/org/org-units |
Criar unidade |
Body: OrgUnitDTO |
PUT |
/api/org/org-units/{id} |
Atualizar unidade |
id (UUID), Body: OrgUnitDTO |
Positions
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/org/positions |
Listar posições |
orgUnitId, page, size |
GET |
/api/org/positions/{id} |
Buscar posição |
id (UUID) |
POST |
/api/org/positions |
Criar posição |
Body: PositionDTO |
PUT |
/api/org/positions/{id} |
Atualizar posição |
id (UUID), Body: PositionDTO |
👥 RH - /api/rh
Agents
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/rh/agents |
Listar agentes |
page, size, sortBy, sortDirection |
GET |
/api/rh/agents/{id} |
Buscar agente |
id (UUID) |
POST |
/api/rh/agents |
Criar agente |
Body: AgentDTO |
PUT |
/api/rh/agents/{id} |
Atualizar agente |
id (UUID), Body: AgentDTO |
Payroll
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/rh/payroll-periods |
Listar períodos |
- |
POST |
/api/rh/payroll-periods |
Criar período |
Body: CreatePayrollPeriodDTO |
POST |
/api/rh/payroll-runs |
Criar execução de folha |
Body: CreatePayrollRunDTO |
GET |
/api/rh/payroll-runs/{id} |
Buscar execução com itens |
id (UUID) |
💰 BUDGET - /api/budget
Fiscal Years
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/budget/fiscal-years |
Listar anos fiscais |
page, size, sortBy, sortDirection |
GET |
/api/budget/fiscal-years/current |
Obter exercício corrente |
- |
GET |
/api/budget/fiscal-years/{id} |
Buscar ano fiscal |
id (UUID) |
POST |
/api/budget/fiscal-years |
Criar exercício fiscal |
Body: FiscalYearDTO |
POST |
/api/budget/fiscal-years/{id}/open |
Abrir exercício |
id (UUID) |
POST |
/api/budget/fiscal-years/{id}/close |
Fechar exercício |
id (UUID) |
Budget Lines
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/budget/lines |
Listar linhas |
fiscalYearId, ministryId, orgUnitId, page, size |
GET |
/api/budget/lines/{id} |
Buscar linha (com cálculos) |
id (UUID) |
POST |
/api/budget/lines |
Criar linha |
Body: BudgetLineDTO |
PUT |
/api/budget/lines/{id} |
Atualizar linha |
id (UUID), Body: BudgetLineDTO |
Budget Execution
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/budget/execution |
Listar execuções |
budgetLineId, periodId, movementType, page, size |
POST |
/api/budget/execution |
Registrar movimento |
Body: BudgetExecutionDTO |
💳 TREASURY - /api/treasury
Payment Batches
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/treasury/payment-batches |
Listar lotes |
periodId, ministryId, status, page, size |
GET |
/api/treasury/payment-batches/{id} |
Buscar lote |
id (UUID) |
POST |
/api/treasury/payment-batches |
Criar lote |
Body: CreatePaymentBatchDTO |
POST |
/api/treasury/payment-batches/{id}/status |
Alterar status |
id (UUID), Body: UpdateStatusDTO |
Payment Orders
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/treasury/payment-orders |
Listar ordens |
batchId, status, page, size |
GET |
/api/treasury/payment-orders/{id} |
Buscar ordem |
id (UUID) |
POST |
/api/treasury/payment-orders |
Criar ordem |
Body: CreatePaymentOrderDTO |
POST |
/api/treasury/payment-orders/{id}/status |
Atualizar status |
id (UUID), Body: UpdateStatusDTO |
Treasury Payments
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/treasury/payments |
Consultar pagamentos |
paymentOrderId, status, page, size |
POST |
/api/treasury/payments |
Registrar pagamento efetivo |
Body: CreateTreasuryPaymentDTO |
🏦 COMMON - /api/common
Banks
| Método |
Endpoint |
Descrição |
Parâmetros |
GET |
/api/common/banks |
Listar bancos |
page, size, sortBy, sortDirection |
GET |
/api/common/banks/{id} |
Buscar banco |
id (UUID) |
POST |
/api/common/banks |
Criar banco |
Body: BankDTO |
PUT |
/api/common/banks/{id} |
Atualizar banco |
id (UUID), Body: BankDTO |
📊 Estatísticas
- Total de Endpoints: 50+
- Módulos: 6
- Controllers: 16
- Métodos HTTP: GET, POST, PUT
🔍 Parâmetros Comuns
Paginação
page (int, default: 0) - Número da página
size (int, default: 20) - Tamanho da página
sortBy (String, optional) - Campo para ordenação
sortDirection (String, default: ASC) - Direção (ASC/DESC)
Filtros de Data
startDate (Instant, ISO format) - Data inicial
endDate (Instant, ISO format) - Data final
📝 Exemplos de Requisição
Criar Banco
Criar Utilizador
Criar Período de Folha
Nota: Todos os endpoints retornam JSON e esperam Content-Type: application/json nas requisições POST/PUT.