api_doc

📊 Datos y Metricas

Este módulo permite registrar y consultar los datos generados por los dispositivos IoT.
Los datos representan estados reportados por un dispositivo en un momento determinado.

Relación con la API

Los dispositivos envían información a la API utilizando el endpoint de creación de datos.
Posteriormente, estos datos pueden ser consultados para análisis o visualización.

🔐 Endpoints protegidos

Todos los endpoints de esta sección requieren una sesión activa.

Métodos disponibles a endpoint único

POST /data

Registra un nuevo dato enviado por un dispositivo.

Este endpoint es utilizado para registrar un cambio de estado en uno de los actuadores del dispositivo IoT.
Puntualmente un estado alto, es decir, encendido del dispositivo que se hace control mediante el relé.

Body

{
  "locationName": "hospital centenario",
  "deviceName": "pasillo central",
  "deviceId": "675cb7729919b5f06e5ad5a4",
  "habitacion": "101",
  "valor": 1000,
  "createdTime": 1735330059103
}

Response 201 created

{
  "status": "success",
  "message": "Data saved successfully"
}

Errores

500 → Error de servidor

{
  "status": "error",
  "message": "Failed to save data"
}

GET /data

Obtiene los datos asociados a un Usuario

Query params

period=anual

URL completa:
http://localhost:3001/api/data?period=anual

Response 200

{
  "status": "success",
  "data": {
    "totalRevenue": 120,
    "totalSales": 10,
    "totalLocations": 2,
    "totalDevices": 5,
    "dataForChart": [
      { "name": "lun", "total": 20 }
    ],
    "recentCount": 10
  }
}

Errores

400 → Bad request

{
  "status": "error",
  "message": "Periodo no válido. Debe ser semanal o anual"
}

404 → Not Found

{
  "status": "error",
  "message": "No se encontraron datos para el periodo solicitado"
}

500 → Error de servidor

{
  "status": "error",
  "message": "Error al obtener los datos"
}


⬅️ Volver a Locaciones - Webhooks ➡️