Skip to main content

Visão Geral

Cada imóvel pode ter um inventário de itens — móveis, eletrodomésticos, chaves, etc. Itens removidos usam soft delete (ativo: false), preservando o histórico para uso em vistorias já criadas.

O objeto Item

{
  "id": "inv001",
  "imovelId": "abc123",
  "nomeItem": "Sofá 3 lugares",
  "categoria": "Móvel",
  "quantidade": 1,
  "condicao": "Ótimo",
  "observacoes": "Sofá de couro marrom, sem defeitos.",
  "fotosUrls": ["https://..."],
  "codigoBarras": "",
  "codigoItem": "ABC1-MOV-001",
  "ativo": true,
  "userId": "uid_do_usuario",
  "criadoEm": "2025-01-10T10:00:00.000Z",
  "atualizadoEm": "2025-01-10T10:00:00.000Z"
}

codigoItem

Gerado automaticamente no formato {imovelId[0:4]}-{categoria[0:3]}-{seq}. Exemplo: ABC1-MOV-001. Não pode ser alterado após a criação.

Categorias válidas

Móvel, Eletrodoméstico, Eletrônico, Chave, Utensílio, Outro

Condições válidas

Ótimo, Bom, Regular, Ruim

Criar item

imovelId
string
required
ID do imóvel. Deve pertencer ao usuário autenticado.
nomeItem
string
required
Nome descritivo do item.
categoria
string
required
Uma das categorias válidas.
quantidade
number
default:"1"
Quantidade de unidades.
condicao
string
default:"Bom"
Uma das condições válidas.
codigoBarras
string
EAN ou código de barras do produto. Opcional.
POST /inventario
Cookie: imob_session=<session_cookie>
Content-Type: application/json

{
  "imovelId": "abc123",
  "nomeItem": "Sofá 3 lugares",
  "categoria": "Móvel",
  "quantidade": 1,
  "condicao": "Ótimo"
}
Resposta 201
{
  "id": "inv001",
  "codigoItem": "ABC1-MOV-001",
  ...
}

Listar itens do imóvel

Retorna apenas itens com ativo: true, ordenados por categoria e depois por nomeItem.
GET /inventario/imovel/:imovelId
Cookie: imob_session=<session_cookie>

Buscar item por ID

GET /inventario/:id
Cookie: imob_session=<session_cookie>

Atualizar item

Os campos codigoItem, imovelId e userId são protegidos e ignorados mesmo que enviados no body.
PATCH /inventario/:id
Cookie: imob_session=<session_cookie>
Content-Type: application/json

{
  "condicao": "Regular",
  "observacoes": "Desgaste natural após uso."
}

Remover item (soft delete)

O item não é apagado do banco — apenas marcado com ativo: false e removidoEm. Isso preserva referências em vistorias históricas.
DELETE /inventario/:id
Cookie: imob_session=<session_cookie>
Resposta 200
{
  "message": "Item removido do inventário."
}