Webhooks
Los webhooks funcionan como notificaciones: alertan a una aplicación cuando se produce un evento específico en otra. Este sistema permite una comunicación fluida entre distintos programas y mejora la interacción y la capacidad de respuesta en tiempo real.
Webhooks en WebinarGeek
Los webhooks de WebinarGeek están diseñados para proporcionarte información en tiempo real. Funcionan como alertas personalizadas que activan acciones específicas en función de los eventos que se producen en nuestra aplicación. Por ejemplo, si organizas un webinar y alguien se suscribe, nuestra función de webhooks te envía de inmediato un paquete bien organizado con los datos del suscriptor directamente a la URL que hayas configurado. Así te mantienes al día y puedes responder de forma dinámica a las interacciones, sin necesidad de comprobar manualmente si hay actualizaciones. Nuestros webhooks están aquí para agilizar tu flujo de trabajo y mantenerte conectado con lo que más importa en tu aplicación.
Crear una integración de webhook
Etiqueta personalizada
Añade una etiqueta personalizada a un webhook para diferenciarlo de tus otros webhooks en el menú de integraciones. Este campo es obligatorio.
URL
Las URL de los webhooks deben tener un esquema, un host y una ruta. Solo se aceptan URL HTTPS. Este campo es obligatorio.
URL válida:
https://hooks.zapier.com/hooks
URL no válidas:
hooks.zapier.com/ (falta el esquema)
https://.com/ (falta el host)
https://hooks.zapier.com/ (falta la ruta)
http://hooks.zapier.com/hooks (http en lugar de https)
Secreto
Configurar el webhook con un secreto que pueda utilizarse para validar el origen de la solicitud es opcional. Para entender por qué se recomienda usar un secreto, consulta la sección Validar entregas de webhooks. Este campo es opcional.
Encabezados
Content-Type: "application/json"
User-Agent: "WebinarGeek”
ID: ID único del evento
Signature: Esta cabecera se envía si el webhook está configurado con un secreto. Es el resumen hexadecimal HMAC del cuerpo de la solicitud y se genera mediante la función hash SHA-256 y el secreto como clave HMAC.
Payload
El payload del webhook se compone de información sobre el evento que desencadena la
solicitud y de datos de la entidad con la que está asociado el evento.
Información sobre el evento:
ID: ID del evento
Event: Nombre del evento
Timestamp: Marca temporal de la solicitud en tiempo UNIX
Entity Type: El tipo de objeto que contiene la clave entity
Entity: El objeto al que está asociado el evento. Actualmente solo admitimos Subscriptions. Nuestros webhooks serializan las Subscriptions de la misma forma que nuestra API:
https://webinargeek.docs.apiary.io/#reference/0/subscriptions/retrieve-a-subscription
A continuación tienes un ejemplo de cómo es una solicitud.
POST /payload HTTP/2
> Content-Type: application/json
> User-Agent: WebinarGeek
> ID: 11111111
> Signature: sha256=d57c68ca6f92289e6987922ff26938930f6e66a2d
> {
> "id": "2222222",
> "event": "webinar_subscribed",
> "timestamp": 1238716248712,
> "entity_type": "Subscription"
> "entity": {
> ...
> }
> }
¡Importante! El cliente debe poder responder a solicitudes HEAD.
Validar entregas de webhooks
Cuando tu servidor está configurado para recibir datos, escucha los payloads enviados al endpoint que hayas definido. Para asegurarte de que estos payloads son legítimos y no se han modificado, te recomendamos encarecidamente validar sus firmas. Este proceso de validación ayuda a proteger frente a fuentes no autorizadas y posibles amenazas de seguridad, como los ataques man-in-the-middle.
Pasos para la validación
Crea un token secreto para tu webhook:
Este token debe ser una cadena de texto aleatoria con alta entropía.
Puedes crear un webhook nuevo con este token o añadirlo a uno existente.
Guarda el token secreto de forma segura:
Guarda el token en un lugar seguro al que tu servidor pueda acceder.
Evita incrustarlo en el código o exponerlo públicamente de cualquier forma.
Valida los payloads entrantes del webhook:
Cada payload debe incluir una firma hash en la cabecera ‘Signature’.
Usa tu token secreto para calcular un hash y compáralo con la firma enviada con el payload.
Aspectos clave de la validación:
El hash es un resumen hexadecimal HMAC.
La firma comienza con un prefijo como sha256=.
El hash se genera utilizando el token secreto de tu webhook y el contenido del payload.
Trata el payload como UTF-8, sobre todo si contiene caracteres Unicode.
Para compararlo, usa métodos seguros como secure_compare o crypto.timingSafeEqual para evitar vulnerabilidades en ataques de temporización.
Probar la validación del payload del webhook
Puedes usar los siguientes valores de secreto y payload para comprobar que tu implementación es correcta:
secret: "It's a secret"
payload: "\"Hello World!\"" (as JSON)
Si tu implementación es correcta, las firmas que generes deberían coincidir con los siguientes valores de firma:
Signature: sha256=a6353e505082e0614d4f1760c1d25e523ee34141bd2d2e5ef1e4648fc1ed128b
Actualizar la configuración del webhook
La etiqueta personalizada, la URL y el secreto de una integración de webhook activa pueden editarse desde el menú de integraciones.
Registros de eventos de webhook activados
Los registros de todos los eventos activados para un activador determinado pueden encontrarse en la página de registro del activador, a la que se accede desde un activador del menú de integraciones.
Lista de activadores disponibles
Los siguientes activadores están disponibles con Webhooks:
Nuevo registro
Cancelación de suscripción al webinar
Nuevo pago del webinar
Nuevo espectador
Nuevo espectador en directo
Nuevo espectador de la repetición
Un nuevo espectador ha empezado a ver el webinar
Ausencia
Evaluación completada correctamente
Webinar finalizado
Emisión cancelada
Nueva pregunta en Preguntas y respuestas
Nuevo formulario de evaluación
Nuevo voto en la encuesta
Nueva respuesta del cuestionario
Nueva llamada a la acción
Nuevo mensaje en el cuadro de preguntas del webinar
Se envía o se hace clic en una nueva llamada a la acción específica
Puedes consultar nuestro artículo sobre ‘Triggers’ para obtener más información sobre estos activadores.
Usar Zapier para tu integración de webhook
Crear un webhook para transferir información sobre un evento de WebinarGeek a Zapier te permite conectar fácilmente tu cuenta de WebinarGeek con más de 6000 aplicaciones. El proceso se explica a continuación.
Crear un Zap
Abre Zapier.
Inicia sesión en el sitio web o crea una cuenta si aún no tienes una.
Haz clic en ‘Create’ > ‘Zaps’.
Haz clic en ‘Trigger’.
Busca ‘Webhooks’ y selecciona ‘Webhooks by Zapier’.
En ‘Event’, selecciona ‘Catch Hook’ para trabajar solo con el payload (recomendado) o ‘Catch Raw Hook’ si quieres usar los encabezados y el payload (avanzado).
Si usas ‘Catch Raw Hook’, ‘Pick off a Child Key’ te permite elegir si quieres trabajar con todo el payload o con una subsección.
Zapier generará una URL destinada a recibir las solicitudes de WebinarGeek. Copia esta URL y guárdala en algún lugar antes de continuar con el siguiente paso.
Conectar el webhook en WebinarGeek
Abre WebinarGeek e inicia sesión en tu cuenta.
Ve a ‘Account’ > ‘Integrations’.
Selecciona ‘Webhooks’ y pega la URL de Zapier en el campo URL.
Pulsa ‘Connect’.
Crear el webhook
Después de conectar WebinarGeek con los webhooks de Zapier, haz clic en ‘Add trigger’.
Selecciona el activador que quieras para tu webhook.
Haz clic en ‘Add trigger’.
Probar el webhook
Zapier necesita un registro de prueba para configurar qué debe hacer con el payload. Por eso tendremos que activar el webhook una vez antes de continuar.
Completa en WebinarGeek el activador que hayas elegido (por ejemplo, si seleccionaste ‘New registration’, suscríbete a un webinar como suscriptor de prueba) y vuelve después a Zapier.
Finalizar el Zap
De vuelta en Zapier, haz clic en ‘Test trigger’.
Cuando la prueba se haya completado correctamente, haz clic en ‘Continue with the selected record’.
Selecciona qué software debe recibir los datos del webhook.
¡El resto del Zap depende de ti! Asegúrate de consultar nuestra documentación de Zapier para ver consejos y trucos.

