Volver a la documentación
GET /sips/<cups>

🔍 Consulta de Datos CUPS

Obtiene información completa de un punto de suministro desde el Sistema SIPS

📝 Descripción

Este endpoint permite consultar información detallada de un punto de suministro mediante su código CUPS (Código Universal del Punto de Suministro). Se conecta directamente con el Sistema de Información del Punto de Suministro (SIPS) para obtener datos actualizados.

La respuesta incluye información del cliente, características técnicas del punto de suministro, datos del contador, información de la tarifa contratada y el estado actual del suministro.

ℹ️ Información: Este es el endpoint principal de consulta para electricidad. Si necesita consultar un punto de suministro de GAS, utilice el endpoint /sips_gas/<cups>.

🔧 Parámetros

Parámetros de Ruta

Parámetro Tipo Requerido Descripción
cups string Requerido Código CUPS del punto de suministro. Debe ser un código válido de 20-22 caracteres.
⚠️ Importante: El código CUPS debe ser válido y estar registrado en el sistema SIPS. Si el CUPS no existe o está mal formado, se retornará un error.

📤 Respuestas

✅ Respuesta Exitosa (200 OK)

Retorna un objeto JSON con toda la información del punto de suministro.

Estructura de la Respuesta:

Campo Tipo Descripción
cups string Código CUPS del punto de suministro
direccion object Información de la dirección del punto de suministro
titular object Datos del titular del contrato
caracteristicas_tecnicas object Características técnicas del suministro (potencia, tensión, etc.)
tarifa object Información de la tarifa contratada
comercializadora string Nombre de la comercializadora actual
distribuidora string Nombre de la distribuidora de la zona
estado string Estado actual del suministro (activo, suspendido, etc.)

Ejemplo de Respuesta:

{
  "cups": "ES0031405678912345AB1F",
  "direccion": {
    "tipo_via": "CALLE",
    "nombre_via": "MAYOR",
    "numero": "15",
    "escalera": "A",
    "piso": "3",
    "puerta": "B",
    "codigo_postal": "28013",
    "municipio": "MADRID",
    "provincia": "MADRID"
  },
  "titular": {
    "nombre": "JUAN GARCIA LOPEZ",
    "tipo_documento": "NIF",
    "numero_documento": "12345678A",
    "telefono": "666555444",
    "email": "juan.garcia@email.com"
  },
  "caracteristicas_tecnicas": {
    "tension": "Baja Tensión",
    "potencia_contratada": {
      "p1": 3.45,
      "p2": 3.45
    },
    "potencia_maxima": 10.0,
    "tipo_contador": "Digital",
    "telemedida": true
  },
  "tarifa": {
    "codigo": "2.0TD",
    "descripcion": "Tarifa 2.0TD - Baja tensión con discriminación horaria",
    "peajes": "2.0TD"
  },
  "comercializadora": {
    "nombre": "COMERCIALIZADORA EJEMPLO S.A.",
    "codigo": "0123"
  },
  "distribuidora": {
    "nombre": "DISTRIBUIDORA ELECTRICA S.A.",
    "codigo": "0001"
  },
  "estado": "activo",
  "fecha_alta": "2020-05-15",
  "ultima_lectura": {
    "fecha": "2025-11-30",
    "tipo": "Real",
    "activa": 1523.5,
    "reactiva": 45.2
  }
}

❌ Respuestas de Error

400 Bad Request

El CUPS proporcionado no es válido o está mal formado.

{
  "error": "El código CUPS proporcionado no es válido"
}

404 Not Found

No se proporcionó el parámetro CUPS o el CUPS no se encuentra en el sistema.

{
  "error": "CUPS parameter is required"
}

500 Internal Server Error

Error interno del servidor o error de conexión con el sistema SIPS.

{
  "error": "Se ha producido un error interno contacte con em"
}

💻 Ejemplos de Uso

cURL

curl -X GET "http://localhost:5000/sips/ES0031405678912345AB1F" \
  -H "Accept: application/json"

Python (requests)

import requests

cups = "ES0031405678912345AB1F"
url = f"http://localhost:5000/sips/{cups}"

response = requests.get(url)

if response.status_code == 200:
    data = response.json()
    print(f"CUPS: {data['cups']}")
    print(f"Titular: {data['titular']['nombre']}")
    print(f"Estado: {data['estado']}")
else:
    print(f"Error: {response.json()['error']}")

JavaScript (fetch)

const cups = 'ES0031405678912345AB1F';
const url = `http://localhost:5000/sips/${cups}`;

fetch(url)
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.json();
  })
  .then(data => {
    console.log('CUPS:', data.cups);
    console.log('Titular:', data.titular.nombre);
    console.log('Estado:', data.estado);
  })
  .catch(error => {
    console.error('Error:', error);
  });

PowerShell

$cups = "ES0031405678912345AB1F"
$url = "http://localhost:5000/sips/$cups"

$response = Invoke-RestMethod -Uri $url -Method Get

Write-Host "CUPS: $($response.cups)"
Write-Host "Titular: $($response.titular.nombre)"
Write-Host "Estado: $($response.estado)"

🔄 Flujo de Trabajo

  1. Cliente realiza petición: Envía una solicitud GET con el código CUPS en la URL
  2. Autenticación SIPS: El servidor obtiene un token de autenticación del sistema SIPS
  3. Consulta de datos: Se realiza la consulta al sistema SIPS con el token obtenido
  4. Procesamiento: Los datos recibidos se procesan y formatean
  5. Respuesta: Se devuelve la información en formato JSON al cliente
✅ Recomendación: Este endpoint puede ser usado como primer paso para validar la existencia de un CUPS antes de realizar operaciones más complejas o solicitar datos adicionales mediante los otros endpoints disponibles.

📊 Casos de Uso

1. Validación de CUPS

Verificar que un código CUPS existe y está activo en el sistema antes de proceder con una contratación o cambio de titularidad.

2. Obtención de Datos del Titular

Recuperar información del titular actual para procesos de verificación o actualización de datos de contacto.

3. Consulta de Características Técnicas

Conocer las características técnicas del punto de suministro (potencia contratada, tipo de contador) para calcular tarifas o planificar modificaciones.

4. Verificación de Comercializadora

Identificar la comercializadora actual del suministro para procesos de cambio de comercializadora o portabilidad.

⚠️ Limitaciones y Consideraciones

🔗 Endpoints Relacionados

GET /sips_..._mendix_por_meses/<cups>

Histórico Mensual Detallado (Mendix)

Obtiene el consumo P1-P6 de los últimos 12 meses en formato Mendix (JSON). Es el endpoint recomendado para alimentar gráficos de consumo.

GET /sips_datos_consumos_mendix/<cups>

Consumos Mensualizados (Mendix)

Obtiene datos históricos de consumo mensualizado en formato Mendix (XML).

GET /sips_datos_consumos_periodos_mendix/<cups>

Consumos por Períodos (Mendix)

Consulta consumos desglosados por períodos tarifarios en formato Mendix (XML).

GET /sips_datos_anuales_mendix/<cups>

Consumos Anuales (Mendix)

Consulta datos agregados anuales por períodos en formato Mendix (JSON).