Todo aviso publicado queda guardado en nuestra base de datos bajo su Id. Eventualmente puede despublicarlo (Zonaprop API > DELETE aviso ), publicarlo nuevamente (Zonaprop API > PUT aviso ) o modificarlo sin perder los datos.

Mapeo de zonas para Zonaprop

Mapear una zona significa buscar lograr una equivalencia entre una Zona de tu APP y una zona de Navent.

Todo mapeo realizado por su APP queda guardado en nuestra base de datos bajo su Id. Eventualmente puede eliminarlo o modificarlo

Para ello proveemos:

  • Una base de datos donde podes alojar tus datos de mapeo
  • Metodos para realizar los mapeos entre las zonas tu APP y las Zonas de Navent
  • Métodos para obtener la zona Mapeada y rellenar tu Json de propiedad (Zonaprop API > Property Object )

Métodos / Endpoints

El mapeo de zonas consta de un conjunto de webservices, que trabajan junto a una base de datos para brindar las funcionalidades.

Headers

Para todos los metodo incluidos en esta documentacion

TypeDescription
AuthorizationToken de autorizacion de property Api

Mapear Zona (PUT)

Este endpoint es usado para mapear las zonas de Zonaprop con las de una app externa.

Un mapeo inserta un dato en nuestra base de datos, el cual podrá ser recuperado posteriormente con un metodo GET

Production

Resource information
AuthenticationRequired
HTTP MethodPUT
ResponseJSON
Version1

Resource URL

https://api-navent.mapaprop.com/property-api/navent/put-zone

Parameters - URL

NombreTipoRequeridoDescripcion
brandZoneIdstringyesEl id de la zona de la app
brandstringyesel nombre de la app
brandZoneNamestringyesEl nombre de la zona de la app
naventNewZoneIdstringyesEl id de la zona de Zonaprop
naventNewZoneNamestringyesEl nombre de la zona de Zonaprop

Response

Un string indicando que el mapeo fue correcto

ObjectCampoTipoDescripcion
Responsesuccessstring‘Navent Zone mapping ok’
errorstringUn texto indicando donde ocurrio el error

Sample code

//Autorizacion requerida
//METODO PUT

//Endpoint
https://api-navent.mapaprop.com/property-api/navent/put-zone?brandZone=appZone&brand=app&naventNewZone=naventZoneId&naventNewZoneName=description&brandZoneName=appZoneName

//Parametros
//* brandZone
//* brand
//* brandZoneName
//* naventNewZone
//* naventNewZoneName

Como se muestra en este ejemplo los valores son 1-2-203-1032 (id zona de la app) mapaprop (app), V1-C-1004013 (id zona de la api) Lanús (nombre zona de la api) y Argentina, Buenos Aires, Lanús, Lanús Oeste (nombre de la zona de la app).

?brandZone=1-2-203-1032&brand=mapaprop&naventNewZone=V1-C-1004013&naventNewZoneName=Lanús&brandZoneName=Argentina, Buenos Aires, Lanús, Lanús Oeste

Obtenemos la siguiente respuesta en el caso de exito.

Navent Zone mapping ok

Obtener zona mapeada (GET)

Este webservice es utilizado para obtener la zona mapeada, en base a la zona de su APP, desde la base de datos de nuestro sistema.

Production

Resource information
AuthenticationRequired
HTTP MethodGET
ResponseJSON
Version1

Resource URL

https://api-navent.mapaprop.com/property-api/navent/get-zone

Parameters - URL

KeyTypeRequiredDescription
brandZoneIdstringyesEl id de la zona de la app
brandstringyesel nombre de la app

Response

El json de la zona completa mapeada

ObjectCampoTipoDescripcion
ResponsesuccessJSONEl json de la zona mapeada
errorstringUn texto indicando donde ocurrio el error

Sample code

//Autorizacion requerida
//METODO GET

//Endpoint
https://api-navent.mapaprop.com/property-api/navent/get-zone?brandZoneId=1-1-19-0&brand=mapaprop

//Parametros
//* brandZoneId
//* brand

Como se muestra en este ejemplo los valores son mapaprop (brand) y 1-1-19-0 (id de la zona de la app).

