MiroxMirox
  • Plataforma

    • Filosofía
    • Visión general de la plataforma
    • Recursos de la plataforma
    • Disponibilidad y ventanas de mantenimiento
    • Releases y versiones
  • Mirox-Cloud

    • Visión general de la nube
    • Microservicios conectados
  • Mirox-Agent

    • Visión general del agente
    • Opciones de despliegue
    • Data Scraper
    • Gemelo digital
  • Detalles técnicos

    • Recopilación de métricas
  • Información

    • Plantas compatibles
  • Tipos de planta

    • Plantas solares
    • Seguidores solares y controladores de planta
    • Parques eólicos
    • Almacenamiento por baterías
    • Sistema de alarma
  • Monitorización y visualización

    • Monitorización en tiempo real
    • Gemelo digital
    • Estados de componentes
    • Códigos de estado del inversor
    • Eventos del inversor
    • Detección de pérdidas
    • Límites de potencia y recorte
    • Detección de eficiencia
    • Panel de KPI
  • Gestión de datos

    • Eventos
    • Niveles de alarma
    • Tickets
    • Previsiones
    • Informes
    • Métricas
  • Alert Manager

    • Resumen
    • Reglas de alerta
    • Alertas y notificaciones
    • Ejemplos
  • Integración y colaboración

    • Cooperaciones
    • Tokens de API
    • VPN
    • Conflictos de direcciones VPN
    • Proxy
  • IA

    • Asistente de IA y asistentes
    • Acceso agéntico (MCP)
  • Facturación

    • Mercado y tarifas
    • Cómo se calculan los ingresos
    • Contabilidad y facturación
    • Contratos
  • Colaboración

    • Invitaciones
  • Seguridad

    • Autenticación
    • Bloqueo de cuenta
    • Política de seguridad de la organización
    • Sistema de permisos
    • Segmentación de red
    • Restricciones de cooperación
    • Registro de auditoría de acceso
    • Actividad y auditoría
    • Aislamiento de datos
  • Primeros pasos

    • Onboarding
    • Configuración inicial
  • Personal

    • Usar la VPN
    • Usar el proxy
    • Autenticación de dos factores
    • Sesiones
    • Tokens de API
    • Notificaciones
    • Conectar Microsoft Teams
  • Por planta

    • Contactos
    • Dispositivos de red
    • Registradores de datos
    • Lector Modbus genérico
    • Componentes
    • VPN directa (por agente)
    • Volumen de datos
    • Importar historial
  • Organización

    • Permisos de miembros
    • Política de seguridad
    • Cooperaciones
    • Almacenamiento de archivos
    • Servicios VPN
    • Trabajar con informes
  • Exportación de datos

    • Metric Export
    • API de Metric Export
    • Migrar a Metric Export
    • API de exportación heredada
    • Generación externa de informes
    • Grafana
    • Dashboards de Grafana
    • Visión general de la API
    • Fórmulas MiroxQL (API)
  • Soporte

    • Solicitar una integración
  • Generación de informes

    • Generador de informes externo
    • Metric Export para Excel
  • Acceso remoto
  • Seguridad de la cuenta
  • IA en Mirox
  • Importación del histórico
  • Informes
  • Exportación de datos
  • English
  • Deutsch
  • Español
  • Français
  • Português
  • Italiano
  • English
  • Plataforma

    • Filosofía
    • Visión general de la plataforma
    • Recursos de la plataforma
    • Disponibilidad y ventanas de mantenimiento
    • Releases y versiones
  • Mirox-Cloud

    • Visión general de la nube
    • Microservicios conectados
  • Mirox-Agent

    • Visión general del agente
    • Opciones de despliegue
    • Data Scraper
    • Gemelo digital
  • Detalles técnicos

    • Recopilación de métricas
  • Información

    • Plantas compatibles
  • Tipos de planta

    • Plantas solares
    • Seguidores solares y controladores de planta
    • Parques eólicos
    • Almacenamiento por baterías
    • Sistema de alarma
  • Monitorización y visualización

    • Monitorización en tiempo real
    • Gemelo digital
    • Estados de componentes
    • Códigos de estado del inversor
    • Eventos del inversor
    • Detección de pérdidas
    • Límites de potencia y recorte
    • Detección de eficiencia
    • Panel de KPI
  • Gestión de datos

    • Eventos
    • Niveles de alarma
    • Tickets
    • Previsiones
    • Informes
    • Métricas
  • Alert Manager

    • Resumen
    • Reglas de alerta
    • Alertas y notificaciones
    • Ejemplos
  • Integración y colaboración

    • Cooperaciones
    • Tokens de API
    • VPN
    • Conflictos de direcciones VPN
    • Proxy
  • IA

    • Asistente de IA y asistentes
    • Acceso agéntico (MCP)
  • Facturación

    • Mercado y tarifas
    • Cómo se calculan los ingresos
    • Contabilidad y facturación
    • Contratos
  • Colaboración

    • Invitaciones
  • Seguridad

    • Autenticación
    • Bloqueo de cuenta
    • Política de seguridad de la organización
    • Sistema de permisos
    • Segmentación de red
    • Restricciones de cooperación
    • Registro de auditoría de acceso
    • Actividad y auditoría
    • Aislamiento de datos
  • Primeros pasos

    • Onboarding
    • Configuración inicial
  • Personal

    • Usar la VPN
    • Usar el proxy
    • Autenticación de dos factores
    • Sesiones
    • Tokens de API
    • Notificaciones
    • Conectar Microsoft Teams
  • Por planta

    • Contactos
    • Dispositivos de red
    • Registradores de datos
    • Lector Modbus genérico
    • Componentes
    • VPN directa (por agente)
    • Volumen de datos
    • Importar historial
  • Organización

    • Permisos de miembros
    • Política de seguridad
    • Cooperaciones
    • Almacenamiento de archivos
    • Servicios VPN
    • Trabajar con informes
  • Exportación de datos

    • Metric Export
    • API de Metric Export
    • Migrar a Metric Export
    • API de exportación heredada
    • Generación externa de informes
    • Grafana
    • Dashboards de Grafana
    • Visión general de la API
    • Fórmulas MiroxQL (API)
  • Soporte

    • Solicitar una integración
  • Generación de informes

    • Generador de informes externo
    • Metric Export para Excel
  • Acceso remoto
  • Seguridad de la cuenta
  • IA en Mirox
  • Importación del histórico
  • Informes
  • Exportación de datos
  • English
  • Deutsch
  • Español
  • Français
  • Português
  • Italiano
  • English
  • Primeros pasos

    • Onboarding
    • Configuración inicial
  • Personal

    • Uso de la VPN
    • Uso del Proxy
    • Configurar la autenticación de dos factores
    • Gestión de tus sesiones
    • Tokens de API
    • Notificaciones
    • Conectar Microsoft Teams
  • Por planta

    • Gestión de contactos de planta
    • Gestión de dispositivos de red
    • Configuración de data loggers
    • Lector Modbus genérico
    • Configurar componentes
    • Configurar servidores VPN por agente (VPN directa)
    • Volumen de datos por planta
    • Importar el historial de una planta
  • Organización

    • Gestión de permisos de miembros
    • Configurar la política de seguridad de tu organización
    • Crear cooperaciones
    • Uso del almacenamiento de archivos
    • Servicios VPN de organización
    • Trabajar con informes
  • Exportación de datos

    • Metric Export
    • API de Metric Export
    • Migrar a Metric Export
    • API de exportación heredada
    • Generación de informes externos
    • Usar Grafana como plataforma externa de lectura
    • Crear sus propios dashboards de Grafana
    • Visión general de la API
    • Fórmulas MiroxQL (referencia de la API)
  • Soporte

    • Solicitar una integración

