Ir al contenido principal

Buscar Propiedad por Código

Permite obtener la información completa de una propiedad específica a partir de su código único. La respuesta incluye datos generales, ubicación, valores económicos, características, propietarios, imágenes, videos y códigos de portales inmobiliarios.

¿Para qué sirve este servicio?
Úsalo cuando ya conoces el código del inmueble y necesitas consultar toda su información detallada. Es ideal para mostrar la ficha completa de una propiedad en tu sitio web, sincronizar datos de un elementoinmueble quepuntual contieneo verificar la información deregistrada en el sistema.


1. El Endpoint (La dirección web)

Apunta tu sistema a la propiedad.

siguiente

Endpoint: https://dirección. Recuerda reemplazar {{instancia}}.arrendasoft.co/ por la dirección web completa que utilizas para ingresar a tu plataforma, y {{code}} por el código numérico del inmueble que deseas consultar.

GET https://{{instancia}}/service/v2/public/properties/{{code}}

¿Qué debes colocar en {{instancia}}:? Hace
Es referenciamuy sencillo: corresponde a la instanciadirección web principal que utilizas a diario para ingresar a tu plataforma (incluyendo la terminación .nuby.app o .arrendasoft.co).
Por ejemplo, si para entrar a tu sistema escribes inmobiliaria.nuby.app o inmobiliaria.arrendasoft.co en tu navegador, esa será exactamente tu instancia. Solo asegúrate de cadano inmobiliaria.incluir el "https://" ni barras diagonales ("/") al final.

2. La Petición (¿Qué debes enviarnos?)

Este servicio no requiere cuerpo en la petición ni autenticación. Solo necesitas construir la URL con el código de la propiedad como parte de la ruta:

Método GET
Content-Type application/json

AuthorizationEndpoint público
Este Bearerservicio token,no requiere Token obtenidode alautenticación. consumirPuedes consumirlo directamente sin necesidad de pasar por el servicio Loginde Login.

Parámetro de ruta:

correspondeal
ParámetroTipoRequeridoDescripción
Parámetrocode {{code}},integer Código códigonumérico deúnico ladel propiedadinmueble aque consultarse desea consultar. Debe ser un número entero positivo.

EjemploEjemplos de peticiónpeticiones:

GET https://{{instancia}}.arrendasoft.co//service/v2/public/properties/137
GET https://{{instancia}}/service/v2/public/properties/2045

3. La Respuesta (¿Qué te entregaremos?)

Elemento El sistema te devolverá un objeto JSON con toda la información de la propiedad.propiedad solicitada. Si el código no corresponde a ningún inmueble registrado, se devolverá un arreglo vacío [].

Respuesta como objeto, no como lista
A diferencia del servicio Listar Propiedades que devuelve un arreglo de objetos [{...}, {...}], este servicio devuelve directamente un único objeto {...} con la información del inmueble consultado.

La respuesta exitosa se verá similar a esta:

