{ "name": "ContaminUS", "version": "1.0.0", "basePath": "/api", "endpoints": [ { "method": "GET", "path": "/raw/v1/groups", "description": "Obtener todos los grupos" }, { "method": "POST", "path": "/raw/v1/groups", "description": "Crear un nuevo grupo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "groupName", "type": "string", "description": "Nombre del grupo", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/sensors", "description": "Obtener todos los sensores de un dispositivo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "path", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "path", "required": true } ] }, { "method": "POST", "path": "/raw/v1/groups/:groupId/devices/:deviceId/sensors", "description": "Crear un nuevo sensor en un dispositivo", "params": [ { "name": "sensorId", "type": "integer", "description": "ID del sensor", "in": "body", "required": true }, { "name": "deviceName", "type": "string", "description": "Nombre del dispositivo", "in": "body", "required": true }, { } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/sensors/:sensorId", "description": "Obtener un sensor específico de un dispositivo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "path", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "path", "required": true }, { "name": "sensorId", "type": "integer", "description": "ID del sensor", "in": "path", "required": true } ] }, { "method": "PUT", "path": "/raw/v1/groups/:groupId/devices/:deviceId/sensors/:sensorId", "description": "Actualizar un sensor específico de un dispositivo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "path", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "path", "required": true }, { "name": "sensorId", "type": "integer", "description": "ID del sensor", "in": "path", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/sensors/:sensorId/values", "description": "Obtener los valores de un sensor específico de un dispositivo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "path", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "path", "required": true }, { "name": "sensorId", "type": "integer", "description": "ID del sensor", "in": "path", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices", "description": "Obtener todos los dispostivos de un grupo específico", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true } ] }, { "method": "POST", "path": "/raw/v1/groups/:groupId/devices", "description": "Crear un nuevo dispostivo perteneciente a un grupo", "params": [ { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceName", "type": "string", "description": "Nombre del dispositivo", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId", "description": "Obtener un dispositivo de un grupo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true } ] }, { "method": "PUT", "path": "/raw/v1/groups/:groupId/devices/:deviceId", "description": "Actualiza un dispositivo de un grupo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/latest-values", "description": "Obtener los últimos valores de un dispositivo perteneciente a un grupo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/latest-values", "description": "Obtener los últimos valores de un dispositivo perteneciente a un grupo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/latest-values", "description": "Obtiene el histórico de valores para un dispositivo de un grupo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true } ] }, { "method": "POST", "path": "/batch", "description": "Añadir los valores de los 3 sensores", "params": [ { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "sensorId", "type": "integer", "description": "ID del sensor", "in": "body", "required": true }, { "name": "lat", "type": "float", "description": "Latitud", "in": "body", "required": true }, { "name": "lon", "type": "float", "description": "Longitud", "in": "body", "required": true }, { "name": "temperature", "type": "float", "description": "Temperatura", "in": "body", "required": true }, { "name": "humidity", "type": "float", "description": "Humedad", "in": "body", "required": true }, { "name": "pressure", "type": "float", "description": "Presión", "in": "body", "required": true },{ "name": "value", "type": "float", "description": "Valor de CO", "in": "body", "required": true }, { "name": "timestamp", "type": "long", "description": "Momento en el que se añadió el valor del CO", "in": "body", "required": true } ] }, { "method": "POST", "path": "/groups/:groupId/devices/:deviceId/sensors/:sensorId/gps_values", "description": "Añadir un valor del GPS", "params": [ { "name": "valueID", "type": "integer", "description": "ID del valor", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "sensorId", "type": "integer", "description": "ID del sensor", "in": "body", "required": true }, { "name": "lat", "type": "float", "description": "Latitud", "in": "body", "required": true }, { "name": "lon", "type": "float", "description": "Longitud", "in": "body", "required": true }, { "name": "timestamp", "type": "long", "description": "Momento en el que se añadió el valor del GPS", "in": "body", "required": true } ] }, { "method": "POST", "path": "/groups/:groupId/devices/:deviceId/sensors/:sensorId/weather_values", "description": "Añadir un valor del clima", "params": [ { "name": "valueId", "type": "integer", "description": "ID del valor", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "sensorId", "type": "integer", "description": "ID del sensor", "in": "body", "required": true }, { "name": "temperature", "type": "float", "description": "Temperatura", "in": "body", "required": true }, { "name": "humidity", "type": "float", "description": "Humedad", "in": "body", "required": true }, { "name": "pressure", "type": "float", "description": "Presión", "in": "body", "required": true }, { "name": "timestamp", "type": "long", "description": "Momento en el que se añadió el valor del clima", "in": "body", "required": true } ] }, { "method": "POST", "path": "/groups/:groupId/devices/:deviceId/sensors/:sensorId/co_values", "description": "Añadir un valor de CO", "params": [ { "name": "valueId", "type": "integer", "description": "ID del valor", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "sensorId", "type": "integer", "description": "ID del sensor", "in": "body", "required": true }, { "name": "value", "type": "float", "description": "Valor de CO", "in": "body", "required": true }, { "name": "timestamp", "type": "long", "description": "Momento en el que se añadió el valor del CO", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/actuators", "description": "Obtener todos los actuadores pertenecientes a un dispositivo de un grupo específico", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true } ] }, { "method": "POST", "path": "/raw/v1/groups/:groupId/devices/:deviceId/actuators", "description": "Añadir un nuevo actuador para un dispositivo perteneciente a un grupo", "params": [ { "name": "actuatorId", "type": "integer", "description": "ID del actuador", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "status", "type": "string", "description": "Modo del actuador (GAS/ECO)", "in": "body", "required": true }, { "name": "timestamp", "type": "long", "description": "Momento en el que se inicializó el actuador", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/actuators/:actuator_id", "description": "Obtener el actuadores perteneciente a un dispositivo de un grupo específico", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "actuator_id", "type": "integer", "description": "ID del actuador", "in": "body", "required": true } ] }, { "method": "POST", "path": "/raw/v1/groups/:groupId/devices/:deviceId/actuators/:actuator_id", "description": "Actualizar un actuador para un dispositivo perteneciente a un grupo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "actuator_id", "type": "integer", "description": "ID del actuador", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/groups/:groupId/devices/:deviceId/actuators/:actuator_id/status", "description": "Obtener el estado de un actuador perteneciente a un dispositivo en un grupo", "params": [ { "name": "groupId", "type": "integer", "description": "ID del grupo", "in": "body", "required": true }, { "name": "deviceId", "type": "integer", "description": "ID del dispositivo", "in": "body", "required": true }, { "name": "actuator_id", "type": "integer", "description": "ID del actuador", "in": "body", "required": true } ] }, { "method": "GET", "path": "/raw/v1/v_latest_values", "description": "Obtener la vista de últimos valores", "params": [] }, { "method": "GET", "path": "/raw/v1/v_pollution_map", "description": "Obtener la vista de contaminación de un mapa", "params": [] }, { "method": "GET", "path": "/raw/v1/v_sensor_history_by_device", "description": "Obtener la vista del historico de sensores por dispositivo", "params": [] }, { "method": "GET", "path": "/raw/v1/v_sensor_values", "description": "Obtener vista de valores dee sensores", "params": [] } ] }