API de Metric Export

La API de Metric Export entrega cualquier métrica de tus plantas como serie temporal, en CSV o JSON, con una sola solicitud GET. Lee la misma colección de métricas que los informes, incluidas las métricas que tu organización ha definido.

Cada enlace que muestra la página Exportación de datos es una llamada a esta API, así que la forma más fácil de llegar a una solicitud que funcione es construirla allí y copiarla.

Abrir en Mirox

Exportación de datos ▸ Métricas para una selección libre, Exportación de datos ▸ Constructor de API para una plantilla. Ambas muestran el enlace de lo que has seleccionado.

Los enlaces de exportación de la exportación anterior siguen funcionando sin cambios. Se describen en la API de exportación heredada; cómo pasar de una a otra está en la guía de migración.

Rutas

Todas las rutas siguen a https://service.mirox.io/api.

RutaRespuestaPropósito
GET /v1/export/seriesCSV, o JSON con format=jsonExportar métricas como serie temporal
GET /v1/export/series/estimateJSONTamaño y duración de una exportación, sin leer datos
GET /v1/export/series/catalogJSON, o un glosario CSV con format=csvLas métricas que puedes exportar
GET /v1/export/series/lanesJSONLos componentes de una planta
GET /v1/export/series/template/{template_uid}CSV, o JSON con format=jsonExportar una plantilla
POST /v1/export/template/{template_uid}/convertJSONConvertir una plantilla heredada

Autenticación

Envía un token de API del grupo Metric Export en el encabezado Authorization:

Authorization: Bearer YOUR_API_TOKEN

El token lee todas las rutas de exportación de esta página y las rutas heredadas. No puede crear, modificar ni eliminar nada. En un navegador en el que has iniciado sesión en Mirox, los enlaces funcionan sin token.

Solo recibes datos de las plantas cuyas mediciones puedes leer. Las métricas de tu organización las exportan todos los roles de organización excepto Externo. Consulta Quién puede exportar qué.

Las métricas se seleccionan por id; una consulta se limita a la planta

Una exportación nombra las métricas por su id. Mirox resuelve cada id en su propia consulta, limitada a la planta. Las métricas de tu organización son entradas validadas de la colección que se limitan a la planta de la misma manera. El único texto de consulta que puede enviar quien llama es una expresión MetricsQL en expr: se ejecuta solo en las plantas de la solicitud, con la planta añadida a cada selector, y se rechaza si nombra por sí misma una planta, un parque o una organización.

Exportar una serie temporal

GET /v1/export/series

Inyección a red de una planta durante el mes anterior, por día:

curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456&metrics=plant.grid_feedin&window=previous_month&step=day" \
  -H "Authorization: Bearer YOUR_API_TOKEN" -o feedin.csv
Date;Grid feed-in (kWh)
2026-08-01;5321,4
2026-08-02;4980,2
...

Parámetros

ParámetroValoresPredeterminadoSignificado
metricsde 1 a 20 ids de métrica, separados por comasobligatorio salvo que se indique exprLas columnas, en este orden. Consulta Métricas y valores.
expruna expresión MetricsQL, repetible hasta 5 veces—Consultas en bruto de la base de datos de series temporales, un juego de columnas cada una, después de las métricas. Consulta Consultas MetricsQL en bruto.
parkUIDs de planta, separados por comas—Las plantas. park o portfolio es obligatorio.
portfolioUIDs de portfolio, separados por comas—Todas las plantas de estos portfolios, además de park. Como máximo 50 plantas en total.
start, endfecha o fecha con hora—Un periodo libre. Consulta Periodo.
year, quarter, month, week, daynúmeros—Un periodo de calendario.
windowperiodo predefinidoprevious_monthUn periodo con nombre.
stepauto, 1min, 5min, 15min, 1h, day, week, month, quarter, yearautoLa duración de una fila. Consulta Pasos.
mismatchrefuse, sparserefuseQué ocurre con una métrica que no ofrece el paso: rechazar la solicitud o exportarla con su propio paso. Consulta Métricas con distintos pasos.
valuesauto, delta, cumulative, nativeautoEl modo de valores de todas las métricas.
tzlocal, utclocalEl calendario de las filas. Consulta Rejilla de tiempo.
multi_park_aggmerge, splitmergeVarias plantas combinadas, o una columna por planta. Consulta Varias plantas.
componentshasta 100 referencias de componente, separadas por comastodosRestringe las métricas de componentes a estos componentes. Consulta Componentes.
lane_limitde 1 a 10050Componentes por métrica y página.
lane_pagede 1 en adelante1La página de componentes.
formatcsv, jsoncsvEl formato de la respuesta.
languageen, de, es, fr, it, ptenEl idioma de los nombres de columna.
separator_csv, ; tabulador |;El separador de columnas.
separator_decimal. ,,El separador decimal. Debe ser distinto de separator_csv.
datetime_formatpatrón strftime, hasta 64 caracteressegún el pasoEl formato de la columna de tiempo.
headername, idnameEncabezados de columna como nombres o como ids. Consulta Respuesta CSV.
emptyblank, zeroblankUn valor ausente como celda vacía o como 0.
offset_columntrue, falsetrueLa columna Desfase UTC. Solo aparece con pasos más cortos que un día en la hora local de la planta.
precisiondisplay, fulldisplayValores redondeados a los decimales de la métrica, o sin redondear.

