API de Datos
Dentro de esta página de Open Data Bizkaia se proporciona información de utilidad para desarrolladores de aplicaciones, así como para usuarios con un perfil más técnico. En cada uno de los siguientes apartados se definen aspectos básicos y métodos de acceso a datasets y recursos mediante la API de CKAN.
- Qué es una API
- Cuál es el identificador de un recurso
- Cómo obtener los nombres de los campos de un recurso
- Cómo se utiliza la API para hacer consultas
- Cómo obtener los datos actualizados de un recurso
Más información en la documentación del API de Datos principal y del DataStore de CKAN (información en inglés).
-
Punto de acceso API
El API de Datos es accesible a través de las siguientes acciones de la API de acción de CKAN.
Crear
https://www.opendatabizkaia.eus/es/api/3/action/datastore_create
Actualizar / Insertar
https://www.opendatabizkaia.eus/es/api/3/action/datastore_upsert
Consulta
https://www.opendatabizkaia.eus/es/api/3/action/datastore_search
Consulta (vía SQL)
https://www.opendatabizkaia.eus/es/api/3/action/datastore_search_sql
-
Ejemplo de consulta
Ejemplo de consulta (primeros cinco resultados)
https://www.opendatabizkaia.eus/es/api/3/action/datastore_search?id=58f8c26e-996a-42e3-a49e-ef1e8e754ce6&limit=5
Consulta ejemplo (resultados que contienen el valor "TERRENO" en el campo "HIGIEZIN MOTA_CAS/TIPO INMUEBLE_CAS")
https://www.opendatabizkaia.eus/es/api/3/action/datastore_search?id=58f8c26e-996a-42e3-a49e-ef1e8e754ce6&q={%22HIGIEZIN%20MOTA_CAS/TIPO%20INMUEBLE_CAS%22:%22%TERRENO%%22}
Consulta ejemplo (vía sentencia SQL)
https://www.opendatabizkaia.eus/es/api/3/action/datastore_search_sql?sql=SELECT%20*%20from%20%2258f8c26e-996a-42e3-a49e-ef1e8e754ce6%22%20WHERE%20%22KALEA/CALLE%22%20LIKE%20%27EL%VIVERO%%27
-
Ejemplo: Javascript
Una simple consulta ajax (JSONP) a la data API usando jQuery.
var data = { resource_id: ‘58f8c26e-996a-42e3-a49e-ef1e8e754ce6', // the resource id limit: 5, // get 5 results }; $.ajax({ url: '/datastore_search', data: data, dataType: 'jsonp', success: function(data) { alert('Total results found: ' + data.result.total) } });
-
Ejemplo: Python
import urllib.request url = 'https://www.opendatabizkaia.eus/es/api/3/action/datastore_search?id=58f8c26e-996a-42e3-a49e-ef1e8e754ce6&limit=5' fileobj = urllib.request.urlopen(url) print(fileobj.read())