Webhooks
Los webhooks te permiten recibir notificaciones en tiempo real sobre eventos que ocurren en tu espacio de trabajo de Ignite. En lugar de hacer polling a la API para detectar cambios, los webhooks envían datos a tu servidor cuando se producen los eventos.
¿Qué son los webhooks?
Los webhooks son callbacks HTTP que se disparan cuando ocurren eventos concretos. Cuando sucede un evento (por ejemplo, que se cree o actualice un video), Ignite envía una solicitud HTTP POST a tu endpoint configurado con información sobre el evento.
Casos de uso
- Sincronización con el CMS — Mantén tu sistema de gestión de contenido externo alineado con los cambios en los videos
- Automatización de flujos — Lanza flujos automáticos cuando se crean, actualizan o eliminan videos
- Notificaciones — Envía avisos a tu equipo cuando termine el procesamiento de un video
- Analítica — Registra el ciclo de vida de los videos en tu propio sistema de analítica
Cómo funciona
Crear una suscripción a webhooks
Configura una suscripción a webhooks en la interfaz de administración de Ignite. Necesitarás:
- Una URL en tu servidor que pueda recibir solicitudes HTTP POST
- Los tipos de evento a los que quieres suscribirte
Recibir eventos
Cuando ocurre un evento al que estás suscrito, Ignite envía una solicitud HTTP POST a tu endpoint con:
- El tipo de evento en la cabecera
X-Webhook-Event - Una firma para verificación en la cabecera
X-Webhook-Signature - Un identificador único de entrega en la cabecera
X-Webhook-Delivery-Id - El objeto de video completo como cuerpo JSON
Procesar y responder
Tu endpoint debería:
- Verificar la firma del webhook
- Procesar los datos del evento
- Devolver un código de estado
2xxen un plazo de 30 segundos
Los webhooks pueden llegar fuera de orden o entregarse más de una vez. Tu cliente es responsable de comprobar la marca de tiempo updatedAt y el id del video para garantizar el orden correcto y la coherencia de los datos. Compara siempre la marca de tiempo entrante con los datos que tengas guardados antes de aplicar actualizaciones, y usa la cabecera X-Webhook-Delivery-Id para detectar y omitir entregas duplicadas.
Suscripción a webhooks
Una suscripción a webhooks es una configuración que define a dónde deben enviarse los eventos y a cuáles escuchar.
Propiedades de la suscripción
| Propiedad | Tipo | Descripción |
|---|---|---|
id | string | Identificador único de la suscripción |
url | string | URL del endpoint donde se enviarán los eventos (HTTP o HTTPS) |
events | object | Qué tipos de evento están activados |
events.videoCreated | boolean | Recibir eventos cuando se crean videos |
events.videoUpdated | boolean | Recibir eventos cuando se actualizan videos |
events.videoDeleted | boolean | Recibir eventos cuando se eliminan videos |
active | boolean | Si el webhook está activo en este momento |
signingSecret | string | Secreto usado para la verificación de firma (generado automáticamente) |
workspace | string | El espacio de trabajo al que pertenece este webhook |
Ejemplo de objeto de suscripción
{
"id": "507f1f77bcf86cd799439011",
"url": "https://your-server.com/webhook",
"events": {
"videoCreated": true,
"videoUpdated": true,
"videoDeleted": false
},
"active": true,
"signingSecret": "whsec_abc123...",
"workspace": "507f1f77bcf86cd799439000"
}Formato de la solicitud HTTP
Cuando ocurre un evento, Ignite envía una solicitud POST a tu endpoint:
Cabeceras
| Cabecera | Descripción |
|---|---|
Content-Type | application/json |
X-Webhook-Event | Tipo de evento (p. ej., video.created) |
X-Webhook-Signature | Firma HMAC-SHA256 para verificación |
X-Webhook-Delivery-Id | Identificador único de esta entrega (útil para idempotencia) |
Cuerpo
El cuerpo de la solicitud contiene el objeto de video completo en JSON. Consulta la documentación del objeto de video para la estructura completa.
{
"id": "507f1f77bcf86cd799439011",
"title": "My Video",
"status": "COMPLETE",
"visibility": "public",
"duration": 120,
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
// ... all other video properties
}Próximos pasos
- Tipos de eventos — Conoce los tipos de evento disponibles
- Verificación de firma — Asegura tu endpoint de webhook
- Ejemplos de webhooks — Ejemplos de implementación completos