ESPACIO DE DATOS DE ZARAGOZA

Misión Zaragoza Ciudad Neutra

API REST

Información

API REST Zaragoza

La API REST Zaragoza es un servicio pensado para reutilizadores que pone a su disposición los diferentes conjuntos de datos que publica el Ayuntamiento de Zaragoza. Ofrece diferentes formatos y operaciones para la consulta de los mismos. Incluye el API de Catálogo y el API de datos.

La versión actual de la API REST del Ayuntamiento de Zaragoza es la versión 2. La anterior versión seguirá estando disponible pero no recibirá nuevas actualizaciones.

Acceso a la API REST

¿Qué es Swagger?

Swagger Va a salir de la página del Ayuntamiento de Zaragoza y se va a abrir una nueva pestaña es una herramienta web para describir, producir, consumir y visualizar servicios REST.

Sus ventajas son la actualización de la documentación del sistema conforme se actualice el servicio, de modo que la documentación de los métodos, parámetros y modelo esté integrada en el código del servicio permitiendo que las APIs este siempre sincronizadas. Y su facilidad de uso.

Con este servicio se pretende ofrecer interacción directa con nuestra API y los diferentes conjuntos de datos a través de una interfaz amigable.

Interacciones

Interacción y operaciones de la API REST Zaragoza

Se puede consultar:

  • Descripción sobre la operación.
  • Formatos de respuesta.
  • Parámetros a utilizar.
  • Códigos HTTP de respuesta.
  • Pruebas que se pueden ejecutar operaciones mostrándose el resultado.

Formatos de respuesta:

Los conjuntos de datos públicados en la API REST Zaragoza pueden obtenerse en diferentes formatos.

Si se accede a un recurso de la API a través del navegador y este tiene asociada una visualización en HTML se redirigirá a dicha visualización.

Hay dos opciones para indicar el tipo de respuesta que se desea:

  • Mediante el parametro 'Accept' en los headers de la petición:
    Ejemplo:Accept:application/rdf+xml
  • Indicando el formato mediante su extensión en la petición:
    Ejemplo: https://www.zaragoza.es/sede/servicio/turismo/restaurante.rdf
Formato Header 'Accept' Extensión de formato
JSON application/json .json
GeoJSON application/geo+json .geojson
XML application/xml .xml
CSV text/csv .csv
JSONLD application/ld+json .JSONLD
RDF application/rdf+xml .rdf
Turtle application/x-turtle .turtle
N3 application/rdf+n3 .n3

Parámetros

Párametros API:

La API ofrece una serie de párametros para personalizar la petición obteniendo mejores resultados:

Parámetro Descripción
fl Listado de atributos separados por comas que se desea obtener en la respuesta.
srsname Sistema de referencia preferido para obtener las coordenadas de geolocalización:
  • utm30 (por defecto)
  • wsg84 (sistema utilizado por Google)
  • etrs89
start Posicion del primer registro que se obtendra a partir del total de registros totalCount de la petición.
rows Número de filas/registros que se obtendrán de la petición.
sort Ordenación ascendente asc o descentente desc de los registros obtenidos a partir del atributo dado previamente.
q Consulta mediante FIQL para permitir filtros y condiciones en las consultas utilizando una sintaxis con URIs amigables.
point Punto (coordenadas) a partir del cual se desea obtener los registros de forma circunferencial a dicho punto mediante una distancia dada. Por defecto 500 metros.
distance Distancia (en metros) a la que se encuentran los resultados obtenidos a través de paramétro point. Por defecto 500 metros.

Ejemplo de petición con parámetros API:

Consulta:Nombre y teléfono de los 5 restaurantes más cercanos a las coordenadas wsg84 de la Basílica de Ntra. Sra. del Pilar en un radio de 250 metros en formato json y ordenados de forma descendente por el nombre.

GET https://www.zaragoza.es/sede/servicio/restaurante.json?fl=title,tel&srsname=wgs84&rows=5&sort=title%20desc&q=title==A*&point=-0.878516,41.656772&distance=250

Códigos de respuesta

Códigos HTTP de Respuesta

HTTP Status Code Reason
200 Operación realizada correctamente
304 Registro no modificado desde la última petición, soporte ETAG/If-None-Match y Last_Modified/If-Modified-Since
404 En la respuesta se obtiene una descripción del error
400 En la respuesta se obtiene una descripción del error
500 Error en la petición

API de Catálogo de conjuntos de datos


Acceso a la API de catálogo que describe los conjuntos de datos que configuran el mismo:

GET https://www.zaragoza.es/sede/servicio/catalogo/api.json

Ejemplos de peticiones

Vistos los formatos soportados, los diferentes conjuntos de datos, códigos de respuesta y atributos normalizados pasamos a visualizar un par de ejemplos en los que se realiza una petición de listado de registros y otra del detalle de uno concreto con sus respuestas. En nuestro repositorio de github zaragoza-sedeelectronica se pueden encontrar ejemplos más complejos tanto de peticiones como de ejemplos HTML.