lane_limit y lane_page fuera de sus límites se ajustan al límite más cercano. Un parámetro que la ruta no conoce se ignora.

Métricas y valores

Un id de métrica tiene la forma <prefijo>.<nombre>, por ejemplo plant.grid_feedin, inverter.ac_power o sensor.irradiance. Una métrica de tu organización es organization.<id de la métrica>. El catálogo las enumera todas.

Cada métrica tiene una magnitud, que decide los modos de valores que ofrece:

valuesUna fila muestraSe aplica a
deltala cantidad dentro del intervalosolo energía
cumulativeel total acumulado desde el inicio del periodoenergía y otras magnitudes contadas
nativeel valor tal como lo entrega la métricatodas las métricas
autodelta para energía, native para todo lo demás

Un sufijo fija el modo de una métrica y prevalece sobre values:

metrics=plant.grid_feedin:cumulative,plant.grid_power

Un modo que no se aplica a una métrica nunca es un error. La métrica se exporta como native, y la nota value_mode_ignored lo indica. delta nunca se aplica a una potencia.

La misma métrica en dos modos da dos columnas. La misma métrica dos veces en el mismo modo da una.

Energía por intervalo por debajo de 15 minutos

Un contador cuenta la energía en escalones enteros. Con 1min o 5min, una energía en modo delta salta por tanto entre cero y un escalón. La exportación la entrega y añade la nota energy_delta_fine_step, que nombra la métrica de potencia correspondiente cuando la colección tiene una. Para una curva usa la métrica de potencia; para energía usa 15min o más.

Periodo

Indica el periodo de una de tres formas. Dos formas en una misma solicitud responden 400 window_conflict.

FormaParámetrosEjemplo
Periodo librestart, endstart=2026-07-01&end=2026-07-31
Calendarioyear con quarter, month, week o dayyear=2026&quarter=2
Periodo predefinidowindowwindow=previous_week

Periodo libre. start y end son una fecha (2026-07-01) o una fecha con hora (2026-07-01T06:00, 2026-07-01T06:00:00Z, 2026-07-01T06:00:00+02:00). Un valor sin zona horaria se lee en la zona horaria de las filas. Un end que es una fecha incluye ese día; un end con hora es el momento en que termina el periodo. Sin end, el periodo termina ahora. end solo, sin start, se rechaza.

Calendario. year de 2020 a 2100, quarter de 1 a 4, month de 1 a 12, week de 1 a 53 (semana ISO), day de 1 a 31. day necesita month. Sin year, se entiende el año en curso. day prevalece sobre week, week sobre month, month sobre quarter.

Periodos predefinidos. today, yesterday, last_7_days, last_30_days, this_week, previous_week, this_month, previous_month, this_quarter, previous_quarter, this_year, previous_year. Los periodos this_ llegan hasta ahora; last_7_days y last_30_days son móviles hasta ahora con pasos inferiores a un día (la misma hora 7 o 30 días atrás); desde day son los últimos 7 o 30 días locales incluido hoy. Desde day cada ventana se amplía a días completos (semanas, meses …) en la zona horaria de la planta, y la respuesta devuelve la ventana efectiva.

Un periodo empieza como muy pronto en 2020 y abarca como máximo 1827 días (cinco años). Un periodo que llega al futuro termina ahora, con la nota end_clamped.

Pasos

step=auto elige un paso que ofrezcan todas las métricas solicitadas y que encaje con los límites: 15min hasta dos días, 1h hasta 62 días, day hasta tres años, month a partir de ahí. Si ese paso no encaja, se prueba el siguiente más grueso y después los más finos. La nota step_auto y el encabezado X-Mirox-Step nombran el paso elegido.

Cada métrica ofrece sus propios pasos. El catálogo los enumera como export_steps:

Tipo de métricaPasos
Energía de un contador que cuenta cada minutode 1min a year
Energía contada con menor frecuencia: aerogeneradores, limitación liquidadade 15min a year
Potencia (W, var, VA, W/m²), tensión, corriente, frecuencia1min, 5min, 15min
Temperatura, estado de carga y otros niveles medidosdel intervalo de medición a year
Estados de funcionamiento y códigos de estado15min
Performance ratioday, week, month, quarter, year
Disponibilidad15min, 1h, day, week, month, quarter, year
Métricas de tu organizaciónde su resolución más fina a year, nunca más fino que 15min

La potencia se ofrece solo con 15 minutos o más fino. Una potencia diaria o mensual es un promedio que oculta lo que ocurrió; la métrica de energía da la cifra que se busca.

Un paso nunca se cambia en silencio. Con mismatch=refuse, el valor predeterminado, un paso que una de las métricas no ofrece responde 400 step_not_served con los pasos de cada métrica, y con step=auto las métricas que no comparten ningún paso responden 400 no_common_step. Con mismatch=sparse, esa solicitud se entrega igualmente: consulta Métricas con distintos pasos.

Los pasos de un día o más cubren intervalos completos. Un periodo que empieza o termina dentro de uno de ellos se amplía hacia fuera, con la nota window_aligned. Las semanas empiezan el lunes.

Métricas con distintos pasos

mismatch=sparse entrega una solicitud cuyas métricas no ofrecen todas el paso, siempre que cada una ofrezca algún paso. La cuadrícula del archivo es el paso solicitado; con step=auto es el paso que más métricas ofrecen tal cual, elegido por el periodo y los límites como de costumbre. Las posiciones de las columnas y la forma de la respuesta CSV y JSON no cambian.

La métrica ofreceQué hace la exportaciónNota
solo pasos más finosLa lee con el más grueso de ellos y la agrega a la cuadrícula según la regla de su magnitud: una energía se suma, una lectura se promedia, un ratio se recalcula a partir de sus dos mitades, un estado conserva su último código.step_folded con el step leído
solo pasos más gruesosLa lee con el más fino de ellos y escribe cada valor en la fila en la que empieza su propio intervalo: la cifra de un día en la fila de su medianoche local, la de un mes en la fila de su primer día. Las filas intermedias quedan vacías.step_sparse con ese step
un paso más grueso, pero ninguno de sus intervalos empieza en una filaLa columna queda vacía, por ejemplo una cifra diaria en un archivo que empieza a las 06:00.metric_unavailable con reason off_grid

