Tema
Documentação técnica das APIs — Sistema Wester
Backend Storage_Wester (Spring Boot) do sistema de gestão da Wester: WMS/almoxarifado, tinturaria, produtos e moldes, histórico/auditoria, usuários e perfis, relatórios e o módulo PCP/Produção (MES).
Base da análise: código local em 15/10/2026 — backend
Storage_Wester_UPDATED/Storage_Westere frontendstorage-app, incluindo alterações ainda não commitadas (por exemplo, categorias de produtos). Método: leitura estática do código. Nenhuma chamada foi executada contra servidor.
Números
| Item | Quantidade |
|---|---|
| Módulos funcionais da API | 16 |
| Operações (métodos de controller) documentadas | 145 |
| Combinações método + rota (inclui aliases PT/EN) | 211 |
Esquemas de dados (components.schemas no OpenAPI) | 138 |
| Controllers (REST + MES + Edge) | 23 |
Índice
| Arquivo | Conteúdo |
|---|---|
| arquitetura.md | Visão geral, camadas, modelo de dados e relacionamentos, tempo real, frontend |
| autenticacao.md | Login, JWT, perfis e telas (SCREEN_*), regras do MES, autenticação do Edge, CORS, limites |
| endpoints.md | Índice das 211 rotas e dos 16 módulos; cada rota leva à ficha completa |
| modulos/ | Fichas por endpoint (17 itens pedidos: método, URL, parâmetros, headers, autorização, corpo, resposta, exemplos, códigos HTTP, validações, regras, dependências, cURL) |
| modelos.md | Campos de todos os DTOs e contratos, com limites e obrigatoriedade |
| integracoes.md | REST, STOMP, Edge, importação de PDF, OCR e possibilidades com o TUTOM |
| erros.md | Formatos de erro, mapeamento exceção → HTTP, tratamento no frontend |
| openapi.yaml | Especificação OpenAPI 3.0.3, 211 operações, bearerAuth e edgeKey |
Módulos
| Módulo | Operações | Rotas | Ficha |
|---|---|---|---|
| Acesso, usuários e perfis | 16 | 27 | acesso.md |
| Produtos | 10 | 32 | produtos.md |
| Categorias de produtos | 6 | 12 | categorias.md |
| Setores e tipos de material | 11 | 32 | setores.md |
| Corredores, blocos e níveis | 21 | 21 | estruturas.md |
| Itens e transferências de estoque | 5 | 5 | itens-estoque.md |
| Moldes | 7 | 13 | moldes.md |
| Materiais fixos e slots legados | 15 | 15 | materiais-fixos.md |
| Listas de materiais | 10 | 10 | listas.md |
| Consultas de estoque e mapa | 3 | 3 | estoque-consolidado.md |
| Histórico e auditoria | 4 | 4 | historico.md |
| Movimentações operacionais | 3 | 3 | movimentacoes.md |
| Alertas de estoque | 1 | 1 | alertas.md |
| Relatórios de estoque | 4 | 4 | relatorios.md |
| PCP e produção (MES) | 26 | 26 | producao.md |
| Integração industrial Edge | 3 | 3 | edge.md |
Como usar
- Base da URL:
BASE_URL= endereço do backend (sem/api). Todas as rotas começam com/api. - Autenticar: POST
/api/auth/login→ usartokenemAuthorization: Bearer <token>(autenticacao.md). - Localizar a rota em endpoints.md pelo identificador
API-nnne abrir a ficha do módulo. - Importar no Swagger/Postman: carregue openapi.yaml. Os exemplos são sintéticos; troque IDs e códigos por dados reais do ambiente.
Convenções confirmadas no código
- Prefixo geral
/api; JSON em UTF-8; datas em ISO-8601. - Duas famílias de permissão:
SCREEN_*(em que tela o perfil entra) eFULL_ACCESS(pode alterar). O MES usa o beanmesAccess. - Listagens grandes são paginadas: Spring Data (
content,number,size,totalElements...) nas rotas WMS,page/sizeno MES epagination+itemsnos relatórios. Não trocar um formato pelo outro (modelos.md). - Aliases PT/EN equivalentes:
/api/areas=/api/setores,/api/produtos=/api/products,/api/perfis=/api/profiles,/api/categorias-produto=/api/product-categories,/api/auth/login=/api/usuarios/login. - Concorrência otimista com campo
versionemFileira,Grade,NiveleItemEstoque(conflito →409com prefixoOPTIMISTIC_LOCK:).
O que é existente e o que é planejado
Resumo: Alertas, Movimentações e Relatórios têm backend e código de tela, mas estão desativados no menu atual; integração direta com o TUTOM, cadastro de ferramentas, OEE/MTBF/MTTR e recuperação de senha por e-mail não existem.