GET
/tarifas
📋 Listado de Tarifas Activas
Proxy autenticado al microservicio de tarifas. Devuelve el catálogo normalizado y listo para ser usado por el comparador y la SPA.
📝 Descripción
Este endpoint realiza una petición a
https://pre-webhooks.imaginaenergia.com/tarifas reenviando la
cabecera Authorization recibida, normaliza la respuesta a una
lista plana y la devuelve al cliente. Para cada tarifa se exponen:
- Identificación y descripción comercial.
- Tarifa ATR (
codigo_atr) y alias externo. - Tipo de precio (Fijo o Indexado).
- Fórmulas de energía
energia_p1..energia_p6. - Fórmulas de potencia
potencia_p1..potencia_p6, salvo que la tarifa use precios de potencia regulados (BOE), en cuyo caso solo se expone la marcapotencia_boe = true.
🔐 Autenticación
Requiere cabecera Authorization: Bearer <TOKEN>. Se acepta tanto
el token estático API_SECUR_TOKEN como un JWT firmado con
JWT_SECRET / JWT_SECRET_1.
⚠️ Importante: La cabecera
Authorization que
envíes se reenvía tal cual al servicio interno de tarifas. Si la cabecera
no es válida para el servicio interno, la API devolverá el código y el
cuerpo de error tal y como los recibe (401, 403, ...).
📤 Respuesta exitosa (200 OK)
Estructura de cada elemento
| Campo | Tipo | Descripción |
|---|---|---|
id | int | Identificador interno de la tarifa (id_tarifa_precios). |
nombre | string | Nombre comercial. Si falta, cae en descripcion. |
descripcion | string | Descripción larga de la tarifa. |
codigo_atr | string | Tarifa de acceso (2.0TD, 3.0TD, 6.1TD, ...). |
alias_externo | string | Alias usado por sistemas externos (CRM, web pública...). |
tipo_tarifa_precio | string | "Fijo" (origen "F") o "Indexado" (origen "I"). |
precio_potencia_boe | string | Valor crudo de origen ("S"/"N"). |
potencia_boe | boolean | true si la potencia se factura con precios BOE regulados. |
energia_p1..energia_p6 | string | Fórmula de precio de energía por período (campo energia_pX_formula del origen). |
potencia_p1..potencia_p6 | string | Fórmula de precio de potencia por período. Solo presentes si potencia_boe es false. |
Ejemplo
[
{
"id": 1234,
"nombre": "Tarifa Fija Hogar",
"descripcion": "Tarifa fija 2.0TD con descuento residencial",
"codigo_atr": "2.0TD",
"alias_externo": "TFH_2025",
"tipo_tarifa_precio": "Fijo",
"precio_potencia_boe": "N",
"potencia_boe": false,
"energia_p1": "0.142",
"energia_p2": "0.118",
"energia_p3": "0.092",
"energia_p4": null, "energia_p5": null, "energia_p6": null,
"potencia_p1": "30.5",
"potencia_p2": "1.2",
"potencia_p3": null, "potencia_p4": null,
"potencia_p5": null, "potencia_p6": null
},
{
"id": 1240,
"nombre": "Tarifa Indexada PYME",
"codigo_atr": "3.0TD",
"tipo_tarifa_precio": "Indexado",
"potencia_boe": true,
"precio_potencia_boe": "S",
"energia_p1": "OMIE_P1 + 0.03",
"energia_p2": "OMIE_P2 + 0.03",
"energia_p3": "OMIE_P3 + 0.03",
"energia_p4": "OMIE_P4 + 0.03",
"energia_p5": "OMIE_P5 + 0.03",
"energia_p6": "OMIE_P6 + 0.03"
}
]
❌ Respuestas de error
| Código | Cuándo se produce |
|---|---|
401 | Falta la cabecera Authorization. |
4xx / 5xx | El servicio interno de tarifas devuelve un error. Se reenvía el código y el cuerpo originales. |
500 | Error inesperado del proxy: {"error": "Error al obtener el listado de tarifas"}. |
💻 Ejemplos
cURL
curl -X GET "https://api.imaginaenergia.com/tarifas" \
-H "Authorization: Bearer <JWT>"
JavaScript (fetch)
const res = await fetch('/tarifas', {
headers: { 'Authorization': `Bearer ${jwt}` }
});
const tarifas = await res.json();
const fijas = tarifas.filter(t => t.tipo_tarifa_precio === 'Fijo');
🔄 Flujo interno
- El cliente llama a
/tarifascon suAuthorization. - La API valida el token (estático o JWT).
- La API realiza
GETal microservicio interno reenviando esa misma cabecera. - Si la respuesta es
200, se normaliza la estructura (campos planos, tipo de precio legible,potencia_boebooleano, fórmulasenergia_pX/potencia_pX) y se devuelve como lista. - Si la respuesta no es
200, se devuelve el código y el cuerpo originales al cliente.