?brandZoneId=1-1-19-0&brand=mapaprop

En caso de exito, obtendremos la siguiente respuesta JSON en el caso de exito.

{
    "nz_brand": "mapaprop",
    "nz_brand_zone_id": "1-1-19-0",
    "nz_navent_zone_name": "Cid Campeador",
    "nz_navent_zone_id": "V1-D-1199748"
}

Obtener zona estados desde pais (GET)

Este webservice es utilizado para obtener los estados del pais a partir de un codigo iso

Production

Resource information
AuthenticationRequired
HTTP MethodGET
ResponseJSON
Version1

Resource URL

https://api-navent.mapaprop.com/property-api/navent/get-api-cities-state

Parameters - URL

KeyTypeRequiredDescription
countryIsostringyesEl iso de el pais. Basado en esta nomenclatura

Response

El json de la zona completa mapeada

ObjectCampoTipoDescripcion
ResponsesuccessJSONEl json del estado del pais
errorstringUn texto indicando donde ocurrio el error

Sample code

//Autorizacion requerida
//METODO GET

//Endpoint
https://api-navent.mapaprop.com/property-api/navent/get-api-states?apiKey=xxx&countryIso=AR

//Parametros
//* apiKey
//* countryIso

Como se muestra en este ejemplo los valores son xxx (apiKey) y AR (iso del pais).

?apiKey=xxx&countryIso=AR

En caso de exito, obtendremos la siguiente respuesta JSON en el caso de exito.

