# 09. 📊 Controle de Estoque

**Consulta de produtos e posições de estoque** Consulta de produtos cadastrados e histórico de posições de estoque. **Funcionalidades:**

* Listagem de produtos cadastrados
* Consulta de posição histórica de estoque
* Geração de relatórios em Excel
* Filtros por código, descrição, NCM e status

## Consulta posição histórica de estoques por produto

> \*\*Consulta posição histórica de estoques por produto\*\*\
> \
> Retorna a evolução da posição de estoque de produtos em um período específico.\
> Os dados são agrupados por produto e apresentam a quantidade disponível\
> para cada dia do período informado.\
> \
> \*\*Funcionalidades:\*\*\
> \- Histórico diário de posições de estoque\
> \- Agrupamento por produto (código e descrição)\
> \- Filtro por período de datas\
> \- Rastreamento de movimentações ao longo do tempo\
> \
> \*\*Estrutura dos dados:\*\*\
> \- Cada produto contém seu código e descrição\
> \- Array de posições diárias com data e quantidade\
> \- Quantidade representa o estoque disponível no final do dia\
> \
> \*\*Uso típico:\*\*\
> \- Análise de evolução de estoque\
> \- Relatórios gerenciais de movimentação\
> \- Auditoria de posições históricas\
> \- Gráficos de tendência de estoque

```json
{"openapi":"3.0.1","info":{"title":"Mainô API","version":"v2.0"},"tags":[{"name":"09. 📊 Controle de Estoque","description":"**Consulta de produtos e posições de estoque**\nConsulta de produtos cadastrados e histórico de posições de estoque.\n**Funcionalidades:**\n- Listagem de produtos cadastrados\n- Consulta de posição histórica de estoque\n- Geração de relatórios em Excel\n- Filtros por código, descrição, NCM e status"}],"servers":[{"url":"https://api.maino.com.br/api/v2","description":"Servidor de Produção"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"**Token JWT de Autenticação**\nToken obtido através do endpoint `/authentication`.\n**Formato:** `Bearer {seu_token_jwt}`\n**Exemplo:** `Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...`\n**Validade:** Sem expiração"}}},"paths":{"/posicao_estoques":{"get":{"summary":"Consulta posição histórica de estoques por produto","tags":["09. 📊 Controle de Estoque"],"description":"**Consulta posição histórica de estoques por produto**\n\nRetorna a evolução da posição de estoque de produtos em um período específico.\nOs dados são agrupados por produto e apresentam a quantidade disponível\npara cada dia do período informado.\n\n**Funcionalidades:**\n- Histórico diário de posições de estoque\n- Agrupamento por produto (código e descrição)\n- Filtro por período de datas\n- Rastreamento de movimentações ao longo do tempo\n\n**Estrutura dos dados:**\n- Cada produto contém seu código e descrição\n- Array de posições diárias com data e quantidade\n- Quantidade representa o estoque disponível no final do dia\n\n**Uso típico:**\n- Análise de evolução de estoque\n- Relatórios gerenciais de movimentação\n- Auditoria de posições históricas\n- Gráficos de tendência de estoque","parameters":[{"name":"data_inicio","in":"query","schema":{"type":"string","format":"date"},"required":false,"description":"Data inicial do período para consulta (formato YYYY-MM-DD)"},{"name":"data_fim","in":"query","schema":{"type":"string","format":"date"},"required":false,"description":"Data final do período para consulta (formato YYYY-MM-DD)"},{"name":"page","in":"query","schema":{"type":"integer","minimum":1},"description":"Número da página para paginação (padrão: 1)","required":false}],"responses":{"200":{"description":"Posições históricas de estoque","content":{"Histórico com dados":{},"Período sem dados":{},"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"Lista dos produtos com suas posições históricas","items":{"type":"object","properties":{"codigo_produto":{"type":"string","description":"Código do produto"},"codigo_descricao":{"type":"string","description":"Descrição do produto"},"posicao_estoques":{"type":"array","description":"Posições diárias de estoque no período","items":{"type":"object","properties":{"data_posicao_estoque":{"type":"string","format":"date","description":"Data da posição de estoque"},"quantidade_produto":{"type":"number","format":"float","description":"Quantidade disponível no final do dia","nullable":true}},"required":["data_posicao_estoque","quantidade_produto"]}}},"required":["codigo_produto","codigo_descricao","posicao_estoques"]}}},"required":["data"]}}}},"401":{"description":"Não autorizado","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Erro de autenticação"}}}}}}}}}}}
```