{
    "codigo": "137",
    "titulo": "Apartamento cercaamplio delcon estadiovista yal laparque cuarta brigada"central",
    "clase_id": "1247",
    "clase_inmueble": "Apartamento",
    "tipo_servicio_id": "arriendo",
    "tipo_servicio": "Arriendo",
    "estrato": "1258",
    "estrato_texto": "Cuatro",
    "fecha_consignacion": "2024-04-26",
    "asesor_id": "5",
    "asesor": "InterServicios"María López Ramírez",
    "pais_id": "1",
    "pais": "COLOMBIA",
    "departamento_id": "5",
    "departamento": "Antioquia",
    "municipio_id": "1",
    "municipio": "Medellin",
    "barrio_id": "3",
    "barrio": "Estadio"Los Rosales",
    "direccion": "CALLE 5045 # 7432 - 12"18",
    "coordenadas": "6.21505012838972:24830000000000:-75.57529436962885"56120000000000",
    "valor_arriendo1": "1600000",
    "valor_arriendo2": "0",
    "valor_venta1": "0",
    "valor_venta2": "0",
    "valor_administracion": "0"250000",
    "avaluo_catastral": "0"185000000",
    "impuesto_predial": "0.1250000.00",
    "area": "75.00",
    "observaciones": null,"Inmueble ubicado en zona residencial tranquila, cerca de centros comerciales y transporte público.",
    "propiedad_destacada": "No",
    "llaves_en": "oficina",
    "llaves_otro": null,
    "paga_cuota_sost": "propietario",
    "folio_matricula": null,"001-123456",
    "referencia_catastral": null,"05001010203040",
    "edificio_unidad": "urbanizacion",
    "estado": "1",
    "estado_texto": "Activa",
    "cantidad_images": "3",
    "cantidad_videos": "1",
    "fecha_creacion": "2024-04-26 10:30:00",
    "ultima_fecha_modificacion": "2024-05-15 14:22:00",
    "caracteristicas": [
        {
            "id": "1",
            "descripcion": "Nº De Habitaciones",
            "tipo_campo": "numeric",
            "orden": "1",
            "grupo": "Características del inmueble",
            "valor": "4"
        },
        {
            "id": "2",
            "descripcion": "Nº De Baños",
            "tipo_campo": "numeric",
            "orden": "2",
            "grupo": "Características del inmueble",
            "valor": "3"
        },
        {
            "id": "5",
            "descripcion": "Nº De Piso",
            "tipo_campo": "numeric",
            "orden": "3",
            "grupo": "Características del inmueble",
            "valor": "1"
        },
        {
            "id": "4",
            "descripcion": " Antigüedad del Inmueble",
            "tipo_campo": "numeric",
            "orden": "5",
            "grupo": "Características del Inmueble",
            "valor": "3"
        },
        {
            "id": "14",
            "descripcion": "Cocina Integral",
            "tipo_campo": "checkbox",
            "orden": "5",
            "grupo": "Características Internas",
            "valor": "1"
        },
        {
            "id": "34",
            "descripcion": "Sala",
            "tipo_campo": "checkbox",
            "orden": "6",
            "grupo": "Características del Inmueble",
            "valor": "1"
        },
        {
            "id": "31",
            "descripcion": "Red de gas",
            "tipo_campo": "select",
            "orden": "5",
            "grupo": "Características del Inmueble",
            "valor": "si",
            "valor_texto": "Si"
        },
        {
            "id": "63",
            "descripcion": "Garaje",
            "tipo_campo": "checkbox",
            "orden": "10",
            "grupo": "Características Internas",
            "valor": "1"
        }
    ],
    "propietarios": [
        {
            "id": "272",
            "documento": "4207050496"1020304050",
            "nombres": "CRISTINAANA GUERRERO"MARÍA",
            "apellidos": ""PÉREZ RODRÍGUEZ"
        }
    ],
    "imagenes": [
        {
            "posicion": "1",
            "size": "19201080",
            "img": "img/fotos/1920x1080_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6.jpeg",
            "imagen": "https://qa.arrendasoft.co/mi-inmobiliaria.nuby.app/img/fotos/1920x1080_66ae4cfba9aa891473fe8f78a0c7e6f6.1920x1080_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6.jpeg"
        },
        {
            "posicion": "2",
            "size": "19201080",
            "img": "img/fotos/1920x1080_f6e5d4c3b2a1f6e5d4c3b2a1f6e5d4c3.jpeg",
            "imagen": "https://qa.arrendasoft.co/mi-inmobiliaria.nuby.app/img/fotos/1920x1080_660ae9fb29a0ff3c0e47cf13cde4740e.1920x1080_f6e5d4c3b2a1f6e5d4c3b2a1f6e5d4c3.jpeg"
        },
        {
            "posicion": "3",
            "size": "19201080",
            "img": "img/fotos/1920x1080_b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8.jpeg",
            "imagen": "https://qa.arrendasoft.co/mi-inmobiliaria.nuby.app/img/fotos/1920x1080_83883a0f75ddae325f41eafce4066631.1920x1080_b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8.jpeg"
        }
    ],
    "videos": [
        {
            "url": "608AV8w6gL0"dQw4w9WgXcQ",
            "tipo": "youtube",
            "descripcion": null,
            "posicion": "1"
        }
    ],
    "codigos_portales": [
        {
            "nombre_portal": "metrocuadrado",
            "id_portal": "MC-98765",
            "tipo_servicio": "arriendo"
        }
    ]
}

Cuando el código no corresponde a ningún inmueble, la respuesta será:

[]
ClavesCampos y Descripciones del JSONprincipales de Propiedadla propiedad

