Características

Al crear o editar una propiedad se puede enviar un array con los ids de las características en el parametro features, por ejemplo si se quiere actualizar la propiedad con id 1234, para que tenga las características con id 2 y 4, podemos enviar este parametro tanto via URL como json y seria algo asi en el primer caso:

http://api.wasi.co/v1/property/update/1234?features[]=2&features[]=4

Important

El array de características es opcional, sin embargo cuando se envia será validado, si se esta actualizando una propiedad y no se envía el array se conservaran los valores existentes, si se envía un nuevo array sustituira el previo.

Ver características de una propiedad

Las características dentro del json al consultar una propiedad siguen la siguiente estructura:

"features":{
    "internal":[
        {
            "id":"2",
            "nombre":"Alarma",
            "name":"",
            "own": false
        },
        {
            "id":"4",
            "nombre":"Amoblado",
            "name":"",
            "own": false
        },
        {
            "id":"84",
            "nombre":"Armarios empotrados",
            "name":"",
            "own": false
        },
        {
            "id":"5",
            "nombre":"Balcón",
            "name":"",
            "own": false
        },
        {
            "id":"6",
            "nombre":"Característica personalizada",
            "name":"",
            "own": true
        }
    ],
    "external":[
        {
            "id":"53",
            "nombre":"Árboles frutales",
            "name":"",
            "own": false
        },
        {
            "id":"78",
            "nombre":"Área social",
            "name":"",
            "own": false
        }
    ]
},

Las características están divididas en dos arreglos, internal y external, cada una cuenta con los campos:

Representa Etiqueta
id Identificador unico de la característica
nombre Nombre en español de la característica
name Nombre en ingles de la característica (disponible en el futuro)
own Booleano que indica si es una etiqueta propia (personalizada)

Obtener todas las características

Para obtener todas las características soportadas por Wasi, existe la siguiente URI:

http://api.wasi.co/v1/feature/all

Esto debería retornar un json que agrupa las características según si son internas o externas similar al siguiente:

{
    "internal":[
        {
            "id":"1",
            "nombre":"Aire acondicionado",
            "name":"",
            "own": false
        },
        {
            "id":"2",
            "nombre":"Alarma",
            "name":"",
            "own": false
        },
        {
            "id":"4",
            "nombre":"Amoblado",
            "name":"",
            "own": false
        },
        {
            "id":"6",
            "nombre":"Característica personalizada",
            "name":"",
            "own": true
        }
    ],
    "external":[
        {
            "id":"25",
            "nombre":"Cancha de squash",
            "name":"",
            "own": false
        },
        {
            "id":"26",
            "nombre":"Cancha de tenis",
            "name":"",
            "own": false
        },
        {
            "id":"27",
            "nombre":"Zonas deportivas",
            "name":"",
            "own": false
        }
    ],
    "status":"success"
}

Filtro

Filtro Tipo Detalle
type String Puede tomar dos valores internal y external
list Boolean Indica si se muestra la respuesta en un listado sin separación por tipo

Si se envía el parametro list con valor true las características se muestran yn un arreglo unico, con el formato siguiente:

{
    "0": {
        "id": 1,
        "nombre": "Aire acondicionado",
        "name": "",
        "type": "Internal",
        "own": false
    },
    "1": {
        "id": 2,
        "nombre": "Alarma",
        "name": "",
        "type": "Internal",
        "own": false
    },
    "2": {
        "id": 4,
        "nombre": "Amoblado",
        "name": "",
        "type": "Internal",
        "own": false
    },
    "23": {
        "id": 25,
        "nombre": "Cancha de squash",
        "name": "",
        "type": "External",
        "own": false
    },
    "24": {
        "id": 26,
        "nombre": "Cancha de tenis",
        "name": "",
        "type": "External",
        "own": false
    },
    "25": {
        "id": 27,
        "nombre": "Zonas deportivas",
        "name": "",
        "type": "External",
        "own": false
    },
    "26": {
        "id": 28,
        "nombre": "Gimnasio",
        "name": "",
        "type": "External",
        "own": false
    },
    "27": {
        "id": 29,
        "nombre": "Jardín",
        "name": "",
        "type": "External",
        "own": false
    },
    "28": {
        "id": 30,
        "nombre": "Patio",
        "name": "",
        "type": "External",
        "own": false
    },
    {
        "id":"6",
        "nombre":"Característica personalizada",
        "name":"",
        "own": true
    },
    "status": "success"
}