Consulta de datos en API pública
Para realizar consultas de datos en la API pública se utilizará la documentación online que se encuentra accesible mediante el enlace: https://iot.nazaries.cloud/public_api/v1/apidocs, la cual está hecha con swagger http://swagger.io/ por lo que se pueden hacer pruebas desde la propia página de documentación.
Es muy sencilla de utilizar. Se debe tener en cuenta que todas las acciones requieren de un login previo. Con esto, obtenemos un token JWT (https://jwt.io/) . Este token nos permitirá realizar las demás peticiones para consultar las estaciones disponibles y los datos de las mismas. La página de documentación proporciona ejemplos en curl con todas las cabeceras, parámetros, etc. que acepta la API, por lo que debería proporcionar bastante información sobre cómo usarla.
Veamos paso a paso cómo realizar las consultas:
Paso 1: Iniciar sesión.
Paso 1.1: Hacemos click sobre sign_in.
Paso 1.2: Tras haber hecho click sobre sign_in se habrá desplegado una vista donde podremos rellenar con nuestro nombre de usuario o email y contraseña.
Para ello, debemos hacer click en el botón de Try it out.
Rellenamos los campos nombre (o email) y contraseña:
Paso 1.3: Una vez que hemos hecho click en execute para ejecutar las credenciales, si el login es correcto, copiamos el token de acceso para poder hacer la autorización. Para ello, sólo copiamos el texto que aparece dentro de las comillas.
Paso 1.4: Una vez tenemos el token, tenemos que autorizar al usuario para poder hacer uso de las diferentes opciones del Webservice. Este proceso se ilustran en los siguientes pasos.
Paso 1.4.1: Buscamos el botón con el borde en verde y el texto "Authorize", hacemos click.
Paso 1.4.2: Rellenamos el campo value con la palabra Bearer espacio y el token que hemos copiado y pulsamos en "Authorize".
Si todo es correcto, la respuesta nos dará como resultado un código 200.
NOTA: También se puede obtener la llamada en formato Curl.
Paso 2: Consulta de datos. Una vez realizada la autorización del usuario, tenemos a disposición de nuestros usuarios las siguientes opciones de consulta:
Consultar dispositivos:
- Dispositivos (/Stations). Donde podemos consultar el listado con todos los dispositivos configurados para el usuario autorizado.
- Dispositivo (/Stations/ {id} ). Podemos consultar los datos de configuración de la estación asociada al id indicado.
Veamos un ejemplo en el caso de stations (el cual se puede generalizar al resto de consultas):
Consultar variables:
- Variables (/stations/{station_id}/variables). Consulta de las variables asociadas al dispositivo indicada en station_id.
- Variable ( /stations/{station_id}/variables/{id}). Datos de la variable (id) del dispositivo (station_id).
Consultar datos:
- Datos (/stations/ {station_id}/data). Consulta de los datos de un dispositivo entre un periodo de tiempo. Estos tiempos deben proporcionarse en formato UNIX y la consulta como máximo te devolverá la información de la ultimas 24 horas. Además hay que indicar (con el id) todas las variables de las que se quiere consultar información.
- Últimos datos. ( /stations/{station_id}/data/latest). Consulta de los últimos datos generados por el dispositivo (station_id).