[
    {
        "id": "V1-B-1",
        "nombre": "Buenos Aires (fuera de GBA)",
        "nombreCompleto": "Buenos Aires (fuera de GBA),Argentina"
    },
    {
        "id": "V1-B-2000",
        "nombre": "Buenos Aires Costa Atlántica",
        "nombreCompleto": "Buenos Aires Costa Atlántica,Argentina"
    },
    {
        "id": "V1-B-6",
        "nombre": "Capital Federal",
        "nombreCompleto": "Capital Federal,Argentina"
    },
    ....

Obtener zona ciudades desde estado (GET)

Este webservice es utilizado para obtener la zona de ciudades desde un estado a partir de su id (obtenido en el metodo anterior)

Production

Resource information
AuthenticationRequired
HTTP MethodGET
ResponseJSON
Version1

Resource URL

https://api-navent.mapaprop.com/property-api/navent/get-api-cities-state?apiKey=xxxx&stateId=V1-B-6

Parameters - URL

KeyTypeRequiredDescription
countryIsostringyesEl iso de el pais
apiKeystringyesel token de la api de Zonaprop

Response

El json de la zona completa mapeada

ObjectCampoTipoDescripcion
ResponsesuccessJSONEl json de las ciudades del estado.
errorstringUn texto indicando donde ocurrio el error

Sample code

//Autorizacion requerida
//METODO GET

//Endpoint
https://api-navent.mapaprop.com/property-api/navent/get-api-cities-state?apiKey=xxxx&stateId=V1-B-6

//Parametros
//* apiKey
//* stateId

Como se muestra en este ejemplo los valores son xxx (apiKey) y V1-B-6 (id de el estado).

?apiKey=xxx&stateId=V1-B-6

En caso de exito, obtendremos la siguiente respuesta JSON en el caso de exito.

[
    {
        "id": "V1-B-1",
        "nombre": "Buenos Aires (fuera de GBA)",
        "nombreCompleto": "Buenos Aires (fuera de GBA),Argentina"
    },
    {
        "id": "V1-B-2000",
        "nombre": "Buenos Aires Costa Atlántica",
        "nombreCompleto": "Buenos Aires Costa Atlántica,Argentina"
    },
    {
        "id": "V1-B-6",
        "nombre": "Capital Federal",
        "nombreCompleto": "Capital Federal,Argentina"
    },
    ....

Obtener zona barrios desde ciudad (GET)

Este webservice es utilizado para obtener la zona de barrios de una ciudad a partir de su id (obtenido en el metodo anterior)

Production

Resource information
AuthenticationRequired
HTTP MethodGET
ResponseJSON
Version1

Resource URL

https://api-navent.mapaprop.com/property-api/navent/get-api-neighborhoods-city?apiKey=xxxx&cityId=V1-C-1003667

Parameters - URL

KeyTypeRequiredDescription
cityIdstringyesEl iso de la ciudad
apiKeystringyesel token de la api de Zonaprop

Response

El json de la zona completa mapeada

ObjectCampoTipoDescripcion
ResponsesuccessJSONEl json de las ciudades del estado.
errorstringUn texto indicando donde ocurrio el error

Sample code

//Autorizacion requerida
//METODO GET

//Endpoint
https://api-navent.mapaprop.com/property-api/navent/get-api-neighborhoods-city?apiKey=xxxx&cityId=V1-C-1003667

//Parametros
//* apiKey
//* cityId

Como se muestra en este ejemplo los valores son xxx (apiKey) y V1-C-1003667 (id de la ciudad).

?apiKey=xxx&cityId=V1-C-1003667

En caso de exito, obtendremos la siguiente respuesta JSON en el caso de exito.

{
    "id": "V1-C-1003667",
    "nombre": "Almagro",
    "nombreCompleto": "Almagro,Capital Federal,Argentina",
    "localidades": [
        {
            "id": "V1-D-1199773",
            "nombre": "Almagro Norte",
            "nombreCompleto": "Almagro Norte,Almagro,Capital Federal,Argentina"
        },
        {
            "id": "V1-D-1199774",
            "nombre": "Almagro Sur",
            "nombreCompleto": "Almagro Sur,Almagro,Capital Federal,Argentina"
        }
    ]
}

Obtener zona sub-barrios desde barrio (GET)

Este webservice es utilizado para obtener la zonas sub-barrios desde un barrio a partir del id (obtenido en el metodo anterior)

Production

Resource information
AuthenticationRequired
HTTP MethodGET
ResponseJSON
Version1

Resource URL

https://api-navent.mapaprop.com/property-api/navent/get-api-sub-neighborhood?apiKey=xxxx&neighborhoodId=V1-D-1012994

Parameters - URL

KeyTypeRequiredDescription
neighborhoodIdstringyesEl id del barrio
apiKeystringyesel token de la api de Zonaprop

Response

El json de la zona completa mapeada

ObjectCampoTipoDescripcion
ResponsesuccessJSONEl json de las ciudades del estado.
errorstringUn texto indicando donde ocurrio el error

Sample code

//Autorizacion requerida
//METODO GET

//Endpoint
https://api-navent.mapaprop.com/property-api/navent/get-api-sub-neighborhood?apiKey=xxxx&neighborhoodId=V1-D-1012994

//Parametros
//* apiKey
//* neighborhoodId

Como se muestra en este ejemplo los valores son xxx (apiKey) y V1-D-1012994 (id del barrio).

?apiKey=xxx&neighborhoodId=V1-D-1012994

En caso de exito, obtendremos la siguiente respuesta JSON en el caso de exito.

{
    "id": "V1-D-1012994",
    "nombre": "El Pato",
    "nombreCompleto": "El Pato,Berazategui,GBA Sur,Argentina",
    "localidades": [....]
}

Ejemplo de uso: Nuevo mapeo

Este es un ejemplo de necesidad de uso de creación de un mapeo.

GET para obtener el mapeo

Primero una vez hayamos hecho GET al siguiente endpoint a una zona NO mapeada:

https://api-navent.mapaprop.com/property-api/navent/get-zone?brandZoneId=1-1-19-0&brand=APP

Al no encontrar un mapeo, obtenemos un error. El response error que debemos interpretar para poder iniciar el mapeo es

statusCode: 500,  (Int)
body: 'Zone not found. Brand or Zone error.', (String)

Buscar la zona compatible de Navent

A partir de este momento deberiamos crear un mapeo en con el metodo Mapear Zona (PUT). Para ello antes tenemos que encontrar nuestra Zona dentro de la Navent API. Para tal fin, navegaremos por los enpoints para llegar hasta nuestra zona final, donde obtendremos un codigo de Zona, para finalmente lograr hacer un mapeo con Mapear Zona (PUT)

Luego hacemos GET al siguiente enpoint pasando como parametro un id de pais (AR, BR O LAT)

AR: Es exclusivamente para Argentina

BR: Es exclusivamente para Brasil

LAT Es para el resto de Latinoamerica

1. Obtener estados de Navent

Pasamos los parametros countryIso y apiKey, quedando algo como esto:

https://api-navent.mapaprop.com/property-api/navent/get-api-states?countryIso=AR&apiKey=40a6660d-dfb3-48ca-8cbd-f381a525b2a4

Obtenemos como respuesta todos los estados o provincias disponibles para ese pais en Zonaprop

Una vez obtenemos esto creamos una funcion para poder interpretar esta respuesta.

https://api-navent.mapaprop.com/property-api/navent/get-api-states

Funcion de ejemplo en JS

// Navent MAPPING
    let apiKey = xxxx;

    let getNaventStates = (countryIsoCode) => {
        $http.get(
        'https://api-navent.mapaprop.com/property-api/navent/get-api-states?apiKey='+ apiKey +'&countryIso=' + countryIsoCode)
        .then((response) => {
            console.log("Response state data" , response)
            naventStates = response.data;
        });
    };

Guardamos en una variable el response.data de la ejecucion y pasamos al siguiente endpoint

2. Obtener Ciudades de Navent

https://api-navent.mapaprop.com/property-api/navent/get-api-cities-state

Aqui pasamos como parametro el estado seleccionado a una nueva funcion:

let naventGetCities = (state) => {
        $scope.loadingModal = true;
        let naventState = JSON.parse(state.id);
        $http.get(
        'https://api-navent.mapaprop.com/property-api/navent/get-api-cities-state?apiKey='+ apiKey +'&stateId=' + naventState.id, configNavent).then((response) => {
            console.log("Response cities data" , response)
            naventCities = response.data.localidades;
        });
    };

Luego pasamos al siguiente endpoint para obtener los barrios de la ciudad anterior

3. Obtener Barrios de Navent

https://api-navent.mapaprop.com/property-api/navent/get-api-neighborhoods-city

Creamos una funcion para guardarlos, en este caso debemos poner un if antes de guardar los barrios ya que puede que la ciudad no contenga ninguno.

let naventGetNeighborhoods = (city) => {
            let naventCity = JSON.parse(city);
            console.log(naventCity)
            $scope.naventCity = naventCity;
            $http.get(
            'https://api-navent.mapaprop.com/property-api/navent/get-api-neighborhoods-city?apiKey='+ apiKey +'&cityId=' + naventCity.id, configNavent).then((response) => {
                **if(response.data.localidades != []){
                  c**onsole.log("Response neighborhoods data" , response)
                    **naventNeighborhoods = response.data.localidades;
                }**
            });
    };

Por ultimo hacemos la ultima funcion para obtener los sub-barrios al siguiente endpoint

4. Obtener Sub Barrios de Navent

https://api-navent.mapaprop.com/property-api/navent/get-api-sub-neighborhood

let naventGetSubNeighborhoods = (neighborhood) => {
        if (neighborhood) {
            $http.get(
            'https://api-navent.mapaprop.com/property-api/navent/get-api-sub-neighborhood?apiKey='+ apiKey +'&neighborhoodId=' + naventNeighborhood.id, configNavent).then((response) => {
                console.log("Response SubNeighborhoods data" , response)
                naventSubNeighborhoods = response.data.localidades;
            });
        }
    };

Una vez que obtuvimos todos los datos para el mapeo hacemos el PUT final

Concretar el mapeo con el metodo PUT

https://api-navent.mapaprop.com/property-api/navent/put-zone

//Aqui pasamos como parametros al PUT

//* brandZoneId Es el id de la zona de la aplicacion
//* brand el nombre de la app (valor unico y constante por aplicacion)
//* naventNewZone Es el id de la zona de Zonaprop
//* naventNewZoneName Es el nombre de la zona de Zonaprop
//* brandZoneName El es nombre de la zona de la aplicacion

//Endpoint
https://api-navent.mapaprop.com/property-api/navent/put-zone?brandZoneId='+ appZone +'&brand=appName&naventNewZone='+ naventNewZone + '&naventNewZoneName=' + naventNewZoneName  + '&brandZoneName=' + brandZoneName