Esta tabla enumera las claves presentes en el JSON de unala propiedad y proporciona una breve descripción de cada una, explicando su propósito y el tipo de información que contienen.una:

Clave Descripción
codigo Código único del inmueble en el sistema.
titulo Título del anuncio del inmuebleinmueble.
clase_id IDIdentificador de la clase de inmueble. Corresponde al id del inmuebleservicio Listar Clases de Inmueble.
clase_inmueble ClaseNombre delde la clase de inmueble (por ejemplo: "Apartamento", "Casa", "Finca").
tipo_servicio_id IDIdentificador del tipo de servicio. Valores posibles: "arriendo", "venta", "venta y arriendo".
tipo_servicioNombre descriptivo del tipo de servicio (por ejemplo: "Arriendo", "Venta").
tipo_servicioestrato TipoIdentificador dedel servicioestrato (arriendo/venta)socioeconómico del inmueble.
estratoID del estrato del inmueble
estrato_texto Texto descriptivo del estrato (por ejemplo: "Cuatro", "Tres").
fecha_consignacion Fecha deen consignaciónque delel inmueble fue captado/consignado para su gestión. Formato: YYYY-MM-DD.
asesor_id IDIdentificador del asesor asignado al inmueble. Cadena vacía si no tiene asesor asignado.
asesorNombre completo del asesor asignado.
pais_idIdentificador del país donde se ubica el inmueble.
pais Nombre del asesorpaís.
pais_iddepartamento_id IDIdentificador del paísdepartamento/estado/provincia.
paisdepartamento Nombre del paísdepartamento.
departamento_idmunicipio_id IDIdentificador del departamentomunicipio/ciudad.
departamentomunicipio Nombre del departamentomunicipio.
municipio_idbarrio_id IDIdentificador del municipiobarrio. Puede ser null si no se ha asignado barrio.
municipiobarrio Nombre del municipiobarrio.
barrio_iddireccion IDDirección física del barrioinmueble.
barrioNombre del barrio
direccionDirección del inmueble
coordenadas Coordenadas geográficas del inmueble en formato latitud:longitud.
valor_arriendo1 Valor principal de arriendo (canon mensual).
valor_arriendo2 Valor secundario de arriendoarriendo. 0 si no aplica.
valor_venta1 Valor principal de ventaventa.
valor_venta2 Valor secundario de ventaventa. 0 si no aplica.
valor_administracion Valor de administraciónla cuota de administración.
avaluo_catastral Avalúo catastral del inmuebleinmueble.
impuesto_predial ImpuestoValor predialdel impuesto predial.
area Área del inmueble en metros cuadrados.
observaciones Observaciones adicionaleso descripción adicional del inmueble. Puede ser null.
propiedad_destacada IndicadorIndica desi la propiedad destacadaestá marcada como destacada. Valores: "Si" o "No".
llaves_en Lugar donde estánse encuentran las llaves del inmueble (por ejemplo: "oficina").
llaves_otro OtroUbicación lugaralternativa donde estánde las llavesllaves, si aplica. Puede ser null.
paga_cuota_sost Quién paga la cuota de sostenimiento (por ejemplo: "propietario"). Puede ser null.
folio_matricula FolioNúmero de folio de matrícula inmobiliaria. Puede ser null.
referencia_catastral Referencia catastral del inmueble. Puede ser null.
edificio_unidad NombreTipo de agrupamiento del edificioinmueble o(por unidadejemplo: "urbanizacion", "edificio", "conjunto").
estado IDIdentificador numérico del estado del inmuebleinmueble. Valores: 0 (Arrendada), 1 (Activa), 2 (Inactiva), 3 (Vendida).
estado_texto Texto descriptivo del estado (por ejemplo: "Activa", "Arrendada").
cantidad_images Cantidad de imágenes delasociadas inmuebleal inmueble.
cantidad_videos Cantidad de videos delasociados inmuebleal inmueble.
fecha_creacionFecha y hora de creación del registro en el sistema. Formato: YYYY-MM-DD HH:MM:SS.
ultima_fecha_modificacionFecha y hora de la última modificación del registro. Formato: YYYY-MM-DD HH:MM:SS.
caracteristicas Lista de características del inmueble (ver tabla detallada abajo).
propietarios Lista de propietarios del inmueble (ver tabla detallada abajo).
imagenes Lista de imágenes del inmueble (ver tabla detallada abajo).
videos Lista de videos del inmueble (ver tabla detallada abajo).
codigos_portalesLista de códigos de publicación en portales inmobiliarios externos (ver tabla detallada abajo).
Características

