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
| Type | Description |
|---|---|
| Authorization | Token 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 | |
|---|---|
| Authentication | Required |
| HTTP Method | PUT |
| Response | JSON |
| Version | 1 |
Resource URL
https://api-navent.mapaprop.com/property-api/navent/put-zone
Parameters - URL
| Nombre | Tipo | Requerido | Descripcion |
|---|---|---|---|
brandZoneId | string | yes | El id de la zona de la app |
brand | string | yes | el nombre de la app |
brandZoneName | string | yes | El nombre de la zona de la app |
naventNewZoneId | string | yes | El id de la zona de Zonaprop |
naventNewZoneName | string | yes | El nombre de la zona de Zonaprop |
Response
Un string indicando que el mapeo fue correcto
| Object | Campo | Tipo | Descripcion |
|---|---|---|---|
| Response | success | string | ‘Navent Zone mapping ok’ |
| error | string | Un 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 | |
|---|---|
| Authentication | Required |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
Resource URL
https://api-navent.mapaprop.com/property-api/navent/get-zone
Parameters - URL
| Key | Type | Required | Description |
|---|---|---|---|
brandZoneId | string | yes | El id de la zona de la app |
brand | string | yes | el nombre de la app |
Response
El json de la zona completa mapeada
| Object | Campo | Tipo | Descripcion |
|---|---|---|---|
| Response | success | JSON | El json de la zona mapeada |
| error | string | Un 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 | |
|---|---|
| Authentication | Required |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
Resource URL
https://api-navent.mapaprop.com/property-api/navent/get-api-cities-state
Parameters - URL
| Key | Type | Required | Description |
|---|---|---|---|
countryIso | string | yes | El iso de el pais. Basado en esta nomenclatura |
Response
El json de la zona completa mapeada
| Object | Campo | Tipo | Descripcion |
|---|---|---|---|
| Response | success | JSON | El json del estado del pais |
| error | string | Un 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 | |
|---|---|
| Authentication | Required |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
Resource URL
https://api-navent.mapaprop.com/property-api/navent/get-api-cities-state?apiKey=xxxx&stateId=V1-B-6
Parameters - URL
| Key | Type | Required | Description |
|---|---|---|---|
countryIso | string | yes | El iso de el pais |
apiKey | string | yes | el token de la api de Zonaprop |
Response
El json de la zona completa mapeada
| Object | Campo | Tipo | Descripcion |
|---|---|---|---|
| Response | success | JSON | El json de las ciudades del estado. |
| error | string | Un 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 | |
|---|---|
| Authentication | Required |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
Resource URL
https://api-navent.mapaprop.com/property-api/navent/get-api-neighborhoods-city?apiKey=xxxx&cityId=V1-C-1003667
Parameters - URL
| Key | Type | Required | Description |
|---|---|---|---|
cityId | string | yes | El iso de la ciudad |
apiKey | string | yes | el token de la api de Zonaprop |
Response
El json de la zona completa mapeada
| Object | Campo | Tipo | Descripcion |
|---|---|---|---|
| Response | success | JSON | El json de las ciudades del estado. |
| error | string | Un 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 | |
|---|---|
| Authentication | Required |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
Resource URL
https://api-navent.mapaprop.com/property-api/navent/get-api-sub-neighborhood?apiKey=xxxx&neighborhoodId=V1-D-1012994
Parameters - URL
| Key | Type | Required | Description |
|---|---|---|---|
neighborhoodId | string | yes | El id del barrio |
apiKey | string | yes | el token de la api de Zonaprop |
Response
El json de la zona completa mapeada
| Object | Campo | Tipo | Descripcion |
|---|---|---|---|
| Response | success | JSON | El json de las ciudades del estado. |
| error | string | Un 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