Webhooks
Webhooks
Los webhooks permiten que GoVista envíe notificaciones de eventos en tiempo real a tus sistemas cuando ocurre algo importante.
¿Qué son los webhooks?
En lugar de hacer polling a la API para comprobar cambios, los webhooks envían peticiones HTTP POST a tu servidor cuando ocurren eventos.
Eventos disponibles
Eventos de dispositivo:
device.online— El dispositivo se ha puesto onlinedevice.offline— El dispositivo se ha quedado offlinedevice.paired— Nuevo dispositivo emparejadodevice.removed— Dispositivo eliminadodevice.alert— Se ha disparado una alerta de dispositivo
Eventos de contenido:
content.uploaded— Nuevo contenido subidocontent.deleted— Contenido eliminadocontent.approved— Contenido aprobadocontent.rejected— Contenido rechazado
Eventos de lista de reproducción:
playlist.created— Nueva lista creadaplaylist.deployed— Lista desplegada a dispositivosplaylist.updated— Lista modificada
Eventos de programación:
schedule.activated— Programación activadaschedule.deactivated— Programación desactivada
Crear un webhook
1. Ve a Ajustes > API > Webhooks 2. Haz clic en Crear webhook 3. Introduce la URL del endpoint (debe ser HTTPS) 4. Selecciona los eventos que quieres recibir 5. Opcionalmente, añade una clave secreta para verificación de firma 6. Guarda y activa
Payload del webhook
``json { "event": "device.offline", "timestamp": "2025-01-15T10:30:00Z", "data": { "device_id": "dev_abc123", "device_name": "Lobby Screen 1", "store": "NYC Downtown", "last_heartbeat": "2025-01-15T10:25:00Z" } } ``
Usa los webhooks para construir flujos automatizados. Por ejemplo, envía un mensaje a Slack cuando un dispositivo se quede offline, o actualiza tu panel de monitorización en tiempo real.
Verificación de firma
Si configuras una clave secreta, GoVista incluye una firma HMAC-SHA256 en la cabecera X-GoVista-Signature. Verifica esta firma para asegurarte de que el webhook procede de GoVista.
Lógica de reintentos
Si tu endpoint devuelve un código de estado no-2xx:
- GoVista reintenta hasta 5 veces
- Intervalos de reintento: 1 min, 5 min, 30 min, 2 horas, 12 horas
- Tras agotar los reintentos, el webhook se marca como fallido
Registros de webhook
Consulta el historial de entrega de cada webhook:
- Payload enviado
- Respuesta recibida
- Código de estado
- Intentos de reintento
Tu endpoint de webhook debe responder en menos de 10 segundos. Los procesos largos deben gestionarse de forma asíncrona: acepta el webhook rápidamente y luego procésalo en segundo plano.