Dos casos se rechazan en ambos modos con 400 step_not_served: una cifra por mes, trimestre o año en un archivo por week, porque su primer día casi nunca es lunes; y una cifra mensual como el Marktwert en un archivo por quarter o year, porque una suma o un promedio de meses no es esa cifra. En un archivo por month se lee tal cual; en uno más fino queda dispersa.

La estimación enumera las mismas notas, cuenta las lecturas con el paso propio de cada métrica y marca un paso en per_step como dentro del límite aunque no todas las métricas lo ofrezcan. La página Exportación de datos pregunta siempre con mismatch=sparse; una plantilla lleva su propio mismatch en su spec.

Rejilla de tiempo

Con tz=local, las filas siguen la hora local de la planta, incluido el horario de verano: un día es un día local de 23, 24 o 25 horas, un mes es un mes local. Con tz=utc, las filas siguen el calendario UTC.

  • Con pasos más cortos que un día en hora local, la columna Desfase UTC sigue a la columna de tiempo (+02:00). El día en que los relojes se atrasan, una hora aparece dos veces; el desfase distingue una de otra. offset_column=false omite la columna.
  • Las plantas en zonas horarias distintas comparten una sola columna de tiempo. Una solicitud así se responde en el calendario UTC, con la nota merged_on_utc, tanto si las plantas se combinan como si se separan.
  • Con tz=utc y un paso de un día o más, una métrica que solo existe por día local no tiene valor UTC. Su columna queda vacía, con la nota utc_calendar_unsupported.

El encabezado X-Mirox-Grid nombra el calendario que se usó: local:Europe/Berlin o utc.

Varias plantas

Con multi_park_agg=merge, cada métrica es una columna para todas las plantas, combinada según la regla de la métrica. El catálogo enumera la regla como merge:

mergeValor combinadoMétricas
sumsumado sobre las plantasenergía, magnitudes contadas, potencia
meanpromediado sobre las plantasirradiancia, temperatura, estado de carga y otros niveles
pair_ratiorecalculado a partir de los totales de las plantasperformance ratio, disponibilidad y otros ratios
firstel valor comúnprecios, cuando todas las plantas están en una misma zona de mercado
split_onlyno se puede combinarestados y códigos de estado

Una métrica que no se puede combinar se exporta por planta, con la nota merge_not_meaningful. Esto vale también para un ratio con un paso en el que sus dos mitades no están disponibles, y para los precios de plantas en zonas de mercado distintas.

Con multi_park_agg=split, cada métrica es una columna por planta. Con una única planta, ambas dan el mismo archivo.

Las métricas de componentes son siempre por planta (nota components_split_by_park).

Componentes

Una métrica de un nivel de componente da una columna por componente. Los niveles son inverter, gak (caja de conexión), string, turbine, sensor, meter, battery_box (contenedor), battery_storage (rack), battery_module, battery_cell y battery_pcs (convertidor).

Sin components, la exportación lleva todos los componentes visibles de las plantas, lane_limit por métrica y página. Si hay más, la nota lanes_truncated nombra el total; solicita la página siguiente con lane_page.

components restringe la exportación a los componentes que nombras. Una referencia tiene la forma <nivel>:<id>, por ejemplo inverter:1043. Un sensor o contador que Mirox mide pero que no tiene entrada en los componentes de la planta tiene una referencia de la forma sensor:h3f9c2a71b04e6d5. La ruta de componentes enumera las referencias de una planta. Una referencia que no pertenece a ninguna de las plantas seleccionadas responde 400 unknown_lane.

metrics=inverter.ac_power&components=inverter:1043,inverter:1044

Consultas MetricsQL en bruto

expr añade a una exportación una consulta en bruto en MetricsQL, el lenguaje de consulta de la base de datos de series temporales de la plataforma, para una serie para la que la colección no tiene métrica. El parámetro puede repetirse hasta cinco veces; cada expresión puede tener hasta 4 000 caracteres. Una solicitud puede llevar solo expr, o metrics y expr juntos; las columnas de las métricas van primero.

expr=sum by (inverter_id) (powerplant_inverter_power_ac)&park=ABC123DEF456&window=yesterday&step=15min

Una expresión se evalúa por planta, como la evalúa un panel: sobre los datos de la propia planta, con el paso solicitado, como muestras brutas. Se admite cualquier paso, y values y las reglas de agregación de las métricas no se aplican. Mirox añade la planta a cada selector de la expresión; una expresión que nombra por sí misma una etiqueta park, organization o plant se rechaza con 400 expr_forbidden_label.

Casoheader=nameheader=id
Una serie por plantaMetricsQL sum by (inverter_id) (powerplant_inverter_power_ac)expr1
Varias series en alguna plantael encabezado seguido del name{labels} propio de cada serieexpr1{inverter_id="INV1"}
Varias plantasel nombre de la planta delante, como en cualquier columnaABC123DEF456/expr1

Cuando una expresión responde varias series en alguna de sus plantas, las columnas de esa expresión en todas las plantas llevan las etiquetas de serie, de modo que un archivo tiene una sola forma de nombrar cada expresión. Un encabezado de más de 1 000 caracteres se corta con … dentro de la expresión, nunca en el texto de la serie. En la respuesta JSON, columns[].key es el texto de header=id y columns[].metric es el id de la expresión, expr.e1, expr.e2, …, que usan las notas y los rechazos. Una planta en la que la expresión no responde nada conserva una columna vacía, con la nota expr_no_series; con varias plantas, cada planta recibe sus propias columnas, con la nota expr_split_by_park.

Una expresión puede responder como máximo 500 series en una planta (400 expr_too_many_series); agrégala, por ejemplo con sum by (…). Las series cuentan para las mismas 400 columnas y 1 800 000 valores que cualquier exportación: la primera lectura de cada expresión en cada planta es una breve sonda, las anchuras se suman en toda la solicitud y una solicitud que supera los límites se rechaza con 400 over_budget y params.series antes de leer por completo ninguna expresión. Una expresión que no se puede analizar, está vacía, es demasiado larga o que la base de datos rechaza responde 400 expr_invalid con el reason.

La estimación cuenta una expresión como una columna por planta, porque sus series solo se conocen al leerla. Las expresiones no se guardan en las plantillas.

