Skip to content

API - Estoque

Endpoints

GET /t/:slug/inventory

Lista todos os itens do estoque.

Response:

json
[
  {
    "_id": "...",
    "name": "Filé Mignon",
    "sku": "CAR-001",
    "currentStock": 15,
    "minStock": 5,
    "unit": "kg",
    "cost": 4500,
    "status": "active"
  }
]

POST /t/:slug/inventory

Cria um novo item.

Body:

json
{
  "name": "Picanha",
  "sku": "CAR-002",
  "currentStock": 10,
  "minStock": 3,
  "unit": "kg",
  "cost": 5500
}

PUT /t/:slug/inventory/:id

Atualiza um item.

DELETE /t/:slug/inventory/:id

Remove um item.


Movimentações

POST /t/:slug/inventory/:id/movements

Registra uma movimentação.

Body:

json
{
  "type": "entry",
  "quantity": 5,
  "reason": "Compra fornecedor"
}

Tipos de Movimentação

TipoDescrição
entryEntrada (compra, importação NFS)
exitSaída (venda, perda)
adjustmentAjuste de inventário
transferTransferência entre filiais
reservationReserva interna

Motivos de Movimentação

MotivoDescrição
purchaseCompra de fornecedor
saleVenda (dedução automática)
transferTransferência
adjustmentAjuste manual
productionProdução interna
lossPerda
theftFurto
expirationVencimento
returnDevolução

POST /t/:slug/inventory/import-nfs

Importa uma NF-e XML de fornecedor e cria/atualiza itens de estoque.

Content-Type: multipart/form-data

CampoTipoDescrição
fileFileArquivo XML da NF-e (.xml)

Response 201:

json
{
  "success": true,
  "nfeNumber": "42",
  "nfeKey": "35260312345678000195550010000000421234567890",
  "emitter": "FORNECEDOR LTDA",
  "totalItems": 12,
  "created": 3,
  "updated": 9,
  "movements": 12,
  "skipped": 0,
  "errors": []
}

Requer: role admin ou superadmin


GET /t/:slug/inventory/expiration-alerts

Retorna itens com validade vencida ou próxima.

Response 200:

json
{
  "expiredItems": [
    {
      "_id": "...",
      "name": "Leite Integral",
      "sku": "LAT-001",
      "expirationDate": "2026-02-28T00:00:00.000Z",
      "availableQuantity": 5,
      "unit": "l"
    }
  ],
  "expiringIn7": [...],
  "expiringIn30": [...]
}

Requer: role admin, staff ou superadmin

Lançado sob a licença MIT.