Skip to main content

O objeto Imóvel

{
  "id": "abc123",
  "nome": "Apto Centro",
  "rua": "Rua das Flores",
  "numero": "123",
  "complemento": "Apto 42",
  "bairro": "Centro",
  "cidade": "São Paulo",
  "estado": "SP",
  "cep": "01310-100",
  "quartos": 2,
  "suites": 1,
  "banheiros": 2,
  "vagas": 1,
  "area": 65,
  "areaTotal": 70,
  "andar": 4,
  "tipoImovel": "Apartamento",
  "tipoLocacao": "Residencial",
  "valorAluguel": "2500",
  "valorCondominio": "450",
  "valorIPTU": "120",
  "aceitaPets": true,
  "mobiliado": "Semi-mobiliado",
  "descricao": "Apartamento reformado, próximo ao metrô.",
  "status": "DISPONIVEL",
  "fotosKeys": [
    { "key": "imoveis/abc123/foto1.jpg", "url": "https://..." }
  ],
  "fotoCapa": "https://...",
  "nomeExibicao": "Apto Centro",
  "userId": "uid_do_usuario",
  "criadoEm": "2025-01-10T14:00:00.000Z"
}

Campos calculados

CampoDescrição
fotoCapaPrimeira imagem do array fotosKeys que não seja vídeo. Fallback: primeiro item.
nomeExibicaonome se preenchido; caso contrário, "${rua}, ${numero}".

Criar imóvel

cep
string
required
CEP do imóvel.
rua
string
required
Logradouro.
numero
string
required
Número do imóvel.
bairro
string
required
Bairro.
cidade
string
required
Cidade.
estado
string
required
UF (ex: SP, RJ).
nome
string
Apelido do imóvel. Se não informado, o nomeExibicao usa o endereço.
status
string
default:"DISPONIVEL"
Status do imóvel. Valores: DISPONIVEL, ALUGADO, MANUTENCAO.
POST /imoveis
Cookie: imob_session=<session_cookie>
Content-Type: application/json

{
  "cep": "01310-100",
  "rua": "Rua das Flores",
  "numero": "123",
  "bairro": "Centro",
  "cidade": "São Paulo",
  "estado": "SP",
  "nome": "Apto Centro",
  "quartos": 2,
  "valorAluguel": "2500"
}
Resposta 201
{
  "message": "Imovel cadastrado com sucesso",
  "id": "abc123"
}

Listar imóveis

Retorna todos os imóveis do usuário autenticado, sem paginação. Ordenação em memória por criadoEm desc.
GET /imoveis
Cookie: imob_session=<session_cookie>
Resposta 200
[
  {
    "id": "abc123",
    "nomeExibicao": "Apto Centro",
    "fotoCapa": "https://...",
    "status": "DISPONIVEL",
    ...
  }
]

Buscar imóvel por ID

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

Atualizar imóvel

Aceita qualquer subconjunto de campos. Retorna 404 se não existir, 403 se pertencer a outro usuário.
PATCH /imoveis/:id
Cookie: imob_session=<session_cookie>
Content-Type: application/json

{
  "status": "ALUGADO",
  "valorAluguel": "2800"
}
Resposta 200
{
  "message": "Imovel atualizado com sucesso"
}

Deletar imóvel

A deleção é permanente (hard delete). Certifique-se de que não há contratos ativos vinculados antes de remover.
DELETE /imoveis/:id
Cookie: imob_session=<session_cookie>