API de exportación heredada
Esta página describe los enlaces de exportación que existían antes de Metric Export. Son heredados: se sirven sin cambios, con los mismos parámetros, ids de métrica y columnas, y ya no se amplían.
Los libros de Excel y los scripts existentes siguen funcionando
Los enlaces heredados no tienen fecha de retirada. Nada de lo que hayas construido sobre ellos tiene que cambiar. Para trabajos nuevos usa la API de Metric Export; la guía de migración relaciona cada id heredado con su métrica.
Rutas
Todas las rutas siguen a https://service.mirox.io/api. Un token de API del grupo Metric Export las lee todas.
| Ruta | Respuesta | Estado |
|---|---|---|
GET /v1/export/metrics/template/{template_uid} | CSV | heredada — Exportación por plantilla |
GET /v1/export/metrics/query | CSV | heredada — Exportación por id de métrica |
GET /v1/export/raw/query | CSV | heredada — Exportación de series temporales brutas |
GET /v1/export/raw/component/query | CSV | heredada — Exportación bruta por componente |
GET /v1/metrics/raw | JSON | heredada — la lista de ids de métricas brutas |
GET /v1/metrics/components | JSON | heredada — la lista de ids de métricas de componentes por tipo de componente |
GET /v1/export/report/{park_uid}/info | JSON | actual — Información de la planta |
GET /v1/export/report/{park_uid}/events.csv | CSV | actual — Eventos |
GET /v1/export/report/{park_uid}/data/template/{template_uid}/metrics.csv | CSV | obsoleta |
POST /v1/export/metrics/query, POST /v1/export/raw/query, POST /v1/export/raw/component/query | JSON | obsoleta |
GET /v1/export/template/metrics | JSON | obsoleta |
Qué está obsoleto
Una ruta obsoleta sigue respondiendo, pero puede retirarse en una versión posterior, y la referencia interactiva de la API la marca como obsoleta.
- La ruta de plantilla para una sola planta bajo
/v1/export/report/{park_uid}/data/template/…. Usa en su lugar la exportación por plantilla; acepta las mismas plantillas. - Las tres rutas
POSTque respondían las exportaciones como JSON. La API de Metric Export responde JSON conformat=json. GET /v1/export/template/metrics, la lista de ids de métricas heredadas para el editor de plantillas. El catálogo de métricas la sustituye.
Todo lo demás de esta página es heredado, pero no obsoleto.
Varias plantas: combinar o separar
Las cuatro exportaciones aceptan los parámetros park y portfolio separados por comas. Cuando se indican ambos, las plantas de cada portfolio se añaden a las plantas listadas.
multi_park_agg decide cómo se representan varias plantas. Está disponible en las exportaciones por plantilla, por id de métrica y bruta; la exportación por componente tiene en su lugar multi_component_agg.
| Valor | Resultado |
|---|---|
merge (predeterminado) | Una columna por métrica. Las plantas se combinan con el operador que declara esa métrica: la energía y la potencia se suman; las tensiones, temperaturas y ratios se promedian. |
split | Una columna por planta y por métrica, llamada <nombre de la planta> - <nombre de la métrica>. Todas las métricas de una planta van juntas, con las plantas ordenadas por nombre. |
Con una única planta ambas son idénticas y el parámetro se ignora.
Exportación por plantilla
GET /v1/export/metrics/template/{template_uid}
| Parámetro | Propósito |
|---|---|
park / portfolio | UIDs separados por comas que delimitan la exportación |
resolution | daily, weekly, monthly, quarterly o yearly; predeterminado monthly |
year + quarter / month / week / day | El periodo de calendario (day requiere month); year debe ser 2020 o posterior |
full_week | Solo con resolución semanal: extender el rango a semanas ISO completas |
multi_park_agg | merge (predeterminado) o split |
separator_csv / separator_decimal / datetime_format / language | Formato CSV y nombres de columna traducidos |
curl "https://service.mirox.io/api/v1/export/metrics/template/ABCD12340001?park=ABC123DEF456&resolution=monthly" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Plantillas del sistema heredadas
| Plantilla | UID | Sucesora |
|---|---|---|
| Standard Export v1 | CAFE0000CAFE | CAFE1000CAFE |
| Extended Export v1 | CAFE0001CAFE | CAFE1001CAFE |
| Extended Export v2 | CAFE0002CAFE | CAFE1002CAFE |
| Energy Availability Export | CAFE0003CAFE | CAFE1003CAFE |
| Report Technical v1 | ABCD12340001 | ABCD12340002 |
En la aplicación, estas cinco se sustituyen por sus sucesoras en la pestaña Plantillas. Sus enlaces siguen respondiendo como antes.
Report Technical v1 (ABCD12340001) contiene:
Métricas de series temporales:
- Producción de energía (kWh) -
energy_grid_daily - Energía de radiación total (kWh) -
energy_radiation_daily - Sensor GTI (kWh/m²) -
gti_sensor_daily - GTI meteorológico (kWh/m²) -
gti_weather_daily - Horas de sol (h) -
sunhours_daily - Disponibilidad de inversor (%) -
availability_inverter - Disponibilidad de energía (%) -
availability_energy - Disponibilidad de datos (%) -
availability_data - Disponibilidad de sensor (%) -
availability_sensor - Energía de parada por red (kWh) -
energy_shutdown_grid_daily - Energía de parada por control externo (kWh) -
energy_shutdown_external_daily
Métricas de configuración de informe:
- Energía de informe (kWh) -
energy_report - GTI incidente de informe (kWh/m²) -
gti_report - GTI efectivo de informe (kWh/m²) -
gti_report_eff - PR objetivo de informe (%) -
pr_report
Métricas calculadas (mediante MiroxQL):
- Análisis de irradiancia (real, uso meteorológico, diferencia sensor-meteorología)
- Objetivos de producción (basados en meteorología, basados en sensor, real, corregido)
- Performance ratios (meteorología, sensor, real, corregido)
- Rendimiento específico (Wh/W)
- Análisis de pérdidas (pérdidas no compensables)
Plantillas de Metric Export en esta ruta
La exportación por plantilla acepta también el id de una plantilla de Metric Export, por ejemplo CAFE1000CAFE. En ese caso responde la exportación de Metric Export de esa plantilla: los parámetros de calendario seleccionan el periodo, resolution selecciona el paso, y el archivo sigue las convenciones de Metric Export. No tiene columna «Days in Month» ni «Calendar Week», y los errores se responden con un code. Sin resolution, se aplica el paso de la plantilla.
La ruta obsoleta para una sola planta no acepta una plantilla así y responde 400 con el enlace que hay que usar.
Salida CSV
Los archivos llevan una fila de encabezado con los nombres de las métricas y las unidades. La estructura sigue la resolución:
- Diaria: una fila por día.
- Semanal: una columna «Date» en formato de semana ISO y una columna «Calendar Week» con el número de semana.
- Mensual: una columna «Days in Month» para la normalización.
Los valores se agregan por día y después se acumulan: la energía y las horas se suman, todo lo demás se promedia. Un día es un día UTC. Un valor ausente se escribe como 0.
Exportación por id de métrica
GET /v1/export/metrics/query exporta un conjunto de ids de métricas heredadas sin plantilla, con los parámetros de periodo y el formato CSV de la exportación por plantilla.
| Parámetro | Propósito |
|---|---|
metrics | Ids de métricas separados por comas (1-20), p. ej. energy_grid_daily,energy_ac_daily |
park / portfolio | UIDs separados por comas que delimitan la exportación |
year + quarter / month / week / day | El periodo de calendario (day requiere month) |
resolution | daily, weekly, monthly, quarterly o yearly |
full_week | Solo con resolución semanal: extender el rango a semanas ISO completas |
multi_park_agg | merge (predeterminado) o split |
separator_csv / separator_decimal / datetime_format / language | Formato CSV y nombres de columna traducidos |
Exportación de series temporales brutas
GET /v1/export/raw/query devuelve series temporales brutas a nivel de planta. GET /v1/metrics/raw lista cada id bruto con su nombre, unidad, categoría y el operador que aplica entre series (sum, avg, min o max).
| Parámetro | Propósito |
|---|---|
metrics | Ids de métricas brutas separados por comas (1-20), p. ej. raw_grid_energy_total,raw_power_ac |
start / end / step | Cualquier rango ISO 8601 con cualquier paso (5m, 15m, 1h, 1d) |
value | plain (tal como se registró), start_at_zero (el primer valor pasa a ser 0) o use_delta (cambio por intervalo en lugar del total acumulado). Una sola opción para todas las métricas. |
multi_park_agg | Con más de una planta: merge o split |
park / portfolio | UIDs separados por comas que delimitan la exportación |
separator_csv / separator_decimal / language | Formato CSV y nombres de columna traducidos |
curl --compressed "https://service.mirox.io/api/v1/export/raw/query?metrics=raw_grid_energy_total&park=ABC123DEF456&start=2026-07-01T00:00:00Z&end=2026-07-08T00:00:00Z&step=15m&value=use_delta" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o production_week.csv
Date;Grid Production (Wh)
2026-07-01 00:00;0,00
2026-07-01 06:15;1250,50
...
La energía está en Wh, y la hora está en UTC.
Exportación bruta por componente
GET /v1/export/raw/component/query exporta las series temporales brutas de componentes individuales —inversores, cajas de conexión o strings individuales— de exactamente una planta. Los ids de métrica de componente llevan el prefijo comp_raw_ y se listan, por tipo de componente, en GET /v1/metrics/components.
| Parámetro | Propósito |
|---|---|
metrics | Ids de métricas brutas de componente separados por comas (1-20), p. ej. comp_raw_inverter_energy_ac — cada id debe corresponder al component_type elegido |
park | Exactamente un UID de planta |
component_type | inverter, gak o string |
components | Ids de componente opcionales separados por comas — exactamente esos, en ese orden |
page / limit | Sin components: pagina por todos los componentes del tipo (hasta 50 por página) |
multi_component_agg | split (predeterminado — una columna por componente y métrica, llamada <nombre del componente> - <nombre de la métrica>) o merge (la suma o el promedio sobre los componentes) |
start / end / step / value / separadores / language | Igual que en la exportación de series temporales brutas |
Límites
Ambas exportaciones brutas rechazan con 400 cualquier solicitud mayor:
| Límite | Valor |
|---|---|
| Ids de métrica por solicitud | 20 |
| Puntos de datos por serie, exportación a nivel de planta | 180.000 — 5 años a resolución de 15 minutos |
| Muestras totales, exportación a nivel de planta | 1.800.000 (series × puntos de datos por serie) |
| Puntos de datos por serie, exportación a nivel de componente | 36.000 — un año completo a resolución de 15 minutos |
Series en una exportación split por planta | 50 (métricas × plantas) |
| Componentes seleccionados explícitamente | 50 |
Columnas en una exportación split por componente | 100 (métricas × componentes) |
Las respuestas de más de 1 MB aproximadamente se comprimen cuando la solicitud lleva Accept-Encoding: gzip.
Ids de métricas heredadas
Las métricas diarias de las exportaciones por plantilla y por id de métrica. Cada una puede agregarse a valores semanales, mensuales, trimestrales o anuales. La columna de fórmula muestra de forma simplificada cómo se deriva un valor. La métrica que responde por cada id en Metric Export está en la correspondencia de ids.
Métricas de producción de energía
| ID de métrica | Nombre | Unidad | Descripción | Fórmula |
|---|---|---|---|---|
energy_grid_daily | Producción de energía | kWh | Energía diaria inyectada en la red | sum(delta(grid_energy_total)) por componente |
energy_ac_daily | Producción CA | kWh | Producción diaria de energía CA | sum(delta(ac_energy_total)) por componente |
energy_inverter_daily | Producción de inversor | kWh | Producción diaria de energía de los inversores | sum(delta(inverter_ac_energy_total)) por inversor |
energy_radiation_daily | Energía de radiación total | kWh | Energía de radiación total diaria | sum(delta(radiation_energy_total)) por componente |
Métricas de parada y pérdida
| ID de métrica | Nombre | Unidad | Descripción | Fórmula |
|---|---|---|---|---|
energy_shutdown_grid_daily | Energía de parada por red | kWh | Pérdida de energía diaria por restricciones de la red | sum(delta(energy_loss_total)) donde type='grid', por componente |
energy_shutdown_external_daily | Energía de parada por control externo | kWh | Pérdida de energía diaria por control externo | sum(delta(energy_loss_total)) donde type='external', por componente |
Métricas de irradiancia
| ID de métrica | Nombre | Unidad | Descripción | Fórmula |
|---|---|---|---|---|
gti_sensor_daily | Sensor GTI | kWh/m² | Irradiación global inclinada diaria a partir de sensores | avg(delta(irradiation_total)) donde position='module-level' o alternativa |
gti_weather_daily | GTI meteorológico | kWh/m² | Irradiación global inclinada diaria a partir de la previsión meteorológica | sum(weather_gti) / 4, muestreo: intervalos de 15 min |
gti_report | GTI de informe | kWh/m² | Objetivo de GTI a partir de la configuración de la planta | valor de la configuración de la planta |
Métricas meteorológicas
| ID de métrica | Nombre | Unidad | Descripción | Fórmula |
|---|---|---|---|---|
solar_radiation_daily | Radiación solar | Wh | Radiación solar diaria media | avg(solar_radiation) durante 24 h |
sunhours_daily | Horas de sol | h | Horas de sol diarias | count(weather_gti > 0) / 4, muestreo: 15 min |
Métricas ambientales
| ID de métrica | Nombre | Unidad | Descripción | Fórmula |
|---|---|---|---|---|
temperature_ambient_avg | Temperatura ambiente | °C | Temperatura ambiente media diaria | avg(ambient_temperature) durante 24 h |
temperature_module_avg | Temperatura de módulo | °C | Temperatura de módulo media diaria | avg(module_temperature) durante 24 h |
wind_speed_avg | Velocidad del viento | m/s | Velocidad del viento media diaria | avg(wind_speed) durante 24 h |
humidity_avg | Humedad | % | Humedad media diaria | avg(humidity) durante 24 h |
Métricas de disponibilidad
| ID de métrica | Nombre | Unidad | Descripción | Fórmula |
|---|---|---|---|---|
availability_inverter | Disponibilidad de inversor | % | Disponibilidad del inversor basada en la potencia de salida y las condiciones de GTI | avg(1 - count(inverter_power ≤ 0 AND weather_gti > 100)), muestreo: 15 min |
availability_technical | Disponibilidad técnica | % | Disponibilidad técnica del sistema | avg(sum(scraper_health == 1) / count(scraper_health)) por fuente, muestreo: 15 min |
availability_data | Disponibilidad de datos | % | Disponibilidad de datos de la planta | 1 - avg(count(grid_energy_total)) donde está ausente, muestreo: 15 min |
availability_sensor | Disponibilidad de sensor | % | Disponibilidad del sensor | 1 - avg(count(solar_radiation)) donde está ausente, muestreo: 15 min |
availability_energy | Disponibilidad de energía | % | Aproximación de disponibilidad basada en energía | 1 - (sum(energy_loss_total) / (sum(grid_energy_total) + sum(energy_loss_total))) |
Métricas de batería
| ID de métrica | Nombre | Unidad | Descripción | Fórmula |
|---|---|---|---|---|
battery_energy_in_daily | Energía de batería cargada | kWh | Energía CC diaria cargada en la batería | sum(delta(battery_box_energy_dc_in_total)) por contenedor |
battery_energy_out_daily | Energía de batería descargada | kWh | Energía CC diaria descargada de la batería | sum(delta(battery_box_energy_dc_out_total)) por contenedor |
battery_soc_avg | Estado de carga de la batería | % | Estado de carga medio diario a nivel de contenedor | avg(battery_box_soc) durante 24 h |
battery_soh_avg | Estado de salud de la batería | % | Estado de salud medio diario a nivel de contenedor | avg(battery_box_soh) durante 24 h |
battery_energy_charged_avg | Energía almacenada en la batería | kWh | Energía media diaria almacenada actualmente | avg(sum(battery_box_energy_charged)) durante 24 h |
temperature_battery_avg | Temperatura de la batería | °C | Temperatura media diaria de la batería a nivel de contenedor | avg(battery_box_temperature) durante 24 h |
Métricas de informe
| ID de métrica | Nombre | Unidad | Descripción | Fórmula |
|---|---|---|---|---|
energy_report | Energía de informe | kWh | Objetivo de energía a partir de la configuración de la planta | valor de la configuración de la planta |
Los ids brutos y de componente los listan GET /v1/metrics/raw y GET /v1/metrics/components, y están en la correspondencia de ids.
Comportamiento conocido que se queda como está
Las cifras de las exportaciones heredadas se mantienen como están, para que un libro de Excel muestre mañana lo que mostraba ayer. Esto incluye tres lecturas que Metric Export hace de otra forma:
| Id u opción heredados | Qué hace la exportación heredada | En Metric Export |
|---|---|---|
raw_irradiation_energy_total, irradiation_energy_daily | Suma la irradiación de todos los sensores de una planta. Una planta con tres sensores muestra aproximadamente el triple de irradiación. | sensor.irradiation da una columna por sensor; plant.rad_pyranometer da el valor de la planta. |
raw_solar_radiation | Promedia todos los sensores de irradiancia de una planta, los horizontales y los del plano de los módulos juntos. | sensor.irradiance da una columna por sensor. |
multi_component_agg=merge con códigos de estado o estados de alarma | Suma los códigos de los componentes. | Los códigos de estado y los estados se exportan por componente. |
Correcciones
Dos grupos de columnas de la exportación de series temporales brutas estaban vacíos y ahora llevan valores. Un libro de Excel que las lee muestra cifras donde antes mostraba celdas vacías.
| Columnas | Qué ha cambiado |
|---|---|
raw_availability_technical, raw_availability_data, raw_availability_sensor, raw_availability_network, raw_availability_inverter, raw_availability_grid | Las columnas llevan valores. Cada fila es la disponibilidad durante un periodo tan largo como el rango exportado, que termina en esa fila. La última fila es por tanto la disponibilidad del rango exportado, la misma cifra que muestran las tarjetas de disponibilidad; las filas anteriores se remontan a antes del inicio del rango. |
raw_curtailment_grid_nacelle, raw_curtailment_grid_windref, raw_curtailment_grid_windfixed, las mismas con marketer, y cada una con _energy | Las columnas de limitación eólica llevan la limitación liquidada de las plantas eólicas. |
Información de la planta
GET /v1/export/report/{park_uid}/info
Responde los datos maestros de una planta como JSON: nombre, tipo y descripción, ubicación y zona horaria, potencia pico, organización y portfolio, dirección y fechas de puesta en servicio. Hay un ejemplo en el Generador de informes externos.
Eventos
GET /v1/export/report/{park_uid}/events.csv
| Parámetro | Propósito |
|---|---|
year, quarter, month | El periodo. Sin ninguno de ellos, la exportación cubre el año en curso. |
separator_csv / separator_decimal / datetime_format | Formato CSV; valores predeterminados ;, , y %Y-%m-%d %H:%M |
Las columnas son Event ID, Start Date, End Date, Duration (hours), Type, Creator, Description y Priority. La fecha de fin de un evento que sigue abierto es Ongoing. Una prioridad de 1000 o más marca un evento importante.
Funciones relacionadas
- API de Metric Export: la exportación actual
- Migrar a Metric Export: qué cambia, y la correspondencia de ids
- Fórmulas MiroxQL: la API de fórmulas que hay detrás de las columnas calculadas
- Generador de informes externos: información de la planta y eventos en un ejemplo en Python
- Tokens de API: el token Metric Export