## Lista produtos

> \*\*Lista completa de produtos com informações de estoque e preços\*\*\
> \
> Retorna todos os produtos cadastrados para o usuário autenticado, incluindo:\
> \- Informações básicas (código, descrição, categoria)\
> \- Dados de estoque atual e movimentações\
> \- Preços de custo e venda configurados\
> \- Classificação fiscal (NCM) e unidades de medida\
> \- Informações de e-commerce\
> \- Imagens e tags\
> \
> \*\*Recursos de filtragem:\*\*\
> \- Status (ativo/inativo)\
> \- Produtos zerados ou com estoque\
> \- Busca por código ou descrição\
> \- Filtragem por NCM ou unidade de medida\
> \- Paginação (padrão: 100 itens por página)

```json
{"openapi":"3.0.1","info":{"title":"Mainô API","version":"v2.0"},"tags":[{"name":"09. 📊 Controle de Estoque","description":"**Consulta de produtos e posições de estoque**\nConsulta de produtos cadastrados e histórico de posições de estoque.\n**Funcionalidades:**\n- Listagem de produtos cadastrados\n- Consulta de posição histórica de estoque\n- Geração de relatórios em Excel\n- Filtros por código, descrição, NCM e status"}],"servers":[{"url":"https://api.maino.com.br/api/v2","description":"Servidor de Produção"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"**Token JWT de Autenticação**\nToken obtido através do endpoint `/authentication`.\n**Formato:** `Bearer {seu_token_jwt}`\n**Exemplo:** `Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...`\n**Validade:** Sem expiração"}}},"paths":{"/produtos":{"get":{"summary":"Lista produtos","tags":["09. 📊 Controle de Estoque"],"description":"**Lista completa de produtos com informações de estoque e preços**\n\nRetorna todos os produtos cadastrados para o usuário autenticado, incluindo:\n- Informações básicas (código, descrição, categoria)\n- Dados de estoque atual e movimentações\n- Preços de custo e venda configurados\n- Classificação fiscal (NCM) e unidades de medida\n- Informações de e-commerce\n- Imagens e tags\n\n**Recursos de filtragem:**\n- Status (ativo/inativo)\n- Produtos zerados ou com estoque\n- Busca por código ou descrição\n- Filtragem por NCM ou unidade de medida\n- Paginação (padrão: 100 itens por página)","parameters":[{"name":"ativos","in":"query","description":"Filtrar apenas produtos ativos (true) ou incluir inativos (false)","required":false,"schema":{"type":"boolean"}},{"name":"zerados","in":"query","description":"Incluir produtos com estoque zerado na listagem","required":false,"schema":{"type":"boolean"}},{"name":"codigo","in":"query","description":"Busca parcial por código do produto (case-insensitive)","required":false,"schema":{"type":"string"}},{"name":"descricao","in":"query","description":"Busca parcial por descrição do produto (case-insensitive)","required":false,"schema":{"type":"string"}},{"name":"unidade_de_medida","in":"query","description":"Filtrar por sigla da unidade de medida","required":false,"schema":{"type":"string"}},{"name":"ncm","in":"query","description":"Filtrar por código NCM (classificação fiscal)","required":false,"schema":{"type":"string"}},{"name":"ultima_modificacao","in":"query","schema":{"type":"string","format":"datetime"},"description":"Filtrar produtos modificados a partir desta data/hora","required":false},{"name":"page","in":"query","schema":{"type":"integer","minimum":1},"description":"Número da página para paginação (padrão: 1)","required":false}],"responses":{"200":{"description":"Lista de produtos retornada com sucesso","content":{"Lista de produtos":{},"application/json":{"schema":{"type":"object","properties":{"produtos":{"type":"array","description":"Array de produtos com informações completas","items":{"type":"object","properties":{"id":{"type":"integer","description":"ID do produto"},"codigo":{"type":"string","description":"Código do produto"},"descricao":{"type":"string","description":"Descrição do produto"},"informacoes_complementares":{"type":"string","nullable":true,"description":"Informações complementares"},"principal_modelo_ecommerce":{"type":"boolean","description":"Se é modelo principal no e-commerce"},"codigo_ecommerce":{"type":"string","nullable":true,"description":"Código no e-commerce"},"titulo_ecommerce":{"type":"string","nullable":true,"description":"Título no e-commerce"},"descricao_ecommerce":{"type":"string","nullable":true,"description":"Descrição no e-commerce"},"marca":{"type":"string","nullable":true,"description":"Marca do produto"},"modelo":{"type":"string","nullable":true,"description":"Modelo do produto"},"nome_fabricante":{"type":"string","nullable":true,"description":"Nome do fabricante"},"observacao_interna":{"type":"string","nullable":true,"description":"Observação interna"},"peso_liquido":{"type":"number","format":"float","nullable":true,"description":"Peso líquido total"},"peso_liquido_unitario":{"type":"number","format":"float","nullable":true,"description":"Peso líquido unitário"},"peso_bruto":{"type":"number","format":"float","nullable":true,"description":"Peso bruto total"},"peso_bruto_unitario":{"type":"number","format":"float","nullable":true,"description":"Peso bruto unitário"},"pu":{"type":"number","format":"float","description":"Preço unitário de entrada"},"pu_saida":{"type":"number","format":"float","description":"Preço unitário de saída"},"pu_saida_com_ipi":{"type":"number","format":"float","description":"Preço de saída com IPI"},"valor_ipi":{"type":"number","format":"float","description":"Valor do IPI"},"aliquota_ipi":{"type":"number","format":"float","description":"Alíquota do IPI (%)"},"composicao_de_preco_de_venda":{"type":"boolean","description":"Se usa composição de preço de venda"},"qtde":{"type":"number","format":"float","description":"Quantidade em estoque"},"qtde_comprometida":{"type":"number","format":"float","description":"Quantidade comprometida"},"qtde_armazenada":{"type":"number","format":"float","description":"Quantidade armazenada"},"gtin":{"type":"string","nullable":true,"description":"Código de barras GTIN"},"codigo_de_barras_interno":{"type":"string","nullable":true,"description":"Código de barras interno"},"ncm":{"type":"string","nullable":true,"description":"Código NCM"},"unidade_de_medida":{"type":"string","nullable":true,"description":"Sigla da unidade de medida"},"ativo":{"type":"boolean","description":"Se o produto está ativo"},"ultima_modificacao":{"type":"string","format":"datetime","description":"Data/hora da última modificação"},"tags":{"type":"array","items":{"type":"string"},"description":"Lista de tags do produto"},"altura":{"type":"number","format":"float","nullable":true,"description":"Altura"},"comprimento":{"type":"number","format":"float","nullable":true,"description":"Comprimento"},"largura":{"type":"number","format":"float","nullable":true,"description":"Largura"},"imagem_principal":{"type":"string","nullable":true,"description":"URL da imagem principal"},"imagens":{"type":"array","description":"Lista de imagens do produto","items":{"type":"object","properties":{"id":{"type":"integer","description":"ID da imagem"},"url":{"type":"string","description":"URL da imagem"},"principal":{"type":"boolean","description":"Se é a imagem principal"}}}},"categoria":{"type":"object","nullable":true,"description":"Categoria do produto","properties":{"id":{"type":"integer","description":"ID da categoria"},"nome":{"type":"string","description":"Nome da categoria"}}},"subcategoria":{"type":"object","nullable":true,"description":"Subcategoria do produto","properties":{"id":{"type":"integer","description":"ID da subcategoria"},"nome":{"type":"string","description":"Nome da subcategoria"},"nome_com_categoria":{"type":"string","description":"Nome completo com categoria"}}},"propriedades":{"type":"array","description":"Propriedades customizadas do produto","items":{"type":"object","properties":{"propriedade":{"type":"string","description":"Nome da propriedade"},"valor":{"type":"string","description":"Valor da propriedade"}}}},"tabelas_de_vendas":{"type":"array","description":"Tabelas de vendas com preços calculados","items":{"type":"object","properties":{"codigo":{"type":"string","description":"Código da tabela"},"descricao":{"type":"string","description":"Descrição da tabela"},"pu_calculado":{"type":"number","format":"float","description":"Preço calculado"}}}}},"required":["id","codigo","descricao"]}},"pagination":{"type":"object","description":"Informações de paginação","properties":{"total":{"type":"integer","description":"Total de registros"},"previous_page":{"type":"string","nullable":true,"description":"URL da página anterior"},"next_page":{"type":"string","nullable":true,"description":"URL da próxima página"}}}},"required":["produtos","pagination"]}}}},"401":{"description":"Não autorizado","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Mensagem de erro"}}}}}}}}}}}
```