Ejemplo de listado

Consulta:Listado de 100 monumentos con las propiedades: title, horario y geometry (coordenadas en utm30) en JSON y XML.

GET https://www.zaragoza.es/sede/servicio/monumento.[json,xml]?rows=100&fl=title,horario,geometry

JSON

{
    "totalCount": 175,
    "start": 0,
    "rows": 100,
    "result": [
        {
            "title": "Museo del Foro de Caesaraugusta",
            "horario": "Cerrado hasta nuevo aviso. [...]",
            "geometry": {
            "type": "Point",
            "coordinates": [676934.75, 4613880.67]
        }, {
            "title": "Centro de Historias de Zaragoza. Antiguo Convento de San Agustín",
            "horario": "Martes a sábado de 10 a 14h y 17 a 21h [...]",
            "geometry": {
            "type": "Point",
            "coordinates": [677408.53, 4613410.17]
        }
    ]
}

XML

<resultado>
    <totalCount>175</totalCount>
    <start>0</start>
    <rows>100</rows>
    <result>
    <monumento>
        <title>Museo del Foro de Caesaraugusta</title>
        <horario>
            Cerrado hasta nuevo aviso. [...]
        </horario>
        <geometry>
            <type>Point</type>
            <coordinates>676934.75,4613880.67</coordinates>
        </geometry>
    </monumento>
    <monumento>
        <title>
            Centro de Historias de Zaragoza. Antiguo Convento de San Agustín
        </title>
        <horario>
            Martes a sábado de 10 a 14h y 17 a 21h [...]
        </horario>
        <geometry>
            <type>Point</type>
            <coordinates>677408.53,4613410.17</coordinates>
        </geometry>
    </monumento>
    </result>
</resultado>

Ejemplo de detalle

Consulta:Detalle del monumento con identificador 2: Museo del Foro de Caesaraugusta en JSON y XML

GET https://www.zaragoza.es/sede/servicio/monumento/2.[json,xml]

JSON

{
    "id": 2,
    "title": "Museo del Foro de Caesaraugusta",
    "description": "El Foro es el centro neurálgico de la vida en una ciudad romana: es el principal lugar de reunión donde se desarrolla la vida político-administrativa, económica y religiosa. El recinto forense se organiza a partir de un gran espacio abierto, rodeado de uno o varios pórticos circundantes, en torno al cual se distribuyen los edificios más significativos: la Curia, dedicada a usos políticos y administrativos; la Basílica, donde se resuelven asuntos jurídicos; y el Templo principal de la ciudad. Junto a ellos están las tabernas, locales dedicados a usos comerciales, y seguramente habría otros edificios relacionados con la administración (archivos, acuñación de moneda, etc.). Este conjunto monumental se completa con diversos elementos ornamentales (aras para sacrificios, estatuas honoríficas, arcos de triunfo, etc.) de los que en el caso de Caesaraugusta conocemos algunos a través de su representación en las monedas de la ciudad.",
    "estilo": "romano",
    "address": "Plaza de la Seo, 2",
    "horario": "Cerrado hasta el domingo 15 de marzo.\r\n\r\nMartes a sábado de 10 a
    14h
    y 17 a 21h\r\nDomingos 10 a 14.30h \r\nLunes cerrado\r\n\r\nMedia hora antes del
    cierre se interrumpe la entrada.",
    ...
}

XML

<monumento>
    <id>2</id>
    <title>Museo del Foro de Caesaraugusta</title>
    <description>
        El Foro es el centro neurálgico de la vida en una ciudad romana: es el principal lugar de reunión donde se desarrolla la vida político-administrativa, económica y religiosa. El recinto forense se organiza a partir de un gran espacio abierto, rodeado de uno o varios pórticos circundantes, en torno al cual se distribuyen los edificios más significativos: la Curia, dedicada a usos políticos y administrativos; la Basílica, donde se resuelven asuntos jurídicos; y el Templo principal de la ciudad. Junto a ellos están las tabernas, locales dedicados a usos comerciales, y seguramente habría otros edificios relacionados con la administración (archivos, acuñación de moneda, etc.). Este conjunto monumental se completa con diversos elementos ornamentales (aras para sacrificios, estatuas honoríficas, arcos de triunfo, etc.) de los que en el caso de Caesaraugusta conocemos algunos a través de su representación en las monedas de la ciudad.
    </description>
    <estilo>romano</estilo>
    <address>Plaza de la Seo, 2</address>
    <horario>
        Cerrado hasta nuevo aviso. Martes a sábado de 10 a 14h y 17 a 21h Domingos 10 a
        14.30h Lunes cerrado Media hora antes del cierre se interrumpe la entrada.
    </horario>
</monumento>

Documentación adicional y Enlaces de Interés

Documentación adicional

Para algunos conjuntos de datos se establece un documento de ayuda individual con el objetivo de detallar las operaciones y métodos que se encuentran disponibles:

Enlaces de interés

API Inventario de Emisiones

API Inventario de emisiones

El objetivo de este documento es, detallar las operaciones y métodos que se encuentran disponibles en el API de inventario de emisiones.

Entorno de producción:

  • Producción: BASE_URL = https://www.zaragoza.es

Lista de años con datos

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/anyos.json
{
    "status": "success",
    "years": [
        {
        "year": 2023
        },
        {
        "year": 2021
        },
        {
        "year": 2019
        }
    ]
}

Lista de Distritos

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/distritos.json
    {
        "status": "success",
        "districts": [
            {
            "district": "Zaragoza"
            },
            {
            "district": "La Cartuja Baja"
            },
            {
            "district": "Garrapinillos"
            },
            {
            "district": "Montañana"
            },
            {
            "district": "Movera"
            },
            {
            "district": "Casablanca"
            },
            {
            "district": "El Rabal"
            },
            {
            "district": "Casetas"
            },
            {
            "district": "Santa Isabel"
            },
            {
            "district": "Torrero - La Paz"
            },
            {
            "district": "Actur - Rey Fernando"
            },
            {
            "district": "Monzalbarba"
            },
            {
            "district": "Las Fuentes"
            },
            {
            "district": "Venta del Olivar"
            },
            {
            "district": "San José"
            },
            {
            "district": "Oliver - Valdefierro"
            },
            {
            "district": "Universidad"
            },
            {
            "district": "Juslibol - El Zorongo"
            },
            {
            "district": "La Almozara"
            },
            {
            "district": "Miralbueno"
            },
            {
            "district": "Sur"
            },
            {
            "district": "Casco Histórico"
            },
            {
            "district": "Centro"
            },
            {
            "district": "Delicias"
            },
            {
            "district": "San Gregorio"
            },
            {
            "district": "San Juan de Mozarrifar"
            },
            {
            "district": "Villarrapa"
            },
            {
            "district": "Alfocea"
            },
            {
            "district": "Peñaflor"
            },
            {
            "district": "Torrecilla de Valmadrid"
            }
        ]
}

Lista de Sectores

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/sectores.json
{
    "status": "success",
    "sectors": [
        {
        "sector": "ResidentialBuildings"
        },
        {
        "sector": "OnRoadPublicTransport"
        },
        {
        "sector": "OnRoadPrivateTransport"
        },
        {
        "sector": "IndustrialBuildings"
        },
        {
        "sector": "IPPU"
        },
        {
        "sector": "Livestock"
        },
        {
        "sector": "Waste"
        },
        {
        "sector": "UrbanWoodland"
        },
        {
        "sector": "Agriculture"
        }
    ]
}

Lista de Contaminantes

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/contaminantes.json
{
    "status": "success",
    "contaminantes": [
        {
        "contaminante": "CO2_ALC1"
        },
        {
        "contaminante": "CO"
        },
        {
        "contaminante": "COVNM"
        },
        {
        "contaminante": "NOx"
        },
        {
        "contaminante": "PM10"
        },
        {
        "contaminante": "PM2.5"
        },
        {
        "contaminante": "TSP"
        },
        {
        "contaminante": "SO2"
        },
        {
        "contaminante": "N2O_ALC1"
        },
        {
        "contaminante": "CH4_ALC1"
        },
        {
        "contaminante": "Cd"
        },
        {
        "contaminante": "NH3"
        },
        {
        "contaminante": "BC"
        },
        {
        "contaminante": "Hg"
        },
        {
        "contaminante": "Pb"
        },
        {
        "contaminante": "TOTAL_MPESADOS"
        },
        {
        "contaminante": "GEI"
        },
        {
        "contaminante": "CO2_ALC2"
        },
        {
        "contaminante": "C_ELECTRICIDAD_GDO"
        },
        {
        "contaminante": "C_ELECTRICIDAD_MIXNAC"
        },
        {
        "contaminante": "Cr"
        },
        {
        "contaminante": "Cu"
        },
        {
        "contaminante": "C_BIOMASA"
        },
        {
        "contaminante": "C_GASNATURAL"
        },
        {
        "contaminante": "C_GASOLEO_A"
        },
        {
        "contaminante": "C_GASOLEO_C"
        },
        {
        "contaminante": "C_GASOLINA"
        },
        {
        "contaminante": "C_OTROS_FOSILES"
        },
        {
        "contaminante": "C_OTROS_RES"
        },
        {
        "contaminante": "As"
        },
        {
        "contaminante": "C_ELECTRICIDAD_RES_LOCAL"
        },
        {
        "contaminante": "Ni"
        },
        {
        "contaminante": "Se"
        },
        {
        "contaminante": "Zn"
        },
        {
        "contaminante": "C_GLP"
        },
        {
        "contaminante": "COV"
        },
        {
        "contaminante": "TOTAL_POPs"
        },
        {
        "contaminante": "DIOX"
        },
        {
        "contaminante": "C6H6"
        },
        {
        "contaminante": "BENZO_A"
        },
        {
        "contaminante": "BENZO_B"
        },
        {
        "contaminante": "INDENO_123"
        },
        {
        "contaminante": "PCBs"
        },
        {
        "contaminante": "CH4_ALC2"
        },
        {
        "contaminante": "N2O_ALC2"
        },
        {
        "contaminante": "PAH"
        },
        {
        "contaminante": "HCB"
        },
        {
        "contaminante": "CH4_ALC3"
        },
        {
        "contaminante": "CO2_ALC3"
        },
        {
        "contaminante": "HFC_ALC1"
        },
        {
        "contaminante": "N2O_ALC3"
        },
        {
        "contaminante": "PFC_ALC1"
        },
        {
        "contaminante": "SF6_ALC1"
        }
    ]
}

Datos de gases de efecto invernadero por distrito y sector

GET: BASE_URL/sede/servicio/inventario-emisiones/gases-efecto-invernadero-gei/{district}/por-anyo?sector={sector}

Donde:

district
Nombre del distrito.
sector
Nombre del sector.

Por ejemplo, para obtener los datos de Zaragoza para el sector edificios residenciales:

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/gases-efecto-invernadero-gei/Zaragoza/por-anyo?sector=ResidentialBuildings
[
    {
    "year": "2019",
    "CO2_ALC1": 500098.88,
    "co2Equivalente": 666921.3034248
    },
    {
    "year": "2021",
    "CO2_ALC1": 487810.5,
    "co2Equivalente": 613153.5414184
    },
    {
    "year": "2023",
    "CO2_ALC1": 424072.2,
    "co2Equivalente": 528016.0170748
    }
]

Datos de contaminante por distrito

GET: BASE_URL/sede/servicio/inventario-emisiones/distrito/{district}/por-anyo?contaminante={contaminante}

Donde:

district
Nombre del distrito.
contaminante
Nombre del contaminante.

Por ejemplo, para obtener los datos de Zaragoza para contaminante CO2_ALC1:

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/distrito/Zaragoza/por-anyo?contaminante=CO2_ALC1
[
    {
      "year": "2019",
      "IndustrialBuildings": 777682.56,
      "IPPU": 19609.246,
      "Livestock": 0,
      "OnRoadPrivateTransport": 427671.62,
      "ResidentialBuildings": 500098.88,
      "Waste": 78801.61,
      "OnRoadPublicTransport": 18602.545
    },
    {
      "year": "2021",
      "IPPU": 12433.733,
      "UrbanWoodland": 263667.8,
      "OnRoadPrivateTransport": 450400.9,
      "IndustrialBuildings": 752338.5,
      "ResidentialBuildings": 487810.5,
      "Waste": 86675.4,
      "Livestock": 0,
      "OnRoadPublicTransport": 12572.311
    },
    {
      "year": "2023",
      "Livestock": 0,
      "OnRoadPrivateTransport": 548167.8,
      "ResidentialBuildings": 424072.2,
      "IndustrialBuildings": 629174.6,
      "UrbanWoodland": 277823.44,
      "IPPU": 52012.04,
      "Waste": 9253.401,
      "OnRoadPublicTransport": 10683.555
    }
]

Datos por distrito, contaminante y año

GET: BASE_URL/sede/servicio/inventario-emisiones/distrito/{district}?anyo={anyo}&contaminante={contaminante}

Donde:

district
Nombre del distrito.
contaminante
Nombre del contaminante.
anyo
Año.

Por ejemplo, para obtener los datos de Zaragoza para contaminante CO2_ALC1:

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/distrito/Zaragoza?anyo=2023&contaminante=CO2_ALC1
[
    {
      "sector": "Ganadería",
      "value": 0
    },
    {
      "sector": "Transporte Privado",
      "value": 548167.8
    },
    {
      "sector": "Residencial",
      "value": 424072.2
    },
    {
      "sector": "Industrial",
      "value": 629174.6
    },
    {
      "sector": "IPPU",
      "value": 52012.04
    },
    {
      "sector": "Residuos",
      "value": 9253.401
    },
    {
      "sector": "Transporte Público",
      "value": 10683.555
    }
]

Datos de absorciones de arbolado urbano por distrito

GET: BASE_URL/sede/servicio/inventario-emisiones/absorciones-arbolado-urbano/{district}/por-anyo

Donde:

district
Nombre del distrito.

Por ejemplo, para obtener los datos de Zaragoza:

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/absorciones-arbolado-urbano/Zaragoza/por-anyo
[
    {
      "year": "2021",
      "UrbanWoodland": 263667.8
    },
    {
      "year": "2023",
      "UrbanWoodland": 277823.44
    },
    {
      "year": "2019",
      "UrbanWoodland": 24531
    }
]

Datos por contaminante y año para un sector

GET: BASE_URL/sede/servicio/inventario-emisiones/contaminante/{contaminante}/por-anyo?distrito={district}&sector={sector}

Donde:

contaminante
Nombre del contaminante.
district
Nombre del distrito.
sector
Nombre del sector.

Por ejemplo, para obtener los datos de Zaragoza:

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/contaminante/CO2_ALC1/por-anyo?rf=html&distrito=Zaragoza&sector=UrbanWoodland
    [
    {
      "year": "2021",
      "CO2_ALC1": 263667.8
    },
    {
      "year": "2023",
      "CO2_ALC1": 277823.44
    }
  ]

Datos de variación anual de gases de efecto invernadero

GET: BASE_URL/sede/servicio/inventario-emisiones/variacion-anual-gei-ciudad/{anyo}

Donde:

anyo
Año.

Por ejemplo, para obtener los datos de Zaragoza:

JSON
GET: BASE_URL/sede/servicio/inventario-emisiones/variacion-anual-gei-ciudad/2023
[
    {
      "periodo": "2023-2021",
      "value": -4.615334667040191
    },
    {
      "periodo": "2023-2019",
      "value": 1.2850816405148557
    },
    {
      "periodo": "2023-2015",
      "value": -14.236543498944002
    },
    {
      "periodo": "2023-2005",
      "value": -15.97571064432804
    }
]

API Cita Previa

API Cita Previa

El objetivo de este documento es, detallar las operaciones y métodos que se encuentran disponibles en el API de cita previa.

Entorno de desarrollo y de producción:

  • Desarrollo: BASE_URL = https://apex-test.zaragoza.es
  • Producción: BASE_URL = http(s)://www.zaragoza.es

Lista de Agendas Disponibles

Descripción de campos

tam_hueco
Minutos que se estima puede durar la atención de cada cita.
max_citas
Máximo número de citas simultáneas permitidas.
id_estructura
Estructura que realiza la atención, más información sobre la estructura en:
BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/[id_estructura].[json,xml]

JSON


GET: BASE_URL/api/recurso/cita-previa.json
{
    "totalCount": 33,
    "start": 0,
    "rows": 33,
    "result": [
        {
            "id": 8,
            "title": "Junta Vecinal Venta del Olivar",
            "uri": "BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/8",
            "agendas": [
                {
                    "id": 922,
                    "title": "Cita Previa Junta Venta del Olivar",
                    "description": "<div class=\"info\">Atención al ciudadano mediante \"Cita Previa\" en la <strong>Junta Vecinal Venta del Olivar</strong>, para los trámites relativos a:<ul>\n</ul> </div><p>",
                    "tam_hueco": 15,
                    "max_citas": 1,
                    "id_estructura": 8
                }
            ]
        },
        {
            "id": 9,
            "title": "Junta Vecinal Monzalbarba",
            "uri": "BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/9",
            "agendas": [
                {
                    "id": 916,
                    "title": "Cita Previa Junta Monzalbarba",
                    "description": "<div class=\"info\">Atención al ciudadano mediante \"Cita Previa\" en la <strong>Junta Vecinal Monzalbarba</strong>, para los trámites relativos a:<ul><li><strong>Padrón Municipal</strong> de Habitantes (altas y cambios de domicilio), es necesario presentar <strong>originales y fotocopias</strong> de la documentacion (DNI  o pasaporte o  NIE)  de todos los que participan y de los <strong>recibos o contrato sellado por la DGA, o  escrituras de  la nueva dirección , o en su defecto autorización escrita del dueño</strong>  del piso o de la persona que este empadronada en dicho domicilio</li><li><strong>Tarjeta Ciudadana</strong>: Solicitudes. Se necesita presentar el DNI</li><li>No se hacen fotocopias</li></ul> </div><p>",
                    "tam_hueco": 15,
                    "max_citas": 1,
                    "id_estructura": 9
                }
            ]
        },
        {
            "id": 10,
            "title": "Junta Vecinal Montañana",
            "uri": "BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/10",
            "agendas": [
                {
                    "id": 915,
                    "title": "Cita Previa Junta Montañana",
                    "description": "<div class=\"info\">Atención al ciudadano mediante \"Cita Previa\" en la <strong>Junta Vecinal Montañana</strong>, para los trámites relativos a:<ul>\n</ul> </div><p>",
                    "tam_hueco": 15,
                    "max_citas": 1,
                    "id_estructura": 10
                }
            ]
        },
        {
            "id": 9145,
            "title": "Oficina de Relaciones con los Ciudadanos (ORC, Edificio Seminario)",
            "uri": "BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/9145",
            "agendas": [
                {
                    "id": 862,
                    "title": "Consultas Edificio Seminario",
                    "description": "<div class=\"info\"><p>La Oficina de Relaciones con los Ciudadanos ofrece los siguientes servicios:<ul><li>Padrón: altas, cambios y renovaciones</li><li>Padrón: Volantes</li></ul><div>Para obtener más información puede contactar con el servicio de atención telefónica municipal 010 (para llamadas desde fuera de Zaragoza: 976 721234).<br/> Algunos operadores aplican tarifas de teléfonos especiales al llamar al 010. También puede contactar con el 010 en el 976 721234.</div></div><p>",
                    "tam_hueco": 15,
                    "max_citas": 5,
                    "id_estructura": 9145
                },
                {
                    "id": 861,
                    "title": "Volantes Edificio Seminario",
                    "description": "<div class=\"info\"><p>La Oficina de Relaciones con los Ciudadanos ofrece los siguientes servicios:<ul><li>Padrón: altas, cambios y renovaciones</li><li>Padrón: Volantes</li><li>Altas de agua por contador</li></ul><div>Para obtener más información puede contactar con el servicio de atención telefónica municipal 010 (para llamadas desde fuera de Zaragoza: 976721234).<br/>Algunos operadores aplican tarifas de teléfonos especiales al llamar al 010. También puede contactar con el 010 en el 976721234.</div></div><p>",
                    "tam_hueco": 15,
                    "max_citas": 4,
                    "id_estructura": 9145
                }
            ]
        }
        ...
    ]
}

XML


GET: BASE_URL/api/recurso/cita-previa.xml

<resultado>
   <totalCount>33</totalCount>
   <start>0</start>
   <rows>33</rows>
   <result>
      <cita-previa>
         <id>8</id>
         <title>Junta Vecinal Venta del Olivar</title>
         <uri>BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/8</uri>
         <agendas>
            <agenda>
               <id>922</id>
               <title>Cita Previa Junta Venta del Olivar</title>
               <description><![CDATA[<div class="info">Atención al ciudadano mediante "Cita Previa" en la <strong>Junta Vecinal Venta del Olivar</strong>, para los trámites relativos a:<ul>
</ul> </div><p>]]></description>
               <tam_hueco>15</tam_hueco>
               <max_citas>1</max_citas>
               <id_estructura>8</id_estructura>
            </agenda>
         </agendas>
      </cita-previa>
      <cita-previa>
         <id>9</id>
         <title>Junta Vecinal Monzalbarba</title>
         <uri>BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/9</uri>
         <agendas>
            <agenda>
               <id>916</id>
               <title>Cita Previa Junta Monzalbarba</title>
               <description><![CDATA[<div class="info">Atención al ciudadano mediante "Cita Previa" en la <strong>Junta Vecinal Monzalbarba</strong>, para los trámites relativos a:<ul><li><strong>Padrón Municipal</strong> de Habitantes (altas y cambios de domicilio), es necesario presentar <strong>originales y fotocopias</strong> de la documentacion (DNI  o pasaporte o  NIE)  de todos los que participan y de los <strong>recibos o contrato sellado por la DGA, o  escrituras de  la nueva dirección , o en su defecto autorización escrita del dueño</strong>  del piso o de la persona que este empadronada en dicho domicilio</li><li><strong>Tarjeta Ciudadana</strong>: Solicitudes. Se necesita presentar el DNI</li><li>No se hacen fotocopias</li></ul> </div><p>]]></description>
               <tam_hueco>15</tam_hueco>
               <max_citas>1</max_citas>
               <id_estructura>9</id_estructura>
            </agenda>
         </agendas>
      </cita-previa>
      <cita-previa>
         <id>10</id>
         <title>Junta Vecinal Montañana</title>
         <uri>BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/10</uri>
         <agendas>
            <agenda>
               <id_agenda>915</id_agenda>
               <title>Cita Previa Junta Montañana</title>
               <description><![CDATA[<div class="info">Atención al ciudadano mediante "Cita Previa" en la <strong>Junta Vecinal Montañana</strong>, para los trámites relativos a:<ul>
</ul> </div><p>]]></description>
               <tam_hueco>15</tam_hueco>
               <max_citas>1</max_citas>
               <id_estructura>10</id_estructura>
            </agenda>
         </agendas>
      </cita-previa>
      <cita-previa>
         <id>9145</id>
         <title>Oficina de Relaciones con los Ciudadanos (ORC, Edificio Seminario)</title>
         <uri>BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/9145</uri>
         <agendas>
            <agenda>
               <id>862</id>
               <title>Consultas Edificio Seminario</title>
               <description><![CDATA[<div class="info"><p>La Oficina de Relaciones con los Ciudadanos ofrece los siguientes servicios:<ul><li>Padrón: altas, cambios y renovaciones</li><li>Padrón: Volantes</li></ul><div>Para obtener más información puede contactar con el servicio de atención telefónica municipal 010 (para llamadas desde fuera de Zaragoza: 976 721234).<br/> Algunos operadores aplican tarifas de teléfonos especiales al llamar al 010. También puede contactar con el 010 en el 976 721234.</div></div><p>]]></description>
               <tam_hueco>15</tam_hueco>
               <max_citas>5</max_citas>
               <id_estructura>9145</id_estructura>
            </agenda>
            <agenda>
               <id>861</id>
               <title>Volantes Edificio Seminario</title>
               <description><![CDATA[<div class="info"><p>La Oficina de Relaciones con los Ciudadanos ofrece los siguientes servicios:<ul><li>Padrón: altas, cambios y renovaciones</li><li>Padrón: Volantes</li><li>Altas de agua por contador</li></ul><div>Para obtener más información puede contactar con el servicio de atención telefónica municipal 010 (para llamadas desde fuera de Zaragoza: 976721234).<br/>Algunos operadores aplican tarifas de teléfonos especiales al llamar al 010. También puede contactar con el 010 en el 976721234.</div></div><p>]]></description>
               <tam_hueco>15</tam_hueco>
               <max_citas>4</max_citas>
               <id_estructura>9145</id_estructura>
            </agenda>
         </agendas>
      </cita-previa>
      ....
   </result>
</resultado>

Detalle de una agenda

Descripción de campos

tam_hueco
Minutos que se estima puede durar la atención de cada cita.
max_citas
Máximo número de citas simultáneas permitidas.
id_estructura
Estructura que realiza la atención, más información sobre la estructura en:
BASE_URL/api/recurso/urbanismo-infraestructuras/equipamiento/recurso/[id_estructura].[json,xml]

JSON


GET: BASE_URL/api/recurso/cita-previa/agendas/861.json

{
  "id": 861,
  "title": "Volantes Edificio Seminario",
  "description": "<div class=\"info\"><p>La Oficina de Relaciones con los Ciudadanos ofrece los siguientes servicios:<ul><li>Padr¿n: altas, cambios y renovaciones</li><li>Padr¿n: Volantes</li><li>Altas de agua por contador</li></ul><div>Para obtener m¿s informaci¿n puede contactar con el servicio de atenci¿n telef¿nica municipal 010 (para llamadas desde fuera de Zaragoza: 976721234).<br/>Algunos operadores aplican tarifas de tel¿fonos especiales al llamar al 010. Tambi¿n puede contactar con el 010 en el 976721234.</div></div><p>",
  "tam_hueco": 15,
  "max_citas": 4,
  "id_estructura": 9145,
  "horarios": [
    {
      "id": 7862,
      "title": "del 25 febrero al 1 de marzo",
      "start_date": "2014-02-25",
      "end_date": "2014-12-07"
    }
  ]
}

XML


GET: BASE_URL/api/recurso/cita-previa/agendas/861.xml

<agenda>
 <id>861</id>
 <title>Volantes Edificio Seminario</title>
 <description><![CDATA[<div class="info"><p>La Oficina de Relaciones con los Ciudadanos ofrece los siguientes servicios:<ul><li>Padr¿n: altas, cambios y renovaciones</li><li>Padr¿n: Volantes</li><li>Altas de agua por contador</li></ul><div>Para obtener m¿s informaci¿n puede contactar con el servicio de atenci¿n telef¿nica municipal 010 (para llamadas desde fuera de Zaragoza: 976721234).<br/>Algunos operadores aplican tarifas de tel¿fonos especiales al llamar al 010. Tambi¿n puede contactar con el 010 en el 976721234.</div></div><p>]]></description>
 <tam_hueco>15</tam_hueco>
 <max_citas>4</max_citas>
 <id_estructura>9145</id_estructura>
 <horarios>
  <horario>
     <id>7862</id>
     <title>del 25 febrero al 1 de marzo</title>
     <start_date>2014-02-25</start_date>
     <end_date>2014-12-07</end_date>
  </horario>
 </horarios>
</agenda>

Estado de citación por día


GET: BASE_URL/api/recurso/cita-previa/agendas/[id_agenda]/[fecha].[xml,json]

Donde:

id_agenda
Identificador de la agenda.
fecha
Formato: dd-mm-yyyy.

Por ejemplo, para obtener el estado del 24 de junio de 2014 para la agenda 861:

JSON


GET: BASE_URL/api/recurso/cita-previa/agendas/861/24-06-2014.json
{
  "totalCount": 24,
  "start": 0,
  "rows": 24,
  "result": [
      {
          "hora": "08:30",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "08:45",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "09:00",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "09:15",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "09:30",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "09:45",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "10:00",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "10:15",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "10:30",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "10:45",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "11:00",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "11:15",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "11:30",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "11:45",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "12:00",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "12:15",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "12:30",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "12:45",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "13:00",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "13:15",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "13:30",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "13:45",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "14:00",
          "max_citas": 1,
          "libres": 1
      },
      {
          "hora": "14:15",
          "max_citas": 1,
          "libres": 1
      }
  ]
}

XML


GET: BASE_URL/api/recurso/cita-previa/agendas/861/24-06-2014.xml

<resultado>
   <totalCount>24</totalCount>
   <start>0</start>
   <rows>24</rows>
   <result>
      <turno>
         <hora>08:30</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>08:45</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>09:00</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>09:15</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>09:30</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>09:45</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>10:00</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>10:15</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>10:30</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>10:45</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>11:00</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>11:15</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>11:30</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>11:45</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>12:00</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>12:15</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>12:30</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>12:45</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>13:00</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>13:15</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>13:30</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>13:45</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>14:00</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
      <turno>
         <hora>14:15</hora>
         <max_citas>1</max_citas>
         <libres>1</libres>
      </turno>
   </result>
</resultado>

Alta de cita previa


POST: BASE_URL/api/recurso/cita-previa/agendas/[id_agenda]/[fecha(dd-mm-yyyy)]/
HEADERS:
clientID = <Identificador_de_la_aplicación>
Accept = application/json 
HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "POST" + uri + body, clavePrivada)
BODY: 
{
    "hora": "09:00", // obligatorio
    "nombre": "nombre",  // obligatorio
    "apellidos": "apellidos",  // obligatorio
    "nif": "11111111Y",  // obligatorio
    "telefono": "976854574",
    "email": "bweb@zaragoza.es",
    "expediente": "expediente",
    "motivo": "motivo",  // obligatorio
    "observacionesCita": "observaciones",
    "lopd": false, // Autoriza para recibir comunicaciones por correo electrónico.
    "movil": "696587451",
    "telefono2": "976222222"
}
Respuesta:
{
  "id" : 217707,
  "id_agenda" : 861,
  "fecha" : "2014-06-24T00:00:00Z",
  "hora" : "09:00",
  "nombre" : "nombre",
  "apellidos" : "apellidos",
  "nif" : "11111111Y",
  "telefono" : "976854574",
  "email" : "bweb@zaragoza.es",
  "expediente" : "expediente",
  "motivo" : "motivo",
  "observacionesCita" : "observaciones",
  "lopd" : false,
  "movil" : "696587451",
  "telefono2" : "976222222",
  "servicio" : "Direcci¿n de Organizaci¿n Municipal, Eficiencia Administrativa y Relaciones con los Ciudadanos",
  "tramite" : "Oficina de Relaciones con los Ciudadanos (Edificio Seminario)",
  "asunto" : "Padrón Municipal: Solicitud de Volante de Empadronamiento",
  "centro" : "Seminario (Ayuntamiento de Zaragoza)",
  "calle" : "V¿a Hispanidad, 20",
  "localizador" : "Vo09:00.1"
}
Errores: Si se produce un error al dar de alta la cita se obtendrá la siguiente respuesta
{
  "status" : 400,
  "code" : [codigo_error],
  "mensaje" : "[mensaje de error]"
}

El atributo code puede tener los siguientes valores:

20002
No es posible añadir nuevas citas para la fecha y hora seleccionadas puesto que se supera el número máximo de citas de la agenda
20003
La fecha seleccionada para la cita se corresponde con un día festivo
20004
La hora introducida está fuera del horario
20005
La fecha y la hora seleccionadas para la cita no pertenecen a ningún turno establecido para la agenda
20006
La hora seleccionada para la cita no se corresponde con el período o duración de las citas establecido para la agenda
20007
Ya existe una cita dada de alta para ese DNI

Consulta de citas

JSON


GET: BASE_URL/api/recurso/cita-previa/mis-citas?q=nif==11111111Y;nombre==nombre;apellidos==apellidos
    
HEADERS:
clientID = <Identificador_de_la_aplicación>
HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET" + uri + body, clavePrivada)
Accept = application/json
Respuesta:
{
    "totalCount": 1,
    "start": 0,
    "rows": 1,
    "result": [
        {
            "id": 217707,
            "estado": 1, // 1 = CITADO; 2 = EN_ESPERA; 3 = ATENDIENDO; 5 = FINALIZADO
            "id_agenda": 861,
            "fecha": "2014-01-24T00:06:00Z",
            "hora": "09:00",
            "nombre": "APELLIDOS,NOMBRE",
            "nif": "18049394Y",
            "telefono": "976854574",
            "email": "bweb@zaragoza.es",
            "expediente": "expediente",
            "motivo": "motivo",
            "localizador": "Vo09:00.1"
        }
    ]
}

XML


BASE_URL/api/recurso/cita-previa/mis-citas?q=nif==11111111Y;nombre==nombre;apellidos==apellidos

HEADERS:
clientID = <Identificador_de_la_aplicación>
HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "GET" + uri + body, clavePrivada)
Accept = application/xml
Respuesta:
<resultado>
   <totalCount>1</totalCount>
   <start>0</start>
   <rows>1</rows>
   <result>
      <cita>
         <id>217707</id>
         <estado>1</estado> // 1 = CITADO; 2 = EN_ESPERA; 3 = ATENDIENDO; 5 = FINALIZADO 
         <id_agenda>861</id_agenda>
         <fecha>2014-01-24T00:06:00Z</fecha>
         <hora>09:00</hora>
         <nombre>APELLIDOS,NOMBRE</nombre>
         <nif>18049394Y</nif>
         <telefono>976854574</telefono>
         <email>bweb@zaragoza.es</email>
         <expediente>expediente</expediente>
         <motivo>motivo</motivo>
         <localizador>Vo09:00.1</localizador>
      </cita>
   </result>
</resultado>

Cancelar una cita


DELETE BASE_URL/api/recurso/cita-previa/[identificador de cita]

HEADERS:
clientID = <Identificador de la aplicación>
HmacSHA1 = Clave HMAC generado de la siguiente forma Hmac(clientId + "DELETE" + uri + body, clavePrivada)
Accept = application/json
Respuesta:
{
  "status" : 200,
  "mensaje" : "Borrado realizado correctamente"
}