Volver a la wiki

Servicio Signagelive Adapter — Push de contenido Network API (OAuth)

Descripción

Adapter que integra contenido de CreaRack con la plataforma Signagelive cloud (https://api.signagelive.com/v1). Signagelive es una CMS de digital signage basada en cloud con soporte para múltiples tipos de players. Su Network API utiliza un flujo OAuth simplificado.

Ubicación: signage/services/adapters/signagelive.py
Clase: SignageliveAdapter(SignageDeviceAdapter)
Flujo de autenticación: OAuth (POST /token → Bearer token)
Método de push: POST /media (multipart form-data con Bearer)

Firma pública

class SignageliveAdapter(SignageDeviceAdapter):
    """Signagelive Network API adapter (cloud, OAuth bearer)."""
    
    def __init__(self, ip: str, credentials: dict, adapter_config: dict) -> None
    async def get_status(self) -> dict
    async def push_content(self, file_path: str, destination: str = "") -> bool
    async def set_playlist(self, playlist_data: dict) -> bool
    async def set_schedule(self, schedule_data: dict) -> bool
    async def get_playback_logs(self, since: str = "") -> list

Componentes y flujos

Inicialización

Autenticación OAuth (privado)

get_status() → dict

push_content(file_path, destination="") → bool

set_playlist(playlist_data) → bool

set_schedule(schedule_data) → bool

get_playback_logs(since="") → list

Fuentes de datos y llamadas HTTP

MétodoEndpointAuthDescripción
POST/tokenCredenciales form-dataExchange para obtener Bearer token
GET/playersBearerLista de players, toma primero para status
POST/mediaBearerUpload multipart de contenido
POST/playlistsBearerCrear/actualizar playlist
POST/schedulesBearerCrear/actualizar schedule
GET/proof-of-playBearerLogs de reproducción probada

Todas las llamadas usan aiohttp con timeout de 15s (exceptuando upload, que es 120s).

Manejo de autenticación

Estado de verificación

⚠ NO verificado contra hardware real ni contra una cuenta Signagelive activa. Endpoints y estructura de payloads siguen la documentación pública de Signagelive (https://build.signagelive.com/network-api/ + https://support.signagelive.com/), pero nombres exactos de campos en DTOs pueden requerir ajuste fino al probar contra una red real.

Documentación oficial

Véase también

Subir