API Mapas colaborativos
El objetivo de este documento es describir las diferentes operaciones que se pueden hacer sobre el API para realizar la gestión de los mapas colaborativos así como los puntos asociados a ellos.
Operaciones para la gestión de usuarios/usuarias
Login de usuario/usuaria
POST: https://www.zaragoza.es/api/recurso/users/addentra/ HEADERS: clientID = <Identificador_de_la_aplicación> HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada) BODY: email=correo@prueba.es&password=contraseña Respuesta: { "name" : "Usuario/usuaria", "email" : "correo@prueba.es", "account_id" : "identificador_de_cuenta" }
Creación de usuario/usuaria
POST: https://www.zaragoza.es/api/recurso/users/addentra/new HEADERS: clientID = <Identificador_de_la_aplicación> HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada) BODY: { "name":"Nombre", "email":"correo@prueba.es", "password":"prueba", "nif":"124763248E" (Campo opcional) } Respuesta: { "name" : "Nombre", "email" : "correo@prueba.es", "account_id" : "identificador_de_cuenta", "nif" : "124763248E" }
Modificación de datos usuario/usuaria
PUT: https://www.zaragoza.es/api/recurso/users/addentra/account_id HEADERS: clientID = <Identificador_de_la_aplicación> HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada) BODY: { "name":"Nombre", "email":"correo@prueba.es", "password":"prueba", "nif":"124763248E" } Respuesta: { "name" : "Nombre", "email" : "correo@prueba.es", "account_id" : "identificador_de_cuenta", "nif" : "124763248E" }
Mapas colaborativos
Buscar Mapas públicos
El servicio permite utilizar los siguientes parámetros.
- ids
- Para obtener varios mapas en una sola petición, se pueden incluir los identificadores separados por comas.
- title
- Busca en el título del mapa
- start_date
- Mapas creados despúes de la fecha. Formato, ej 2010-01-01T00:00:00Z.
- end_date
- Mapas creados antes de la fecha. Formato, ej 2010-01-01T00:00:00Z.
- type
- Valores admitidos: public, collaborative
JSON
GET: http://www.zaragoza.es/api/recurso/mapas-colaborativos.json [ { "id" : 28, "title" : "Mapa publico", "type" : "public", "lastUpdated" : "2013-10-16T12:39:12Z" }, { "id" : 11, "title" : "Zaragoza Sin Barreras", "type" : "collaborative", "lastUpdated" : "2013-10-11T12:37:34Z" } ... ]
XML
GET: http://www.zaragoza.es/api/recurso/mapas-colaborativos.xml <mapas> <mapa> <id>11</id> <title>Zaragoza Sin Barreras</title> <type>collaborative</type> <lastUpdated>2013-10-11T12:37:34Z</lastUpdated> </mapa> <mapa> <id>28</id> <title>Mapa publico</title> <type>public</type> <lastUpdated>2013-10-16T12:39:12Z</lastUpdated> </mapa> ... </mapas>
Buscar Mapas de usuario/usuaria
GET: http://www.zaragoza.es/api/recurso/mapas-colaborativos/user/account_id.json [ { "id": 11, "title": "Zaragoza Sin Barreras", "type": "collaborative", "owned": true, (indica si el usuario/usuaria es el propietario, si es true el usuario/usuaria puede modificar la información del mapa) "lastUpdated": "2013-10-11T12:37:34Z" }, { "id": 41, "title": "Columpios", "type": "collaborative", "owned": false, (indica si el usuario/usuaria es el propietario del mapa) "lastUpdated": "2014-01-03T12:25:04Z" }, ... ]
Detalle de Mapa
En el detalle de un mapa obtenemos los recursos que pertenecen al mismo y estos pueden ser de tres tipos: Puntos (Point), Líneas (LineString) o Polígonos(Polygon)
Propiedad | Descripción |
---|---|
title | Título asociado al recurso |
description | Descripción del recurso |
icon | Icono asociado al recurso |
Propiedad | Descripción |
---|---|
title | Título asociado al recurso |
description | Descripción del recurso |
strokeColor | Color de la línea en formato hexadecimal, por ejemplo: #cc3333 |
strokeOpacity | Opacidad de la línea, valores permitidos de '0' a '1', por ejemplo: 0.5 |
strokeWidth | Ancho de la línea |
Propiedad | Descripción |
---|---|
title | Título asociado al recurso |
description | Descripción del recurso |
strokeColor | Color del borde en formato hexadecimal, por ejemplo: #cc3333 |
strokeOpacity | Opacidad del borde, valores permitidos de '0' a '1', por ejemplo: 0.5 |
strokeWidth | Ancho del borde |
fillColor | Color de relleno formato hexadecimal, por ejemplo: #cc3333 |
fillOpacity | Opacidad del relleno, valores permitidos de '0' a '1', por ejemplo: 0.5 |
GET: http://www.zaragoza.es/api/recurso/mapas-colaborativos/id.json { "totalCount": 2, /*Número de puntos asociados al mapa*/ "start": 0, "rows": 2, "type": "collaborative", "title": "Columpios", "icon": "generico", "lastUpdated": "2014-01-03T12:25:04Z", "id": 41, "result": [ { "id": "monumento-79", "title": "Ayuntamiento de Zaragoza", "description": "mi descripcion entera", "geometry": { "type": "Point", "coordinates": [ -0.8774209303093823, 41.65599708994304 ] } }, { "id": "671", "title": "dsfgsdfg", "description": "sdfgsdfg", "geometry": { "type": "Point", "coordinates": [ -0.9298908946924398, 41.65262469545268 ] } } ] }
Detalle de Mapa por usuario/usuaria
GET: http://www.zaragoza.es/api/recurso/mapas-colaborativos/user/account_id/id.json HEADERS:clientID
= <Identificador de la aplicación>HmacSHA1
= Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada) Respuesta: { "totalCount": 2, /*Número de puntos asociados al mapa*/ "start": 0, "rows": 2, "type": "collaborative", "title": "Columpios", "icon": "generico", "lastUpdated": "2014-01-03T12:25:04Z", "owned": false, /*es true si el usuario/usuaria es el propietario*/ "id": 41, "result": [ { "id": "monumento-79", "title": "Ayuntamiento de Zaragoza", "description": "mi descripcion entera", "updateable": true, /*es true si este usuario/usuaria lo ha creado*/ "geometry": { "type": "Point", "coordinates": [ -0.8774209303093823, 41.65599708994304 ] } }, { "id": "671", "title": "Otro punto", "description": "Descripción", "updateable": false, "geometry": { "type": "Point", "coordinates": [ -0.9298908946924398, 41.65262469545268 ] } } ] }
Crear
POST https://www.zaragoza.es/api/recurso/mapas-colaborativos/user/account_id.json(?srsname=wgs84|utm30n) por defecto wgs84 HEADERS:clientID
= <Identificador de la aplicación>HmacSHA1
= Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada) BODY: { "title": "Columpios", "type": "private|public|collaborative", /*sino se especifica: private*/ "pois": [ { /*punto reutilizado de las bases de datos municipales, no incluir ni title ni geometria al prevalecer la información municipal*/ "id": "monumento-79", "description": "mi descripcion entera" }, { "id": "675", "title": "Recurso tipo linea", "description": "Descripcion de recurso tipo linea", "strokeColor": "#e34242", /* Color de borde */ "strokeOpacity": "0.5", /* Opacidad de color de borde */ "strokeWidth": "4", /* Ancho del color de borde */ "geometry": { "type": "LineString", /* Tipo linea */ "coordinates": [[-0.8856868743896484,41.651879827111344],[-0.8856868743896484,41.65608036234462] ] } }, { "id": "670", "title": "Recurso tipo poligono", "description": "Descripcion de recurso tipo poligono", "fillColor": "#0ca550", /* Color de relleno */ "fillOpacity": "0.3", /* Opacidad de color de relleno */ "strokeColor": "#e34242", /* Color de borde */ "strokeOpacity": "0.5", /* Opacidad de color de borde */ "strokeWidth": "4", /* Ancho del color de borde */ "geometry": { "type": "Polygon", /* Tipo poligono */ "coordinates": [ [ [-0.8856868743896484,41.651879827111344],[-0.8856868743896484,41.65608036234462],[-0.8751726150512694,41.65608036234462],[-0.8751726150512694,41.651879827111344],[-0.8856868743896484,41.651879827111344] ] ] } }, { "id": "671", "title": "Recurso tipo punto", "description": "Descripcion de recurso tipo punto", "icon": "http://www.zaragoza.es/contenidos/iconos/innovacion.png", /* Icono para representar el punto */ "geometry": { "type": "Point", /* Tipo punto */ "coordinates": [ -0.9298811327357448, 41.65260966067856 ] } } ] } Respuesta: { "id" : 41, "title" : "Columpios", "type" : "private", "lastUpdated" : "2014-01-03T12:25:04Z", "pois" : [ "id" : "monumento-79", "title" : "Ayuntamiento de Zaragoza", "description" : "mi descripcion entera", "geometry" : { "type" : "Point", "coordinates" : [ -0.8774209303093823, 41.65599708994304 ] } }, { "id": "675", "title": "Recurso tipo linea", "description": "Descripcion de recurso tipo linea", "strokeColor": "#e34242", /* Color de borde */ "strokeOpacity": "0.5", /* Opacidad de color de borde */ "strokeWidth": "4", /* Ancho del color de borde */ "geometry": { "type": "LineString", /* Tipo linea */ "coordinates": [ [-0.8856868743896484,41.651879827111344],[-0.8856868743896484,41.65608036234462] ] } }, { "id": "670", "title": "Recurso tipo poligono", "description": "Descripcion de recurso tipo poligono", "fillColor": "#0ca550", /* Color de relleno */ "fillOpacity": "0.3", /* Opacidad de color de relleno */ "strokeColor": "#e34242", /* Color de borde */ "strokeOpacity": "0.5", /* Opacidad de color de borde */ "strokeWidth": "4", /* Ancho del color de borde */ "geometry": { "type": "Polygon", /* Tipo poligono */ "coordinates": [ [ [-0.8856868743896484,41.651879827111344],[-0.8856868743896484,41.65608036234462],[-0.8751726150512694,41.65608036234462],[-0.8751726150512694,41.651879827111344],[-0.8856868743896484,41.651879827111344] ] ] } }, { "id": "671", "title": "Recurso tipo punto", "description": "Descripcion de recurso tipo punto", "icon": "http://www.zaragoza.es/contenidos/iconos/innovacion.png", /* Icono para representar el punto */ "geometry": { "type": "Point", /* Tipo punto */ "coordinates": [ -0.9298811327357448, 41.65260966067856 ] } } ] }
Modificar
PUT https://www.zaragoza.es/api/recurso/mapas-colaborativos/user/account_id/id.json(?srsname=wgs84|utm30n) por defecto wgs84 HEADERS:clientID
= <Identificador de la aplicación>HmacSHA1
= Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada) BODY: { "title": "Columpios", /*Sólo se modificará si la operación se hace desde el account_id propietario del mapa*/ "type": "private|public|collaborative", /*Sólo se modificará si la operación se hace desde el account_id propietario del mapa*/ "pois": [ { /*punto reutilizado de las bases de datos municipales, no incluir ni title ni geometria al prevalecer la información municipal*/ "id": "monumento-79", "description": "mi descripcion entera" }, { "id": "671", "title": "dsfgsdfg", "description": "sdfgsdfg", "geometry": { "type": "Point", "coordinates": [ -0.9298811327357448, 41.65260966067856 ] } } ] } Respuesta: { "id" : 41, "title" : "Columpios", "type" : "private", "lastUpdated" : "2014-01-03T12:25:04Z", "pois" : /*Sólo se modificarán los puntos que se hayan creado con el account_id indicado*/ [ { "id" : "671", "title" : "dsfgsdfg", "description" : "sdfgsdfg", "geometry" : { "type" : "Point", "coordinates" : [ -0.9298908946924398, 41.65262469545268 ] } }, { "id" : "monumento-79", "title" : "Ayuntamiento de Zaragoza", "description" : "mi descripcion entera", "geometry" : { "type" : "Point", "coordinates" : [ -0.8774209303093823, 41.65599708994304 ] } } ] }
Utilizar Puntos existentes en las Bases de datos municipales
Para reutilizar puntos existentes debe incluir en el atributo id
el valor obtenido de la consulta al servicio de consulta de puntos de Interés
No incluir el atributo title
ni el atributo coordinates
al crear o guardar este tipo de punto, ya que prevalece el título y la coordenada existente en los datos municipales.
JSON
GET: http://www.zaragoza.es/api/recurso/poi.json?start=0&rows=50&point=676840.375%2C4613966.0&distance=50 { "totalCount": 9, "start": 0, "rows": 50, "result": [ { "id": "monumento-79", "title": "Ayuntamiento de Zaragoza", "link": "http://www.zaragoza.es/ciudad/turismo/es/que-visitar/detalle_Monumento?id=79", "description": "Plaza del Pilar, 18 Horario:De 8,00 a 15,00 h Tel?fono:976 72 11 00 - Informaci?n Municipal: 010 y 976 72 12 34
", "category": "Monumentos, Turismo", "lastUpdated": "2009-12-16T00:00:00Z", "geometry": { "type": "Point", "coordinates": [ 676840.38, 4613965.9 ] } }, { "id": "recurso-325", "title": "Oficina de Relaciones con los Ciudadanos (Plaza del Pilar)", "link": "http://www.zaragoza.es/ciudad/centros/detalle_Centro?id=325", "description": "Dirección: Pza. del Pilar , 18 Teléfono: 976 721232, 1233, 1069
", "category": "Recursos", "lastUpdated": "2013-01-08T10:59:05Z", "icon": "http://www.zaragoza.es/contenidos/iconos/recursos.png", "geometry": { "type": "Point", "coordinates": [ 676840.375, 4613966 ] } } ... ] }
XML
GET: http://www.zaragoza.es/api/recurso/poi.xml?start=0&rows=50&point=676840.375%2C4613966.0&distance=50 <resultado> <totalCount>15</totalCount> <start>0</start> <rows>50</rows> <result> <poi> <id>monumento-79</id> <title>Ayuntamiento de Zaragoza</title> <link>http://www.zaragoza.es/ciudad/turismo/es/que-visitar/detalle_Monumento?id=79</link> <description><![CDATA[<p>Plaza del Pilar, 18 Horario:De 8.00 a 15.00 h Teléfono:976 72 11 00 - Información Municipal: 010 y 976 72 12 34</p>]]></description> <category>Monumentos, Turismo</category> <lastUpdated>2012-07-24T00:00:00Z</lastUpdated> <geometry> <type>Point</type> <coordinates>676840.38,4613965.9</coordinates> </geometry> </poi> <poi> <id>monumento-1</id> <title>Monumento a Goya</title> <link>http://www.zaragoza.es/ciudad/artepublico/detalle_ArtePublico?id=1</link> <description><![CDATA[Plaza del Pilar (Casco Histórico)<br/>Periodo franquista [1937-1975]<br/>MARÉS, Federico,BELTRÁN NAVARRO, José]]></description> <category>Arte Público</category> <icon>http://www.zaragoza.es/contenidos/iconos/arte.png</icon> <geometry> <type>Point</type> <coordinates>676872.46,4613920.09</coordinates> </geometry> </poi> ... </result> </resultado>
Borrar un mapa
Sólo se pueden eliminar aquellos mapas de los que account_id
es el propietario.
DELETE https://www.zaragoza.es/api/recurso/mapas-colaborativos/user/account_id/id.json HEADERS:clientID
= <Identificador de la aplicación>HmacSHA1
= Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada) Respuesta: { "status" : 200, "mensaje" : "Borrado realizado correctamente" }
Borrar puntos asociados a un mapa
Sólo se pueden eliminar aquellos puntos que account_id
ha creado.
DELETE https://www.zaragoza.es/api/recurso/mapas-colaborativos/user/account_id/id.json?ids=identificadores_de_puntos_separados_por_comas HEADERS:clientID
= <Identificador de la aplicación>HmacSHA1
= Clave HMAC generado de la siguiente forma Hmac(clientId + "GET|POST|PUT|DELETE" + uri + body, clavePrivada) Respuesta: { "status" : 200, "mensaje" : "Borrado realizado correctamente" }