Cada elemento dentro de la lista caracteristicas tienecontiene lasla siguientesinformación claves:de una característica del inmueble y su valor asignado:

Clave Descripción
id IDIdentificador de la característicacaracterística. Corresponde al id del servicio Listar Características.
descripcion DescripciónNombre descriptivo de la característica (por ejemplo: "Nº De Habitaciones").
tipo_campo Tipo de campocampo: denumeric, lacheckbox, característicaselect, entre otros.
orden OrdenPosición de la característica dentro de su grupo.
grupo Grupo al que pertenece la característicacaracterística.
valor Valor asignado a la característica para esta propiedad. Para numeric: un número. Para checkbox: "1" (marcado). Para select: el valor técnico de la característicaopción seleccionada.
valor_texto TextoDescripción descriptivolegible del valor seleccionado. Solo presente cuando tipo_campo es select (sipor aplica)ejemplo: valor "si" → valor_texto "Si").
Propietarios

Cada elemento dentro de la lista propietarios tienecontiene lasla siguientesinformación claves:de un propietario del inmueble:

Clave Descripción
id IDIdentificador del propietario (tercero) en el sistema.
documento DocumentoNúmero de documento de identificación del propietario.
nombres Nombres del propietariopropietario.
apellidos Apellidos del propietariopropietario.
Imágenes

Cada elemento dentro de la lista imagenes tienecontiene lasla siguientesinformación claves:de una fotografía del inmueble:

Clave Descripción
posicion Posición de ordenamiento de la imagen (1 = principal).
size TamañoResolución de la imagen (por ejemplo: "19201080").
imagenimg URLRuta relativa de la imagen en el servidor.
imagenURL completa de la imagen, lista para consumir directamente.
Videos

Cada elemento dentro de la lista videos tienecontiene lasla siguientesinformación claves:de un video asociado al inmueble:

Clave Descripción
url Identificador o URL del video (por ejemplo, el ID de YouTube: "dQw4w9WgXcQ").
tipo TipoPlataforma dedel video (e.g.,por YouTube)ejemplo: "youtube").
descripcion Descripción del videovideo. Puede ser null.
posicion Posición de ordenamiento del videovideo.
Códigos de Portales

Cada elemento dentro de la lista codigos_portales contiene la información de publicación del inmueble en un portal inmobiliario externo:

ClaveDescripción
nombre_portalNombre del portal inmobiliario (por ejemplo: "metrocuadrado", "fincaraiz").
id_portalIdentificador de la propiedad en el portal externo.
tipo_servicioTipo de servicio bajo el cual fue publicada la propiedad en ese portal.

4. Seguridad y Posibles Errores

El parámetro code es validado automáticamente por la ruta: solo acepta valores numéricos. Si se envía un valor no numérico, el sistema responderá con un error 404 (ruta no encontrada).

Cuando el código es numérico pero no corresponde a ningún inmueble registrado, el sistema no devuelve un error. En su lugar, responde con un HTTP 200 y un arreglo vacío:

[]

Importante
Asegúrate de validar en tu integración si la respuesta es un arreglo vacío [] para manejar correctamente el caso en que la propiedad no exista.

Código HTTPDescripción
200Respuesta exitosa. Contiene el objeto JSON de la propiedad, o un arreglo vacío [] si no se encontró ningún inmueble con ese código.
404La ruta no fue encontrada. Ocurre cuando el valor de code no es numérico (por ejemplo: /properties/abc).

5. Ejemplos de integración

Aquí tienes ejemplos de código listos para que tus desarrolladores los adapten a tu plataforma:

cURL
# Consultar propiedad por código
curl -X GET "https://{{instancia}}/service/v2/public/properties/137" \
-H "Content-Type: application/json"
PHP
<?php

$instance = 'tu_instancia'; // Reemplaza con tu instancia real
$code = 137; // Código de la propiedad a consultar

