{"message":"IoT Sensors endpoints available","categories":{"water_quality":["/aa/*","/zentracloud"],"agricultural":["/agrosense","/as","/spider"],"weather_stations":["/ecowitt/*"],"data_loggers":["/hobo","/hobov2/*"],"mapping":["/plas/*"]},"endpoints":{"aa":{"description":"Alejandro Acevedo - RiegoPro sensors","routes":["/data","/dataloggers"],"parameters":{"data":{"required":["name","start","end","id"],"description":"Obtener datos de sensores. name: identificador del cliente, id: ID del datalogger"},"dataloggers":{"required":["name"],"description":"Obtener lista de dataloggers disponibles"}}},"agrosense":{"description":"Agricultural sensing network","routes":["/"],"parameters":{"required":["user","pass"],"description":"Obtener datos de sensores Agrosense"}},"as":{"description":"Agrosuccess agricultural sensors","routes":["/"],"parameters":{"required":["user","pass","start","end"],"description":"Obtener datos de sensores Agrosuccess. start y end en formato YYYY-MM-DD"}},"ecowitt":{"description":"Ecowitt weather stations","routes":["/list","/history","/realtime"],"parameters":{"list":{"optional":["application_key","api_key"],"description":"Lista de estaciones disponibles"},"history":{"optional":["application_key","api_key","mac","start","end"],"description":"Historial de datos. mac default: 48:3F:DA:89:C0:64"},"realtime":{"optional":["application_key","api_key","mac"],"description":"Datos en tiempo real"}}},"hobo":{"description":"HOBO data loggers (original)","routes":["/"],"parameters":{"required":["user","pass","userid","loggers"],"optional":["start","end"],"description":"Filtra automáticamente por Rain, Temperature y Reference ET"}},"hobov2":{"description":"LI-COR Cloud data loggers (Hobo V2)","routes":["/data","/devices"],"parameters":{"data":{"required":["token","deviceSerialNumber"],"optional":["start","end","lat","debug"],"description":"Obtener datos de dispositivos. Con debug=true incluye respuesta cruda de la API. Devuelve todas las mediciones sin filtrar. Calcula ET0 usando método Hargreaves. Parámetro lat (default: 35) para cálculos de ET. También acepta device_serial_number como sinónimo de deviceSerialNumber"},"devices":{"required":["token"],"optional":["debug"],"description":"Listar dispositivos disponibles. Con debug=true incluye respuesta cruda de la API"}},"examples":{"data":"/hobov2/data?token=YOUR_TOKEN&deviceSerialNumber=10851081&start=2025-11-01&end=2025-11-10","dataWithLat":"/hobov2/data?token=YOUR_TOKEN&deviceSerialNumber=10851081&start=2025-11-01&end=2025-11-10&lat=-33.5","dataWithDebug":"/hobov2/data?token=YOUR_TOKEN&deviceSerialNumber=10851081&start=2025-11-01&end=2025-11-10&debug=true","dataWithAltName":"/hobov2/data?token=YOUR_TOKEN&device_serial_number=10851081&start=2025-11-01&end=2025-11-10","devices":"/hobov2/devices?token=YOUR_TOKEN","devicesWithDebug":"/hobov2/devices?token=YOUR_TOKEN&debug=true"}},"plas":{"description":"PLAS mapping services (Sentinel-Hub)","routes":["/","/key","/map","/featureinfo","/historicalinfo","/getlegendgraphic","/getDates"],"parameters":{"map":{"required":["BBOX","time"],"optional":["layer","evalscript"],"description":"Obtener mapa/tile. layer default: NDVI"},"featureinfo":{"required":["BBOX","time","x","y","width","height"],"optional":["layer"],"description":"Información de features en coordenadas específicas"},"historicalinfo":{"required":["BBOX","time","x","y","width","height"],"optional":["layer"],"description":"Información histórica de features"}}},"spider":{"description":"Spider IoT sensors (DEPRECADO)","routes":["/"],"parameters":{"required":["user","pass"],"optional":["start","end","bbox","width","height","x","y"],"description":"DEPRECADO - Este servicio puede ser removido en futuras versiones. pass se hashea con MD5"}},"zentracloud":{"description":"Zentra Cloud sensors","routes":["/"],"parameters":{"optional":["token","device_sn","start_date","end_date","output_format","page_num"],"description":"Todos los parámetros son opcionales con valores por defecto"}}}}