Información general sobre los webhooks
Información general sobre los webhooks
Aplicación de ejemplo
Si desea crear su propio consumidor para los webhooks de Frame.io, puede descargar y ampliar nuestra aplicación de ejemplo en GitHub.
Introducción
Los webhooks proporcionan una forma de aprovechar eventos que ocurren dentro de Frame.io en notificaciones que se pueden enviar a sistemas externos para el procesamiento, las devoluciones de llamadas API y, en última instancia, la automatización de flujos de trabajo.
Configurar
Los webhooks pueden configurarse en el área de webhooks de nuestro sitio para desarrolladores. Un webhook requiere:
- Nombre: Se mostrará únicamente en el sitio para desarrolladores.
- URL: Lugar donde se entregarán los eventos.
- Equipo: A qué equipo se añadirá este webhook.
- Eventos: Qué evento o eventos deben activar el webhook.
Eventos compatibles
Un solo webhook puede suscribirse a todos los siguientes eventos:
Proyectos
Activos
Versiones de activos
Cuando se activa el evento asset.versioned, va a recibir una carga útil con el id del activo que tiene versiones, no del grupo de versiones en sí. Por lo tanto, si espera poder pasar ese id a otra función pensando que es el id del grupo de versiones, va a tener que buscar y localizar primero ese recurso “principal” en concreto.
Actualizaciones de etiquetas de activos
El evento asset.label.updated no se activará cuando la etiqueta de estado se cambie mediante una llamada PUT al punto final /v2/assets/:id a través de la API pública (BES-408). Sin embargo, se activará cuando la etiqueta de estado se actualice mediante cualquier aplicación e integración nativa de Frame.io (Web, iOS, Premiere, After Effects, FCPX, etc.).
Comentarios
Vínculos de revisión
Colaboradores
Integrantes del equipo
Carga útil
Frame.io entrega una carga útil JSON al punto final del webhook especificado. Este es un ejemplo de carga útil para un evento asset.created:
Todas las cargas útiles contienen un campo type, que indica el tipo de evento que se produce, así como un objeto resource. El objeto resource especifica el type y el id del recurso relacionado con el evento. En el ejemplo anterior de un evento asset.created, este sería el id del nuevo activo creado. Además, se incluyen objetos user y team. Estos hacen referencia al usuario que activó el evento y al contexto del equipo para el recurso. Aparte del contexto inmediato de usuario y equipo, no incluimos información adicional sobre el recurso suscrito. Si la aplicación requiere información o contexto adicional, recomendamos usar nuestra API HTTP para realizar solicitudes de seguimiento.
Reintentos
Si se produce un error (respuesta con código de estado distinto de 200) o se agota el tiempo de espera al entregar el webhook a su servicio, la carga útil se reintentará tres veces, para un total de cuatro intentos de entrega.
Seguridad
De forma predeterminada, todos los webhooks se proporcionan con una clave de firma. Esta clave no se puede configurar.Puede usarse para verificar que la solicitud procede de Frame.io.
Verificar firmas de webhook
Para proteger una integración contra ataques de intermediario y de repetición, es esencial verificar las firmas de webhook. La verificación garantiza que las cargas útiles de webhook las haya enviado realmente Frame.io y que el contenido no se haya modificado durante el transporte.
La solicitud POST incluye los siguientes encabezados:
Siga estos pasos para verificar la firma:
- Extraiga la firma de los encabezados HTTP
- Cree un mensaje para firmarlo combinando la versión, la hora de entrega y el cuerpo de la solicitud:
v0:timestamp:body - Calcule la firma HMAC SHA-256 con el secreto de firma.Nota: La firma proporcionada lleva el prefijo
v0=. Actualmente, Frame.io solo tiene esta versión para firmar solicitudes.Asegúrese de añadir este prefijo al principio de la firma calculada. - Haga una comparación.