Files
sigrhapf/Documents/sigfip/sigefp/ENDPOINTS_API.md
T
2026-05-19 11:41:28 +00:00

8.0 KiB

📡 Endpoints da API SIGEFP

Base URL

http://localhost:8080

🔐 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

POST /api/common/banks
Content-Type: application/json

{
  "code": "001",
  "name": "Banco do Brasil",
  "swiftCode": "BRASBRRJ"
}

Criar Utilizador

POST /api/admin/users
Content-Type: application/json

{
  "username": "joao.silva",
  "fullName": "João Silva",
  "email": "joao.silva@example.com",
  "password": "senha123",
  "isActive": true
}

Criar Período de Folha

POST /api/rh/payroll-periods
Content-Type: application/json

{
  "fiscalYear": 2024,
  "month": 12,
  "startDate": "2024-12-01",
  "endDate": "2024-12-31"
}

Nota: Todos os endpoints retornam JSON e esperam Content-Type: application/json nas requisições POST/PUT.