Volver a la wiki

Servicio Yodeck Adapter — Push de contenido API cloud

Descripción

Adapter que integra contenido de CreaRack con la plataforma Yodeck cloud (https://api.yodeck.com/v1). Yodeck es una CMS de digital signage basada en cloud que administra players físicos a través de una API REST documentada.

Ubicación: signage/services/adapters/yodeck.py
Clase: YodeckAdapter(SignageDeviceAdapter)
Método de autenticación: Token en header Authorization: Token <api_token> (Yodeck’s documented scheme)
Método de push: POST /media/ (multipart form-data)

Firma pública

class YodeckAdapter(SignageDeviceAdapter):
    """Yodeck cloud REST API adapter (api.yodeck.com)."""
    
    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
    async def reboot(self) -> bool

Componentes y flujos

Inicialización

get_status() → dict

push_content(file_path, destination="") → bool

set_playlist(playlist_data) → bool

set_schedule(schedule_data) → bool

get_playback_logs(since="") → list

reboot() → bool

Fuentes de datos y llamadas HTTP

MétodoEndpointAuthDescripción
GET/monitors/Header TokenLista de players, toma primero para status
POST/media/Header TokenUpload multipart de archivo de contenido
POST/playlists/Header TokenCrear/actualizar playlist
POST/schedules/Header TokenCrear/actualizar schedule
GET/proof-of-play/Header TokenLogs de reproducción probada
POST/monitors/reboot/Header TokenReboot del player

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

Estado de verificación

⚠ NO verificado contra hardware real. Endpoints y estructura de payloads siguen la documentación pública de Yodeck (https://www.yodeck.com/docs/… + https://app.yodeck.com/api-docs/), pero nombres exactos de campos en DTOs pueden requerir ajuste fino al probar contra un workspace/player real.

Documentación oficial

Véase también

Subir