API del Portal de Datos Abiertos: consumo de datos de forma automatizada
¿Sabes qué es una API?
Las Interfaces de Programación de Aplicaciones (API, por sus siglas en inglés) son uno de los servicios de intercambio de información y acceso a datos más comunes en la actualidad.
Complementan la disponibilidad de datos en ficheros descargables y aportan una serie de ventajas que hacen que sea un medio de acceso y consumo de datos imprescindible en cualquier Iniciativa de Datos Abiertos.
Además, se trata del mecanismo de acceso más adecuado para publicar datos con alta frecuencia de actualización, como los datos en tiempo real (API meteorológica) o los de transporte público, considerados de alto valor (Reglamento de Ejecución (UE) 2023/138 de la Comisión de 21 de diciembre de 2022 por el que se establecen una lista de conjuntos de datos específicos de alto valor y modalidades de publicación y reutilización).
Las APIs son especialmente útiles para consumir todo tipo de datos de forma automática, pudiendo ajustar la descarga a los datos deseados.
¿Cuáles son las ventajas de utilizar la API de datos del Portal de Datos Abiertos?
Una ventaja de las APIs frente a la descarga de archivos es que permite aplicar diferentes operaciones durante el acceso y recuperación de los datos. En el consumo de datos vía API es habitual el filtrado de datos y la selección de categorías o formatos.
En este artículo, profundizaremos en su funcionamiento y en la posibilidad de reutilización del contenido del portal de Datos Abiertos del Cabildo de Tenerife gracias a su utilización.
¿Cómo utilizar la API de datos.tenerife.es?
La documentación sobre la API del portal de Datos Abiertos del Cabildo de Tenerife se encuentra en el bloque de Datos situado en la parte superior de la página del portal. Al acceder al apartado API se visualizará la siguiente pantalla:
En las API la comunicación entre servidor y clientes sobre la Web se realiza mediante el intercambio de mensajes HTTP en un contexto seguro de interacción.
Existen dos tipos de mensajes: las peticiones, que son enviadas por el cliente al servidor para solicitar el inicio de alguna acción para interactuar con los recursos de información, y las respuestas, que constituyen la materialización de la acción que se solicita.
Cada petición, como veremos a continuación, contiene toda la información necesaria para ejecutar la acción requerida. En el portal de Datos Abiertos del Cabildo las operaciones o acciones que se pueden realizar utilizan el método “GET” sobre distintos tipos de objetos:
- Conjuntos de Datos
- Recursos
- Categorías
- Organizaciones
- Etiquetas
Operaciones sobre conjunto de datos
La API permite obtener el listado de los conjuntos de datos publicados en el portal; el flujo de actividad de todos los que hayan sido añadidos o modificados recientemente –en el último día-; la información de aquellos conjuntos que pertenecen a una categoría; los conjuntos de datos que responden a un criterio de búsqueda determinado o la relación de metadatos de un conjunto de datos y sus recursos.
Para obtener una respuesta concreta sería necesario, en primer lugar, establecer los parámetros deseados. En este caso, comenzaríamos con la primera operación establecida, que se corresponde con el listado de conjunto de datos existentes en el catálogo del portal.
Tras hacer click en GET o en la flecha situada en el extremo derecho, será necesario lanzar las acciones “Try it out” y “Execute”, para ejecutar el contenido de la petición. De esta forma, se mostrará, en primer lugar, la petición que se ejecutará.
Y, a continuación, se muestra la respuesta donde obtendremos un listado de todos los conjuntos de datos, que también puede ser descargado.
La URL de la petición permitirá disponer de la lista de los conjuntos de datos disponibles en el portal de Datos Abiertos -en formato JSON-, sin que haya que acceder al portal. Con esta misma URL puedes disponer de los datos de forma actualizada, pegándola en tu propio navegador.
¿Cómo se pueden establecer parámetros para obtener resultados concretos?
Para segmentar de una forma específica los conjuntos de datos obtenidos, se puede elegir alguno de los parámetros existentes en cada operación, para obtener aquellos que pertenezcan a una categoría concreta, que respondan a un criterio de búsqueda determinado o que incluyan unos metadatos específicos.
En el caso de los conjuntos de datos que pertenecen a una categoría (/action/group_package_show) es obligatorio indicar un id.
Este “id” se corresponde con las distintas categorías que se incluyen en el portal, también denominadas “grupos”. Para identificar cuál se aproxima a nuestra búsqueda, se pueden consultar las categorías que figuran en la página de entrada del portal (“home”). Pero, sin salir de la página actual, también se pueden obtener utilizando las operaciones sobre "Categorías” (/action/group_list), que devuelve todas aquellas con las que cuenta el portal (contengan o no conjuntos de datos).
Primero se haría clic en “Try it out” y después en “Execute” y ya se obtendría el listado correspondiente. En esta imagen, se muestra la lista de los “id” de las distintas categorías existentes.
Tras obtener los “id” correspondientes, se seleccionaría el que se aproxime a la respuesta que se desea obtener y se escribiría en el recuadro correspondiente, que indicábamos anteriormente.
De este modo, los resultados mostrarían todos los conjuntos de datos relacionados con esa categoría. En el siguiente ejemplo, indicaremos la de “comercio” para visualizar los resultados que se obtendrían.
En el recuadro “limit” se puede indicar el número máximo de conjuntos de datos que se quieren obtener por categoría (por defecto serían 10).
Esta operación permite obtener la relación de conjuntos de datos concretos y actualizados, que pueden facilitar su reutilización.
En la siguiente operación (/action/package_search) se podría realizar una búsqueda de un conjunto de datos que satisfaga un criterio de búsqueda determinado. En este caso, se muestran otros parámetros diferentes.
En el campo “q” se pueden consultar datos utilizando la sintaxis de búsqueda de Solr. Para ello, se emplearían códigos como “tags” -etiquetas-, “ groups” -categorías- u “organization” -organización-, seguidos de dos puntos y la palabra correspondiente. En este campo también se pueden realizar búsquedas simples, con la palabra directamente, sin utilizar códigos.
Como ejemplo, introduciendo “tags:restaurantes” obtendremos los conjuntos de datos en los que está incluida esta palabra como etiqueta.
Del mismo modo, también se puede acotar la búsqueda por Organización (“organization”) o por categoría (“groups”), como en el ejemplo “organization:transportes-interurbanos-de-tenerife-titsa".
¿Cómo obtener metadatos de un dataset y sus recursos?
Otra de las posibilidades que ofrece la API es obtener los metadatos de un conjunto de datos específico y sus recursos (/action/package_show). En primer lugar, es necesario conocer el “id” o “name” del conjunto de datos que se quiere consultar, para lo que podemos utilizar alguna de las operaciones anteriores en cuyos resultados podemos encontrar el nombre y/o identificador de los conjuntos de datos resultantes.
Del ejemplo anterior, de la operación /action/package_search podemos seleccionar el “id” correspondiente o “name” del conjunto de datos del que queremos obtener sus metadatos de forma específica (para el ejemplo anterior de “restaurantes”):
De forma que en este caso utilizando su “id” (4912b6d8-89f3-48d7-9dd1-bdefb18dbb17) o el “name” (establecimientos-de-hosteleria-y-restauracion-de-tenerife) se obtendrían los metadatos del conjunto de datos y sus recursos.
De este modo, ya se obtendría el listado correspondiente, con la URL que se podría utilizar para disponer de los datos actualizados, como en los ejemplos explicados anteriormente.
Si seguimos avanzando en la documentación de la API, veremos otras operaciones o acciones, indicadas como:
/action/tag_list
/action/tag_show
/action/organization_show
/action/resource_show
En estos casos, se podrían ejecutar del mismo modo que los indicados anteriormente.
Y hasta aquí una breve explicación en la que mostramos algunas de las posibilidades de la API de catálogo del portal de Datos Abiertos del Cabildo de Tenerife. Es evidente que las API son herramientas esenciales para acceder y compartir datos de manera eficiente y programática en el mundo digital.
Así que solo queda que descubras más en nuestro propio portal datos.tenerife.es