Respuesta CSV

La respuesta es UTF-8, con el nombre de archivo series_export_<primer día>_<último día>_<paso>.csv. Una respuesta de más de 1 MB aproximadamente se comprime cuando la solicitud lleva Accept-Encoding: gzip (curl: --compressed).

Las columnas son, en este orden: el tiempo, el Desfase UTC cuando corresponde, y después las métricas en el orden de metrics.

Casoheader=nameheader=id
TiempoDatetimestamp
Desfase UTCUTC offsetutc_offset
Una planta, o plantas combinadasGrid feed-in (kWh)plant.grid_feedin
Plantas separadasSunnyside - Grid feed-in (kWh)ABC123DEF456/plant.grid_feedin
ComponenteWR 01.01 - AC power per inverter (W)ABC123DEF456/inverter:1043/inverter.ac_power
Componente, varias plantasSunnyside - WR 01.01 - AC power per inverter (W)ABC123DEF456/inverter:1043/inverter.ac_power
Métrica con variantes, como tres fasesel nombre seguido de la varianteel id seguido de #<variante>
Una métrica en dos modos de valoresel mismo nombre dos vecesplant.grid_feedin:delta, plant.grid_feedin:cumulative
Consulta MetricsQL en brutoMetricsQL <expresión>, seguido de las etiquetas de serie cuando hay variasexpr1, expr1{inverter_id="INV1"}: consulta Consultas MetricsQL en bruto

Usa header=id en scripts y libros de Excel

Los nombres están hechos para personas: siguen a language y cambian cuando una métrica cambia de nombre. Los ids son estables. Un script o un libro de Excel que busca sus columnas por el encabezado debería solicitar header=id. En una plantilla puedes además dar a cada columna un texto de encabezado propio.

La columna de tiempo se formatea según el paso, salvo que se indique datetime_format:

PasoFormatoEjemplo
1min, 5min, 15min, 1h%Y-%m-%d %H:%M2026-08-01 06:15
day, week%Y-%m-%d2026-08-01
month, quarter, year%Y-%m2026-08

Cada fila lleva la marca del inicio de su intervalo. Un valor ausente es una celda vacía, de modo que «sin datos» y «cero» se pueden distinguir; empty=zero escribe 0 en su lugar.

Cuatro encabezados de la respuesta repiten lo que se resolvió:

EncabezadoContenidoEjemplo
X-Mirox-Stepel pasoday
X-Mirox-Gridel calendariolocal:Europe/Berlin
X-Mirox-Windowinicio y fin del periodo exportado2026-08-01T00:00:00+02:00/2026-09-01T00:00:00+02:00
X-Mirox-Noteslas notas, separadas por ;step_auto:step=day

Respuesta JSON

format=json responde la misma tabla como datos estructurados:

CampoContenido
windowstart, end, grid, tz_name, step, y aligned cuando el periodo se amplió
parkslas plantas exportadas con uid, name y timezone
bucketslas filas: start como hora con desfase, ts como segundos Unix
columnsuna entrada por columna: key (el texto de header=id), metric, name, unit, digits, quantity, values_mode, merge, park_uid, lane (ref, level, title), variant, y values en el orden de buckets; un valor ausente es null
noteslas notas con code, metric y params
lanes_totalcomponentes por métrica de componentes, antes de paginar
lane_page, lane_limitla página que se entregó
totalsvalues, queries y duration_ms de la exportación

Notas

Una nota te dice qué ha hecho Mirox por su cuenta. Nunca hace fallar una exportación. Las notas forman parte de la respuesta JSON y del encabezado X-Mirox-Notes. El encabezado contiene hasta 1 KB de notas, escritas como code:key=value,key=value y separadas por ;. Si no caben todas, el encabezado termina con notes_omitted:count=<n>; la respuesta JSON las contiene todas.

NotaSignificado
parks_droppedSe omitieron plantas que nombraste pero no puedes leer. uids las nombra.
grant_requiredUna métrica monetaria queda vacía para una planta en la que te falta el permiso de contabilidad.
value_mode_ignoredEl modo de valores solicitado no se aplica a la métrica; se exportó como native.
energy_delta_fine_stepUna energía por intervalo con un paso inferior a 15 minutos muestra escalones del contador. twin nombra la métrica de potencia correspondiente.
legacy_id_mappedSe tradujo un id de la exportación anterior. from, to y exactness indican cómo.
merge_not_meaningfulLa métrica no se puede combinar entre plantas y se muestra por planta.
components_split_by_parkLas métricas de componentes se muestran por planta.
merged_on_utcLas plantas están en zonas horarias distintas; las filas están en UTC.
utc_calendar_unsupportedLa métrica no tiene valor en el calendario UTC; su columna está vacía.
window_alignedEl periodo se amplió a intervalos completos. start y end dan el resultado.
end_clampedEl periodo llegaba al futuro y termina ahora.
step_autoEl paso que eligió auto.
step_foldedCon mismatch=sparse: la métrica se leyó con un step más fino y se agregó a la cuadrícula.
step_sparseCon mismatch=sparse: la métrica tiene un valor por step, en la primera fila de cada uno de sus intervalos.
lanes_truncatedLa métrica tiene más componentes de los que caben en la página. total, page y limit indican dónde estás.
lanes_unpagedLas series medidas sin entrada en los componentes de la planta se exportaron tal como se miden.
metric_unavailableLa métrica no tiene valores para una planta; la columna está vacía. reason es planned, not_applicable, no_data_source, draft, deleted, unknown_lane, off_grid o, en una plantilla, not_permitted.
expr_no_seriesUna consulta en bruto no respondió ninguna serie en una planta; su columna está vacía.
expr_split_by_parkLas consultas en bruto se leen por planta y reciben un juego de columnas por planta.
provider_noteUna observación de la propia métrica, por ejemplo qué fuente respondió.

Una columna vacía siempre se conserva. Una métrica que no se aplica a una de las plantas, o una métrica monetaria sin el permiso de contabilidad, deja su columna en su sitio, de modo que las posiciones de las demás columnas nunca se mueven.

Estimar antes de exportar

GET /v1/export/series/estimate

La ruta acepta los parámetros de la exportación, sin el formato de archivo, y responde lo que sería la exportación, sin leer datos y sin contar para el cupo por hora.

