Properties API
Casas e apartamentos: listar, adicionar, remover, ler cofre e moradores.
GET
/elite-saas/properties/list🔒 authCatálogo: residências cadastradas que NÃO têm dono (livres para alocar). Até 1500 entradas.
json
{
"properties": [
{
"propertyId": "ap-vinewood-001",
"label": "Apartamento Vinewood 12B",
"type": "apartment",
"price": 250000,
"image": "https://cdn.exemplo.com/properties/vinewood.png"
}
]
}GET
/elite-saas/properties/<userId>🔒 authPropriedades de um jogador. Open-schema: residentes, cofre, IPTU, etc. aparecem dinamicamente.
json
{
"userId": 4823,
"properties": [
{
"propertyId": "ap-vinewood-001",
"label": "Apartamento Vinewood 12B",
"type": "apartment",
"preco": 250000,
"interior": "studio_a",
"iptu": "em-dia",
"residentes": [
{ "userId": 4823, "name": "João", "role": "owner" },
{ "userId": 9012, "name": "Maria", "role": "resident" }
],
"cofre": { "items": 8, "weight": 12500 }
}
]
}POST
/elite-saas/properties/<userId>/add🔒 authAtribui uma propriedade ao usuário. Falha se a propriedade já tiver dono.
propertyIdstringrequired
ID da residência (igual ao retornado em
/properties/list).POST
/elite-saas/properties/<userId>/remove🔒 authRemove o vínculo do usuário com a propriedade. Não apaga a residência do catálogo.
propertyIdstringrequired
ID que ele possui.
Cofre da propriedade
GET
/elite-saas/properties/chest/<propertyId>🔒 authItems dentro do cofre da propriedade. Lê mtg_containers.
POST
/elite-saas/properties/chest/<propertyId>/remove🔒 authRetira item do cofre. Mesma semântica de inventory/remove.
itemstringrequired
Identificador interno.
amountintegeroptional
Default 1.
slotintegeroptional
Slot específico.
Moradores
GET
/elite-saas/properties/residents/<propertyId>🔒 authOwner + residentes da propriedade. Une dados de core_homes (owner) e mtg_home_residents (extras).
json
{
"propertyId": "ap-vinewood-001",
"residents": [
{ "userId": 4823, "name": "João Pereira", "role": "owner" },
{ "userId": 9012, "name": "Maria Silva", "role": "resident" }
]
}POST
/elite-saas/properties/residents/<propertyId>/remove🔒 authTira morador da propriedade (não funciona com o owner — use /remove de propriedade pra mudar o dono).
userIdintegerrequired
Morador a remover.
Tabelas envolvidas
core_homes— vínculo user ↔ propriedade. Pode terresidentscomo JSON/CSV inline.core_residences— catálogo de residências.mtg_containers— cofre, key = propertyId.mtg_home_residents— moradores extra (opcional).vrp_user_identities— pra resolver nomes dos moradores.