$url = "https://{$instance}/service/v2/public/properties/{$code}";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
} else {
    echo "Código de estado HTTP: " . $http_code . "\n";

    if ($http_code === 200) {
        $propiedad = json_decode($response, true);

        if (!empty($propiedad)) {
            echo "Propiedad encontrada:\n";
            echo "  Código: {$propiedad['codigo']}\n";
            echo "  Título: {$propiedad['titulo']}\n";
            echo "  Estado: {$propiedad['estado_texto']}\n";
            echo "  Dirección: {$propiedad['direccion']}\n";
            echo "  Imágenes: {$propiedad['cantidad_images']}\n";
        } else {
            echo "No se encontró ninguna propiedad con el código {$code}.\n";
        }
    } else {
        echo "Error al consultar la propiedad.\n";
        echo $response . "\n";
    }
}
curl_close($ch);

?>
Python
import requests

# 1. Configura tus datos de acceso
instancia = 'mi-inmobiliaria.nuby.app' # Reemplaza con tu dirección web completa
codigo = 137 # Código de la propiedad a consultar

# 2. Prepara la dirección de la petición
url = f"https://{instancia}/service/v2/public/properties/{codigo}"

headers = {
    "Content-Type": "application/json"
}

# 3. Envía la petición GET y procesa la respuesta
try:
    response = requests.get(url, headers=headers)

    print(f"Código de estado HTTP: {response.status_code}")

    if response.status_code == 200:
        propiedad = response.json()

        if propiedad:
            print(f"Propiedad encontrada:")
            print(f"  Código: {propiedad['codigo']}")
            print(f"  Título: {propiedad['titulo']}")
            print(f"  Estado: {propiedad['estado_texto']}")
            print(f"  Dirección: {propiedad['direccion']}")
            print(f"  Características: {len(propiedad['caracteristicas'])}")
        else:
            print(f"No se encontró ninguna propiedad con el código {codigo}.")
    else:
        print("Error al consultar la propiedad.")
        print(f"Detalle del error: {response.text}")

except Exception as e:
    print(f"Ocurrió un error de conexión: {e}")
JavaScript
// 1. Configura tus datos de acceso
const instancia = 'mi-inmobiliaria.nuby.app'; // Reemplaza con tu dirección web completa
const codigo = 137; // Código de la propiedad a consultar

// 2. Prepara la dirección de la petición
const url = `https://${instancia}/service/v2/public/properties/${codigo}`;

// 3. Función para consultar la propiedad
async function consultarPropiedad() {
    try {
        const response = await fetch(url, {
            method: 'GET',
            headers: {
                'Content-Type': 'application/json'
            }
        });

        console.log(`Código de estado HTTP: ${response.status}`);

        if (response.ok) {
            const propiedad = await response.json();

            if (propiedad && !Array.isArray(propiedad)) {
                console.log(`Propiedad encontrada:`);
                console.log(`  Código: ${propiedad.codigo}`);
                console.log(`  Título: ${propiedad.titulo}`);
                console.log(`  Estado: ${propiedad.estado_texto}`);
                console.log(`  Dirección: ${propiedad.direccion}`);
                console.log(`  Imágenes: ${propiedad.cantidad_images}`);
            } else {
                console.log(`No se encontró ninguna propiedad con el código ${codigo}.`);
            }
        } else {
            console.log('Error al consultar la propiedad.');
            const errorData = await response.text();
            console.log(`Detalle del error: ${errorData}`);
        }
    } catch (error) {
        console.error(`Ocurrió un error de conexión: ${error}`);
    }
}

// 4. Ejecutamos la función
consultarPropiedad();
Power Query M (Excel / Power BI)
let
    // 1. Configura tus datos de acceso
    instancia = "mi-inmobiliaria.nuby.app", // Reemplaza con tu dirección web completa
    codigo = "137", // Código de la propiedad a consultar

    // 2. Prepara la dirección de la petición
    url = "https://" & instancia & "/service/v2/public/properties/" & codigo,

    // 3. Envía la petición GET
    response = Web.Contents(url, [
        Headers = [
            #"Content-Type" = "application/json"
        ]
    ]),

    // 4. Decodifica la respuesta JSON y conviértela en registro
    jsonResponse = Json.Document(response),
    resultado = Record.ToTable(jsonResponse),
    expandido = Table.Pivot(resultado, List.Distinct(resultado[Name]), "Name", "Value")
in
    expandido