CampoContenido
step, grid, windowen qué se resuelve la solicitud
parks, columns, rows, values, queriesel tamaño
bytes_csv, seconds_estimatetamaño aproximado del archivo y duración
within_budgetsi la exportación se entregaría
preview_oksi es lo bastante pequeña para la vista previa de la aplicación (200 000 valores)
limitslos límites vigentes
per_steppara cada paso: served_by_all, values, within_budget, y el reason si no
refusalscada error que respondería la exportación, con code, params y hint
noteslas notas que llevaría la exportación

Un rechazo nunca hace fallar la estimación: responde 200 y enumera el rechazo. La estimación cuenta, no genera nada: las etiquetas de fila y los encabezados son los de la exportación. Una consulta en bruto cuenta como una columna por planta, y con mismatch=sparse las notas nombran las columnas agregadas y dispersas.

El catálogo de métricas

GET /v1/export/series/catalog
ParámetroValoresPredeterminadoSignificado
park, portfolioUIDs—Las plantas frente a las que se evalúan las métricas. Sin plantas, se enumera toda la colección.
languageen, de, es, fr, it, ptenEl idioma de los nombres y las descripciones.
levelun niveltodosSolo un nivel.
quantityenergy, amount, rate, level, ratio, state, pricetodasSolo una magnitud.
searchtexto, hasta 100 caracteres—Busca en el nombre, la descripción, la unidad, el id y los ids de la exportación anterior.
include_unavailabletrue, falsetrueEnumera también las métricas que no se pueden exportar para las plantas seleccionadas.
page, limitnúmeros, limit hasta 1001, 100Paginación.
sortorder, name, id, level, con - delante para orden descendenteorderEl orden de la lista.
formatjson, csvjsoncsv responde el glosario.

Cada métrica lleva, junto a su id, nombre, descripción, unidad y nivel:

CampoContenido
quantityqué es la cifra: energy, amount (otra magnitud contada), rate (potencia), level, ratio, state o price
value_modes, default_value_modelos modos de valores que ofrece, y el que elige auto
export_stepslos pasos que ofrece
native_step_secondscon qué frecuencia se mide
mergecómo se combinan varias plantas
twin_item_idpara una métrica de energía, su métrica de potencia
lane_levelpara una métrica de componentes, el nivel de sus componentes
legacy_idslos ids de la exportación anterior por los que responde
applies_parksen cuántas de las plantas seleccionadas se aplica
exportable, export_reasonsi se puede exportar, y si no por qué: draft, planned, grant_required, not_applicable o no_source

Con hasta 10 plantas, se comprueba en cada planta el equipamiento que necesita una métrica. Por encima de esa cifra, las plantas se evalúan solo por su tipo; lo que le falta a una planta concreta se muestra en el momento de exportar como una nota metric_unavailable.

Glosario. format=csv responde toda la lista filtrada como archivo, metric_catalog_<idioma>.csv, con las columnas id, nivel, nombre, unidad, descripción, magnitud, modos de valores, pasos, intervalo de medición, combinación entre plantas, nota e ids anteriores. page y limit no se aplican.

curl "https://service.mirox.io/api/v1/export/series/catalog?format=csv&language=en" \
  -H "Authorization: Bearer YOUR_API_TOKEN" -o metric_catalog_en.csv

Métricas disponibles

La colección está ordenada por nivel. El prefijo de un id indica a dónde pertenece una métrica.

NivellevelPrefijo del idQué contiene
Planta · medidaplantplant.Lo que mide la propia planta: el contador de red, las sumas de los inversores, los sensores del emplazamiento, los límites de potencia que se le impusieron.
Planta · referenciaplant_referenceplant.Lo que la planta debería haber hecho: irradiación en el plano de los módulos, producción esperada, performance ratio, producción específica, pérdidas.
Planta · compensaciónplant_compensationplant.Limitación y pérdidas por limitación como energía y potencia, por destinatario y método.
Métricasmetricsavailability., organization.Cifras de disponibilidad, horas de sol y las métricas de tu organización.
Inversorinverterinverter.Una columna por inversor.
Caja de conexióngakgak.Una columna por caja de conexión.
Stringstringstring.Una columna por string.
Bateríabatterybattery.El almacenamiento en conjunto: energía, potencia, estado de carga, consignas.
Contenedor de bateríasbattery_boxbattery_box.Una columna por contenedor.
Rack de bateríasbattery_storagebattery_storage.Una columna por rack.
Módulo de bateríabattery_modulebattery_module.Una columna por módulo.
Celda de bateríabattery_cellbattery_cell.Una columna por celda o punto de medida.
Convertidor de batería (PCS)battery_pcsbattery_pcs.Una columna por convertidor.
Aerogeneradorturbineturbine.Una columna por aerogenerador.
Sensorsensorsensor.Una columna por sensor: irradiancia, irradiación, temperatura, humedad, viento.
Contadormetermeter.Una columna por contador de energía.
Infraestructurainfrastructureinfrastructure.La ruta de los datos y el emplazamiento: completitud, estado de los loggers, red, alarmas, conexiones de control.
Meteorologíaweatherweather.Meteorología en el emplazamiento, incluidos viento y temperatura a 80, 120 y 180 m.
Mercadomarketmarket.Precios y valores de mercado.
Finanzas de la plantafinancialfinancial.Importes monetarios de la planta. Necesitan el permiso de contabilidad.

La lista completa con nombres, unidades y descripciones en tu idioma es el catálogo, el archivo de glosario o Explicaciones en la pestaña Métricas. Los valores de previsión meteorológica de la exportación anterior no forman parte de la colección; consulta la guía de migración.

Componentes de una planta

GET /v1/export/series/lanes
ParámetroValoresPredeterminadoSignificado
parkun UID de plantaobligatorioLa planta.
levelun nivel de componenteobligatorioConsulta Componentes.
metricun id de métrica—Para sensores y contadores: enumera los que entregaron esta métrica en los últimos 30 días.
searchtexto—Busca en los nombres.
include_hiddentrue, falsefalseEnumera también los componentes ocultos.
page, limitnúmeros, limit hasta 1001, 50Paginación.
sortorder, name, con - delante para orden descendenteorderorder es el orden de las columnas en la exportación.

Cada entrada tiene la referencia ref para el parámetro components, el name, el level, el elemento superior (parent_ref, parent_name — el inversor de un string, por ejemplo), attributes (role de un contador, position de un sensor de irradiancia, vendor), hidden, y source: db para una entrada de los componentes de la planta, store para una serie que se mide pero no tiene tal entrada.

