Alertas Ficheros generados
El servidor regenera estos ficheros cada pocos minutos. Están pensados para banners y avisos urgentes, y suelen venir vacíos cuando no hay ninguna alerta activa.
| Fichero | Formato | Contenido | Frecuencia |
|---|---|---|---|
/feed/alertas/general.xml | XML propio | La alerta de mayor prioridad del momento, lista para mostrar | 5 min |
/feed/alertas/aemet.xml | RSS 2.0 | Avisos de AEMET de nivel amarillo, naranja o rojo para el Levante almeriense (hoy y mañana). category = AMARILLO/NARANJA/ROJO | 15 min |
/feed/alertas/trafico.xml | RSS 2.0 + GeoRSS | Cortes de tráfico e incidencias, con georss:point o georss:line | 5 min |
/feed/alertas/youtube.xml | RSS 2.0 + media | Emisión en directo en el canal de YouTube, si la hay. category = LIVE | 5 min |
Formato de general.xml
Combina los otros tres feeds con este orden de prioridad: AEMET > tráfico > YouTube.
<alerta_general>
<meta>
<tipo>aemet | trafico | youtube | none</tipo>
<nivel>rojo | naranja | amarillo | …</nivel>
<color_bg>#dc3545</color_bg> <!-- color de fondo sugerido -->
<color_text>#ffffff</color_text> <!-- color de texto sugerido -->
<animate>false | blink</animate>
<activa>true | false</activa>
<total_items>1</total_items>
<generado>2026-10-02T07:15:03+02:00</generado>
</meta>
<items>
<item><titulo/><descripcion/><link/><nivel/></item>
</items>
</alerta_general>
Cómo se detecta el directo de YouTube
Cada 5 minutos el servidor comprueba si el canal del Ayuntamiento está emitiendo en directo. Desde el 10 de octubre de 2026 lo hace en dos pasos:
- Lee el RSS de subidas del canal (
youtube.com/feeds/videos.xml?channel_id=…), que es público, no consume cuota de la API y lista los últimos vídeos, directos incluidos. - Consulta esos vídeos de una sola vez en
videos.listde la YouTube Data API v3 (part=snippet,liveStreamingDetails, 1 unidad de cuota). Se considera en directo el que tieneliveBroadcastContent = live; si hubiera varios, se publica el que empezó más tarde.
Antes se usaba search.list con eventType=live, que cuesta 100 unidades por consulta: la cuota diaria de 10.000 unidades se agotaba a media tarde y los directos de tarde y noche no aparecían. Con el método actual se gastan unas 300 unidades al día.
Si el RSS o la API fallan, youtube.xml se publica vacío (no se mantiene un directo anterior) y el error queda registrado en el servidor.
Ejemplo de youtube.xml con emisión
<item>
<title>Pleno ordinario</title>
<link>https://www.youtube.com/watch?v=XXXXXXXXXXX</link>
<description>Descripción del vídeo en YouTube</description>
<pubDate>Sat, 10 Oct 2026 17:01:01 +0200</pubDate> <!-- inicio real de la emisión -->
<guid>XXXXXXXXXXX</guid> <!-- id del vídeo -->
<category>LIVE</category>
<media:content url="https://i.ytimg.com/vi/XXXXXXXXXXX/hqdefault_live.jpg" medium="image"/>
</item>
Sin emisión, el <channel> no lleva ningún <item>. En general.xml el directo aparece como tipo = youtube, nivel = live y título «EMITIENDO EN DIRECTO: …», solo si no hay aviso de AEMET ni incidencia de tráfico.