Saltar al contenido
Documentación API REST v1
GT
RF-16 • RESTful Versión 1.0

Documentación Oficial de Endpoints de la API

Esta API expone datos en tiempo real de infraestructura solar, mediciones energéticas y cálculo de reducción de emisiones de CO₂ en la República de Guatemala. Todas las respuestas se entregan bajo estándar JSON con código de estado HTTP y encabezados de seguridad. Es de solo lectura y de acceso público, sin autenticación.

URL Base Pública: https://kin-solar-guatemala.duckdns.org/api/v1
CORS Habilitado
Nota sobre tipos: los campos numéricos que provienen de columnas decimal (kWh, CO₂, porcentajes, coordenadas) se serializan como cadenas de texto (ej. "113055.36"), no como números JSON, por precisión decimal exacta de Laravel/MySQL. Los ejemplos de esta página reflejan exactamente el tipo real devuelto por el servidor.
GET /api/v1/departments
Catálogo de los 22 departamentos

Lista los 22 departamentos de Guatemala con su código y coordenadas de referencia, junto con la cantidad de granjas solares registradas en cada uno.

{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Guatemala",
      "code": "GUA",
      "latitude": "14.6349000",
      "longitude": "-90.5069000",
      "created_at": "2026-09-12T00:42:50.000000Z",
      "updated_at": "2026-09-12T00:42:50.000000Z",
      "solar_farms_count": 1
    }
  ]
}
GET /api/v1/departments/{id}
Detalle con granjas y paneles

Devuelve un departamento con sus granjas solares y los paneles asociados a cada una. Responde 404 con {"success": false, "message": "Departamento no encontrado"} si el ID no existe.

{
  "success": true,
  "data": {
    "id": 3,
    "name": "Escuintla",
    "code": "ESC",
    "latitude": "14.3009000",
    "longitude": "-90.7850000",
    "solar_farms": [
      {
        "id": 3,
        "name": "Granja Solar Escuintla Norte",
        "status": "active",
        "solar_panels": [ "..." ]
      }
    ]
  }
}
GET /api/v1/farms
Listado de activos con GPS

Retorna todas las granjas con su ubicación, departamento asociado, capacidad calculada (suma de potencia × cantidad de sus paneles) y familias beneficiadas.

{
  "success": true,
  "data": [
    {
      "id": 3,
      "name": "Granja Solar Escuintla Norte",
      "department": "Escuintla",
      "latitude": 14.335,
      "longitude": -90.77,
      "calculated_capacity_kw": 1010,
      "benefited_families": 1200,
      "status": "active"
    }
  ]
}
GET /api/v1/generations
Mediciones por período, paginadas

Lista las mediciones de generación (estimada vs. real, y CO₂ evitado), ordenadas del período más reciente al más antiguo, paginadas de 20 en 20. Acepta filtros opcionales por query string: ?solar_farm_id={id} y ?period=AAAA-MM.

{
  "success": true,
  "data": {
    "current_page": 1,
    "per_page": 20,
    "total": 6,
    "data": [
      {
        "id": 6,
        "solar_farm_id": 1,
        "period": "2026-08",
        "record_date": "2026-08-31T00:00:00.000000Z",
        "estimated_kwh": "62894.04",
        "real_kwh": "61636.16",
        "co2_kg": "24654.46",
        "solar_farm": { "id": 1, "name": "Granja Solar Villa Nueva", "..." : "..." }
      }
    ]
  }
}
GET /api/v1/statistics
Métricas macro nacionales

Devuelve el consolidado nacional: total de granjas y paneles, capacidad en kW, energía acumulada en kWh, familias beneficiadas, CO₂ evitado en kg y toneladas, y el conteo de alertas activas.

{
  "success": true,
  "data": {
    "total_farms": 10,
    "total_panels": 12630,
    "total_capacity_kw": 6710.3,
    "total_kwh": 5048227.46,
    "total_co2_kg": 2019290.98,
    "total_co2_tons": 2019.29098,
    "total_families": 9150,
    "active_alerts": 3,
    "emission_factor_kg_per_kwh": 0.4
  }
}
GET /api/v1/alerts
Alertas automáticas por déficit ≥20%

Lista todas las alertas de desviación (generación real ≤ 80% de la esperada), con la granja y la medición de generación que las originó, ordenadas de más reciente a más antigua.

{
  "success": true,
  "data": [
    {
      "id": 1,
      "solar_farm_id": 3,
      "energy_generation_id": 16,
      "period": "2026-06",
      "estimated_kwh": "113055.36",
      "real_kwh": "84791.52",
      "deviation_percentage": "25.00",
      "status": "active",
      "resolution_notes": null,
      "resolved_by": null,
      "resolved_at": null,
      "solar_farm": { "id": 3, "name": "Granja Solar Escuintla Norte", "..." : "..." },
      "energy_generation": { "id": 16, "period": "2026-06", "..." : "..." }
    }
  ]
}

Ejemplo de consumo (curl)

curl https://kin-solar-guatemala.duckdns.org/api/v1/statistics
curl https://kin-solar-guatemala.duckdns.org/api/v1/farms
curl https://kin-solar-guatemala.duckdns.org/api/v1/departments/1