Una planta que no existe y una planta que no puedes leer responden ambas 404 park_not_found.

Sistema de plantillas

Una plantilla es una lista guardada de métricas con valores predeterminados para el paso, el periodo, los valores, la zona horaria, la combinación de plantas, el tamaño de página de componentes y los encabezados de columna. Para qué sirven las plantillas, y cómo gestionarlas en la aplicación, está en la guía de Metric Export.

Exportar una plantilla

GET /v1/export/series/template/{template_uid}

La ruta acepta los parámetros de la exportación salvo metrics, components y values, que fija la plantilla. Cada parámetro que omites toma el valor predeterminado de la plantilla; cada parámetro que indicas prevalece sobre él.

curl --compressed "https://service.mirox.io/api/v1/export/series/template/CAFE1000CAFE?park=ABC123DEF456&window=previous_month&header=id" \
  -H "Authorization: Bearer YOUR_API_TOKEN" -o standard.csv
  • Una plantilla de otra organización responde 404 template_not_found.
  • Una plantilla heredada responde 400 template_is_legacy; params.legacy_url es el enlace que la exporta.
  • Una columna cuya métrica ya no está disponible se exporta vacía bajo su encabezado, con la nota metric_unavailable. Lo mismo ocurre con una métrica de tu organización cuando exportas como Externo (reason not_permitted).

Plantillas del sistema

PlantillaUIDPasoPeriodo
Exportación estándarCAFE1000CAFEdayprevious_month
Exportación ampliadaCAFE1001CAFEdayprevious_month
Exportación ampliada (disponibilidad de inversores)CAFE1002CAFEdayprevious_month
Exportación de disponibilidad energéticaCAFE1003CAFEdayprevious_month
Informe técnicoABCD12340002dayprevious_month
AerogeneradoresCAFE1010CAFEdayprevious_month
Almacenamiento en bateríasCAFE1020CAFEdayprevious_month
Sensores de irradianciaCAFE1030CAFE15minyesterday

Las cinco primeras suceden a CAFE0000CAFE, CAFE0001CAFE, CAFE0002CAFE, CAFE0003CAFE y ABCD12340001, que siguen funcionando en la ruta heredada. Sus columnas se enumeran en la guía de migración. Ofrecen los pasos day, week, month, quarter y year; las cuatro primeras ofrecen además 15min y 1h.

Gestionar plantillas

Las plantillas se enumeran, leen, crean, modifican y eliminan bajo /v1/export/template. La lectura funciona con un token Metric Export. La escritura necesita el rol de organización Administrador, Moderador, Gestor de activos (técnico) o Gestor de activos (comercial) y un inicio de sesión o un token Acceso completo.

SolicitudPropósito
GET /v1/export/templateEnumerar plantillas. view=current enumera las plantillas del sistema de esta página y las plantillas de tu organización; view=legacy, el valor predeterminado, enumera las plantillas guardadas como antes; view=all enumera ambas. kind=series o kind=legacy filtra.
GET /v1/export/template/{template_uid}Leer una plantilla.
POST /v1/export/templateCrear una plantilla con kind=series y el contenido en spec. Sin kind, la solicitud crea una plantilla heredada a partir de metric_ids, como antes.
PUT /v1/export/template/{template_uid}Cambiar el nombre, la descripción o spec. El tipo no puede cambiar.
DELETE /v1/export/template/{template_uid}Eliminar una plantilla. Las plantillas del sistema no se pueden modificar ni eliminar.

El spec de una plantilla:

CampoValoresPredeterminado
itemsde 1 a 40 entradas, cada una con metric y, opcionalmente, values y labelobligatorio
stepun pasoauto
valuesun modo de valoresauto
tzlocal, utclocal
windowun periodo predefinidoprevious_month
multi_park_aggmerge, splitmerge
lane_limitde 1 a 10050
headername, idname
mismatchrefuse, sparserefuse

label es el texto de encabezado de la columna con header=name. Una métrica puede aparecer una sola vez, y una plantilla no contiene consultas en bruto. Cuando se guarda una plantilla, todas las métricas deben ser exportables y deben compartir un paso —con mismatch=sparse, cada una debe ofrecer algún paso—; de lo contrario la respuesta es 422 spec_invalid y params.problems nombra la métrica y el motivo. Una plantilla se ejecuta con su propio mismatch (la aplicación lo muestra como Métricas de otro paso: Estricto o Flexible); el parámetro del enlace de exportación tiene prioridad.

Convertir una plantilla heredada

POST /v1/export/template/{template_uid}/convert
CampoValoresSignificado
namehasta 100 caracteresEl nombre de la plantilla nueva. Predeterminado: el nombre de la plantilla heredada seguido de «(new)».
dry_runtrue, falsetrue responde la correspondencia sin crear nada.

La respuesta enumera mapped (legacy_id, metric, values, exactness: exact o approximate) y unmapped (legacy_id, reason: formula, no_equivalent, report_value o instant, y hasta tres suggestions), y, salvo que fuera una simulación, la nueva template. Una simulación responde 200, una conversión 201.

La plantilla nueva exporta días durante el mes anterior. La plantilla heredada nunca se modifica. Dos columnas heredadas que leen el mismo contador se convierten en una sola columna. 422 nothing_to_convert significa que ninguna columna tiene equivalente, o que la plantilla no es una plantilla heredada.

Límites

Una exportación se responde dentro de una sola solicitud, así que su tamaño está acotado. Cada límite se comprueba antes de leer datos; una solicitud demasiado grande se rechaza de inmediato y te dice qué cabría.

LímiteValor
Métricas por solicitud20; en una plantilla 40
Consultas MetricsQL en bruto por solicitud5, de 4 000 caracteres cada una, con como máximo 500 series por planta
Plantas por solicitud50
Componentes por métrica y página50 de forma predeterminada, como máximo 100
Columnas400
Valores por columna180 000 — 125 días con 1min, 625 días con 5min, cinco años con 15min
Valores en total1 800 000 (filas × columnas)
Periodo1827 días
Lecturas del almacén de mediciones por solicitud1 500
Duración50 segundos
Exportaciones por usuario y hora240
Exportaciones en curso al mismo tiempo3 por organización

Dividir una exportación grande

400 over_budget nombra en params lo que se necesitaba y lo que está permitido, y en hint la salida: step, el siguiente paso más grueso que cabe, y max_days, el periodo más largo que cabe con el paso solicitado. Consulta primero la estimación si construyes solicitudes en un script; su per_step enumera el tamaño para cada paso.

