Tema
Histórico e auditoria
API-036 — Listar histórico paginado
GET /api/historico-movimentacao
Finalidade: Listar histórico paginado.
Fonte: src/main/java/com/wester/storage/controller/HistoricoMovimentacaoController.java:43 — HistoricoMovimentacaoController.listar.
Autenticação, autorização e perfis: hasAuthority('SCREEN_HISTORY') Consulte a correspondência entre autoridades e perfis em Autenticação.
Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.
Parâmetros:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
page | query | int | Não | 0 |
size | query | int | Não | 20 |
Corpo: não declarado; não enviar corpo.
Resposta de sucesso: Page<HistoricoMovimentacaoResponseDTO>. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"content": [],
"totalElements": 1,
"totalPages": 0,
"size": 1,
"number": 1,
"first": false,
"last": false,
"empty": false,
"numberOfElements": 1,
"pageable": {},
"sort": {}
}Códigos HTTP: 200, 401, 403. Códigos de segurança dependem da cadeia de filtros; falhas não capturadas podem chegar ao tratamento global descrito em Erros.
Regras de negócio e dependências: HistoricoMovimentacaoService.listar. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X GET "${BASE_URL}/api/historico-movimentacao" -H "Authorization: Bearer ${TOKEN}"API-037 — Filtrar histórico
POST /api/historico-movimentacao/filter
Finalidade: Filtrar histórico.
Fonte: src/main/java/com/wester/storage/controller/HistoricoMovimentacaoController.java:68 — HistoricoMovimentacaoController.filtrar.
Autenticação, autorização e perfis: hasAuthority('SCREEN_HISTORY') Consulte a correspondência entre autoridades e perfis em Autenticação.
Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado. Content-Type: application/json para o corpo.
Parâmetros:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
page | query | int | Não | 0 |
size | query | int | Não | 20 |
Corpo da requisição: HistoricoMovimentacaoFilterRequestDTO; opcional. Sem @Valid no argumento; validações de negócio são executadas pelo serviço. Consulte os campos e restrições em Modelos.
Exemplo sintético (IDs devem existir e versões devem vir de consulta):
json
{
"dataInicio": "2026-10-01",
"dataFim": "2026-10-15",
"tipoOperacao": "ENTRADA"
}Resposta de sucesso: Page<HistoricoMovimentacaoResponseDTO>. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"content": [],
"totalElements": 1,
"totalPages": 0,
"size": 1,
"number": 1,
"first": false,
"last": false,
"empty": false,
"numberOfElements": 1,
"pageable": {},
"sort": {}
}Códigos HTTP: 200, 401, 403. Códigos de segurança dependem da cadeia de filtros; falhas não capturadas podem chegar ao tratamento global descrito em Erros.
Validações e erros identificados na cadeia local do serviço:
- Data inválida: [mensagem pode receber complemento dinâmico]
Regras de negócio e dependências: HistoricoMovimentacaoService.filtrar. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X POST "${BASE_URL}/api/historico-movimentacao/filter" -H "Authorization: Bearer ${TOKEN}" -H 'Content-Type: application/json' --data '{"dataInicio":"2026-10-01","dataFim":"2026-10-15","tipoOperacao":"ENTRADA"}'API-038 — Buscar evento de histórico por ID
GET /api/historico-movimentacao/{id}
Finalidade: Buscar evento de histórico por ID.
Fonte: src/main/java/com/wester/storage/controller/HistoricoMovimentacaoController.java:85 — HistoricoMovimentacaoController.buscarPorId.
Autenticação, autorização e perfis: hasAuthority('SCREEN_HISTORY') Consulte a correspondência entre autoridades e perfis em Autenticação.
Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.
Parâmetros:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
id | path | Long | Sim | — |
Corpo: não declarado; não enviar corpo.
Resposta de sucesso: HistoricoMovimentacaoResponseDTO. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"id": 1,
"timestamp": "2026-10-15T09:00:00",
"tipoOperacao": "Exemplo",
"usuarioId": 1,
"usuarioLogin": "Exemplo",
"usuarioNome": "Exemplo",
"produtoId": 1,
"produtoNomeModelo": "Exemplo",
"produtoDescricao": "Exemplo",
"produtoCor": "Exemplo",
"produtoCodigoSistemaWester": "Exemplo",
"itemEstoqueId": 1,
"areaId": 1,
"areaNome": "Exemplo",
"setorId": 1,
"setorNome": "Exemplo",
"tipoEstruturaArea": "Exemplo",
"labelEstruturaPrimaria": "Exemplo",
"labelEstruturaSecundaria": "Exemplo",
"labelFileira": "Exemplo",
"labelGrade": "Exemplo",
"labelNivel": "Exemplo",
"labelSlot": "Exemplo",
"labelPosicao": "Exemplo",
"fileiraId": 1,
"fileiraIdentificador": "Exemplo",
"gradeId": 1,
"gradeIdentificador": "Exemplo",
"nivelId": 1,
"nivelIdentificador": "Exemplo",
"nivelOrigemId": 1,
"nivelOrigemIdentificador": "Exemplo",
"nivelDestinoId": 1,
"nivelDestinoIdentificador": "Exemplo",
"slotId": 1,
"slotIdentificador": "Exemplo",
"slotPosicao": 1,
"posicao": "Exemplo",
"moldeId": 1,
"moldeCodigo": "Exemplo",
"entidade": "Exemplo",
"entidadeId": 1,
"campo": "Exemplo",
"valorAnterior": "Exemplo",
"valorNovo": "Exemplo",
"payloadJson": "Exemplo",
"quantidadeAlterada": 1,
"quantidadeAnterior": 1,
"quantidadeNova": 1,
"detalhesAlteracao": "Exemplo"
}Códigos HTTP: 200, 401, 403. Códigos de segurança dependem da cadeia de filtros; falhas não capturadas podem chegar ao tratamento global descrito em Erros.
Regras de negócio e dependências: HistoricoMovimentacaoService.buscarPorId. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X GET "${BASE_URL}/api/historico-movimentacao/1" -H "Authorization: Bearer ${TOKEN}"API-039 — Histórico de uma entidade específica
GET /api/historico-movimentacao/entidade/{entidade}/{entidadeId}
Finalidade: Histórico de uma entidade específica.
Fonte: src/main/java/com/wester/storage/controller/HistoricoMovimentacaoController.java:106 — HistoricoMovimentacaoController.listarPorEntidade.
Autenticação, autorização e perfis: hasAuthority('SCREEN_HISTORY') or hasAuthority('SCREEN_USERS') or hasAuthority('SCREEN_PROFILES') or hasAuthority('SCREEN_PRODUCTS') Consulte a correspondência entre autoridades e perfis em Autenticação.
Headers: Authorization: Bearer <TOKEN>. Accept: application/json recomendado.
Parâmetros:
| Nome | Local | Tipo | Obrigatório | Padrão |
|---|---|---|---|---|
entidade | path | String | Sim | — |
entidadeId | path | Long | Sim | — |
page | query | int | Não | 0 |
size | query | int | Não | 20 |
Corpo: não declarado; não enviar corpo.
Resposta de sucesso: Page<HistoricoMovimentacaoResponseDTO>. Campos em Modelos.
Exemplo estrutural sintético, sem afirmar valores de produção:
json
{
"content": [],
"totalElements": 1,
"totalPages": 0,
"size": 1,
"number": 1,
"first": false,
"last": false,
"empty": false,
"numberOfElements": 1,
"pageable": {},
"sort": {}
}Códigos HTTP: 200, 401, 403. Códigos de segurança dependem da cadeia de filtros; falhas não capturadas podem chegar ao tratamento global descrito em Erros.
Regras de negócio e dependências: HistoricoMovimentacaoService.listarPorEntidade. Consulte documento interno de regras de negócio para efeitos persistentes e validações compartilhadas.
cURL (Bash):
bash
curl -X GET "${BASE_URL}/api/historico-movimentacao/entidade/1/1" -H "Authorization: Bearer ${TOKEN}"