📚 Documentação da API SIGEFP
🌐 Acesso ao Swagger UI
Após iniciar a aplicação, acesse a documentação interativa do Swagger:
🔐 Autenticação
A API utiliza autenticação JWT (JSON Web Token). Para acessar os endpoints protegidos:
- Fazer login em
/api/auth/login para obter o token
- Incluir o token no header
Authorization: Bearer {token} em todas as requisições
Exemplo de Login
Resposta:
Usar o Token
📋 Endpoints Principais
🔑 Autenticação (/api/auth)
| Método |
Endpoint |
Descrição |
Autenticação |
| POST |
/api/auth/login |
Autenticar usuário |
Não |
| POST |
/api/auth/refresh |
Renovar tokens |
Não |
| POST |
/api/auth/logout |
Logout |
Não |
👥 Administração (/api/admin)
Usuários (/api/admin/users)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/admin/users |
Listar usuários (paginado) |
Sim |
| GET |
/api/admin/users/{id} |
Buscar usuário por ID |
Sim |
| POST |
/api/admin/users |
Criar usuário |
Sim |
| PUT |
/api/admin/users/{id} |
Atualizar usuário |
Sim |
| POST |
/api/admin/users/{id}/roles |
Associar roles ao usuário |
Sim |
Roles (/api/admin/roles)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/admin/roles |
Listar roles |
Sim |
| GET |
/api/admin/roles/{id} |
Buscar role por ID |
Sim |
| POST |
/api/admin/roles |
Criar role |
Sim |
| PUT |
/api/admin/roles/{id} |
Atualizar role |
Sim |
Auditoria (/api/admin/audit-logs)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/admin/audit-logs |
Listar logs de auditoria (com filtros) |
Sim |
🏛️ Organização (/api/org)
Ministérios (/api/org/ministries)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/org/ministries |
Listar ministérios |
Sim |
| GET |
/api/org/ministries/{id} |
Buscar ministério por ID |
Sim |
| POST |
/api/org/ministries |
Criar ministério |
Sim |
| PUT |
/api/org/ministries/{id} |
Atualizar ministério |
Sim |
Unidades Organizacionais (/api/org/org-units)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/org/org-units |
Listar unidades (com filtros) |
Sim |
| GET |
/api/org/org-units/{id} |
Buscar unidade por ID |
Sim |
| GET |
/api/org/org-units/tree/{ministryId} |
Árvore de unidades por ministério |
Sim |
| POST |
/api/org/org-units |
Criar unidade |
Sim |
| PUT |
/api/org/org-units/{id} |
Atualizar unidade |
Sim |
Posições (/api/org/positions)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/org/positions |
Listar posições (com filtros) |
Sim |
| GET |
/api/org/positions/{id} |
Buscar posição por ID |
Sim |
| POST |
/api/org/positions |
Criar posição |
Sim |
| PUT |
/api/org/positions/{id} |
Atualizar posição |
Sim |
👨💼 Recursos Humanos (/api/rh)
Agentes (/api/rh/agents)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/rh/agents |
Listar agentes (paginado) |
Sim |
| GET |
/api/rh/agents/{id} |
Buscar agente por ID |
Sim |
| POST |
/api/rh/agents |
Criar agente |
Sim |
| PUT |
/api/rh/agents/{id} |
Atualizar agente |
Sim |
Folha de Pagamento (/api/rh)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/rh/payroll-periods |
Listar períodos de folha |
Sim |
| POST |
/api/rh/payroll-periods |
Criar período de folha |
Sim |
| POST |
/api/rh/payroll-runs |
Criar execução de folha |
Sim |
| GET |
/api/rh/payroll-runs/{id} |
Buscar execução de folha |
Sim |
Transparência e Vida Laboral
A partir da versão de Dezembro/2024, o histórico de agentes foi substituído por uma Linha do Tempo de Carreira estruturada, conforme o Decreto 12-A/94.
| Método |
Endpoint |
Descrição |
DTO de Resposta |
| GET |
/api/rh/agents/{id}/history |
Linha do tempo profissional |
List<CareerTimelineDTO> |
💰 Orçamento (/api/budget)
Exercícios Fiscais (/api/budget/fiscal-years)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/budget/fiscal-years |
Listar exercícios fiscais |
Sim |
| GET |
/api/budget/fiscal-years/{id} |
Buscar exercício por ID |
Sim |
| GET |
/api/budget/fiscal-years/current |
Buscar exercício atual |
Sim |
| POST |
/api/budget/fiscal-years |
Criar exercício fiscal |
Sim |
| POST |
/api/budget/fiscal-years/{id}/open |
Abrir exercício fiscal |
Sim |
| POST |
/api/budget/fiscal-years/{id}/close |
Fechar exercício fiscal |
Sim |
Linhas Orçamentárias (/api/budget/lines)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/budget/lines |
Listar linhas (com filtros) |
Sim |
| GET |
/api/budget/lines/{id} |
Buscar linha por ID |
Sim |
| POST |
/api/budget/lines |
Criar linha orçamentária |
Sim |
| PUT |
/api/budget/lines/{id} |
Atualizar linha |
Sim |
Execução Orçamentária (/api/budget/execution)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/budget/execution |
Listar execuções (com filtros) |
Sim |
| POST |
/api/budget/execution |
Registrar execução orçamentária |
Sim |
💳 Tesouraria (/api/treasury)
Lotes de Pagamento (/api/treasury/payment-batches)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/treasury/payment-batches |
Listar lotes (com filtros) |
Sim |
| GET |
/api/treasury/payment-batches/{id} |
Buscar lote por ID |
Sim |
| POST |
/api/treasury/payment-batches |
Criar lote |
Sim |
| POST |
/api/treasury/payment-batches/{id}/status |
Atualizar status do lote |
Sim |
Ordens de Pagamento (/api/treasury/payment-orders)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/treasury/payment-orders |
Listar ordens (com filtros) |
Sim |
| GET |
/api/treasury/payment-orders/{id} |
Buscar ordem por ID |
Sim |
| POST |
/api/treasury/payment-orders |
Criar ordem de pagamento |
Sim |
| POST |
/api/treasury/payment-orders/{id}/status |
Atualizar status da ordem |
Sim |
Pagamentos (/api/treasury/payments)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/treasury/payments |
Listar pagamentos (com filtros) |
Sim |
| POST |
/api/treasury/payments |
Registrar pagamento |
Sim |
🏦 Comum (/api/common)
Bancos (/api/common/banks)
| Método |
Endpoint |
Descrição |
Autenticação |
| GET |
/api/common/banks |
Listar bancos (paginado) |
Sim |
| GET |
/api/common/banks/{id} |
Buscar banco por ID |
Sim |
| POST |
/api/common/banks |
Criar banco |
Sim |
| PUT |
/api/common/banks/{id} |
Atualizar banco |
Sim |
📦 Exemplos de Requisições
Criar Usuário
Criar Agente
Criar Período de Folha
🔄 Refresh Token
Quando o token de acesso expirar, use o refresh token para obter novos tokens:
📥 Exportar Coleção Postman
- Acesse o Swagger UI: http://localhost:8081/swagger-ui.html
- Clique em "Download" no topo da página
- Selecione "OpenAPI 3.0 (JSON)"
- Importe o arquivo no Postman ou Insomnia
⚠️ Códigos de Status HTTP
| Código |
Descrição |
| 200 |
Sucesso |
| 201 |
Criado com sucesso |
| 400 |
Requisição inválida (validação falhou) |
| 401 |
Não autenticado (token inválido ou ausente) |
| 403 |
Não autorizado (sem permissão) |
| 404 |
Recurso não encontrado |
| 500 |
Erro interno do servidor |
🔒 Segurança
- Todos os endpoints (exceto
/api/auth/** e /actuator/**) requerem autenticação JWT
- Tokens expiram em 24 horas
- Refresh tokens expiram em 7 dias
- Use HTTPS em produção
- Mantenha a chave secreta JWT segura
📝 Notas
- A paginação usa parâmetros
page (padrão: 0) e size (padrão: 20)
- Ordenação usa
sortBy e sortDirection (ASC/DESC)
- Datas devem estar no formato ISO 8601:
YYYY-MM-DD ou YYYY-MM-DDTHH:mm:ss
- UUIDs devem estar no formato padrão UUID