Si no quieres ni un paso más grueso ni un periodo más corto, divide la exportación:

Dividir porCómo
TiempoUna solicitud por mes o trimestre. Usa los parámetros de calendario (year=2026&month=7) y une los archivos.
PlantaUna solicitud por planta o portfolio.
MétricaLas métricas de componentes en solicitudes propias. Una métrica de componentes en una planta con 200 inversores son 200 columnas.
Páginalane_page=1, 2, … para los componentes de una métrica.

Algunas métricas se calculan a partir de varias fuentes para cada día, sobre todo plant.production_reported (Producción, resuelta). Necesitan muchas más lecturas del almacén de mediciones que una lectura de contador, con cualquier paso. Una solicitud o una plantilla que lleva una métrica así alcanza actualmente unos nueve meses-planta: una planta durante nueve meses, o nueve plantas durante un mes. Un paso de una semana o más amplía el periodo a intervalos completos, y cuenta el periodo ampliado. Divide estas exportaciones por tiempo o por planta, o exporta la métrica en una solicitud propia.

429 busy y 429 rate_limited llevan el encabezado Retry-After con los segundos que hay que esperar.

Errores

Un error de las rutas de esta página tiene esta forma:

{
  "detail": {
    "code": "step_not_served",
    "message": "The step is not served by every requested metric.",
    "params": {"step": "1h", "metrics": {"plant.grid_power": ["1min", "5min", "15min"]}},
    "hint": {"offered_common": ["1min", "5min", "15min"]}
  }
}

code es estable y está pensado para programas. message es un texto en inglés para personas. params indica qué estaba mal, hint qué funcionaría.

EstadocodeSignificadoparams y hint
400scope_requiredNo se indicó ni park ni portfolio.hint.example
400unknown_metricUn id de métrica no existe.params.ids; hint.suggestions con ids parecidos
400legacy_metric_idUn id de la exportación anterior no tiene equivalente en la colección.params.id, params.legacy_url; hint.reason, hint.closest, hint.pending, hint.legacy_url
400metric_not_exportableLa métrica existe, pero no es una serie temporal que puedas exportar.params.id, params.reason: draft, planned, no_source, events o master
400window_conflictEl periodo se indicó de más de una forma.params.families
400window_invalidEl periodo no es válido.params.reason: end_before_start, start_in_future, before_2020, too_long, day_requires_month, start_required o invalid_date
400step_not_servedUna métrica no ofrece el paso solicitado.params.metrics con los pasos de cada métrica; hint.offered_common
400no_common_stepLas métricas no comparten ningún paso.params.metrics; hint.split
400over_budgetLa exportación supera un límite.params.values, limit, queries, query_limit, columns, column_limit, parks; con más de 50 plantas params.parks y park_limit; con una consulta en bruto params.series; hint.step, hint.max_days, hint.lane_limit, hint.reduce
400unknown_laneUna referencia de componente no pertenece a ninguna de las plantas.params.refs
400expr_invalidUna consulta en bruto no se puede ejecutar.params.expr, params.reason: empty, syntax (con detail), too_long, too_large, store (con el detail de la base de datos) o parser_unavailable
400expr_forbidden_labelUna consulta en bruto nombra por sí misma una planta, un parque o una organización.params.expr, params.labels
400expr_too_many_seriesUna consulta en bruto responde más de 500 series en una planta.params.expr, params.park, params.series, params.limit; hint.reduce
400separator_conflictEl separador de columnas y el separador decimal son iguales.—
400invalid_datetime_formatdatetime_format no es un patrón válido.hint.example
400template_is_legacyLa plantilla es una plantilla heredada.params.legacy_url
403no_accessible_parksNo puedes leer ninguna de las plantas seleccionadas.—
403metric_forbiddenSe solicitó una métrica de tu organización con el rol de organización Externo.params.ids
404template_not_found, park_not_foundLa plantilla o la planta no existe, o no puedes leerla.—
409name_conflictYa existe una plantilla con este nombre.params.name
422—Un parámetro tiene un valor fuera de su lista, o metrics contiene más de 20 ids.el campo y el motivo
422spec_invalid, use_spec, nothing_to_convertUna plantilla no se puede guardar o convertir tal como se envió.params.problems
429busyHay demasiadas exportaciones en curso.encabezado Retry-After
429rate_limitedEl cupo por hora está agotado.encabezado Retry-After
502store_errorEl almacén de mediciones respondió con un error. No se exportó nada; un valor nunca se sustituye por cero.params.metric
503store_timeoutEl almacén de mediciones no respondió a tiempo.hint.step con un paso más grueso

401 significa que el token falta, ha caducado o se ha revocado.

Ids de la exportación anterior

El parámetro metrics acepta también los ids de la exportación anterior, como energy_grid_daily o raw_grid_power. Un id con equivalente se traduce a su métrica, en el modo de valores que más se acerca a la cifra anterior, y la nota legacy_id_mapped indica qué métrica respondió y si la cifra es la misma (exact) o la misma magnitud leída de una forma mejor (approximate).

Un id sin equivalente responde 400 legacy_metric_id. hint.reason indica el motivo, hint.closest nombra la métrica más cercana cuando la hay, hint.pending nombra la métrica prevista para sustituirlo, y legacy_url es el enlace de la exportación anterior que sigue entregando el id. Con más plantas de las que puede nombrar un enlace, legacy_url nombra la primera planta y params.legacy_url_scope es first. Un id de componente de un nivel de batería no tiene enlace de la exportación anterior; en ese caso hint.legacy_route es none. La guía de migración enumera todos los ids.

Excel y scripts

  • Metric Export para Excel: recetas, y la conexión de Power Query con el encabezado Authorization
  • Generador de informes externos: un ejemplo completo en Python

Funciones relacionadas

  • Metric Export: la página Exportación de datos
  • Migrar a Metric Export: ids antiguos, métricas nuevas y qué cambia
  • API de exportación heredada: los enlaces de exportación anteriores
  • Métricas: define métricas propias y expórtalas
  • Tokens de API: crea el token Metric Export
  • Descripción general de la API: la referencia interactiva de todas las rutas
Prev
Metric Export
Next
Migrar a Metric Export
© 2026 Mirox Verwaltungs GmbH. Todos los derechos reservados. | Política de privacidad