Webhooks
Los webhooks funcionan como notificaciones, alertando a una aplicación cuando ocurre un evento específico en otra. Este sistema permite una comunicación fluida entre diferentes programas, mejorando la interacción y respuesta en tiempo real.
Webhooks en WebinarGeek
Los webhooks en WebinarGeek están diseñados para ser tus recolectores de información en tiempo real. Actúan como alertas personalizadas que activan acciones específicas basadas en los eventos que ocurren dentro de nuestra aplicación. Por ejemplo, si estás organizando un seminario web y alguien se suscribe, nuestra función de webhook te envía rápidamente un paquete organizado con los datos del suscriptor directamente a la URL que hayas configurado. Esto garantiza que estés actualizado y puedas responder dinámicamente a las interacciones, sin necesidad de comprobar manualmente las actualizaciones constantemente. Nuestros webhooks están aquí para optimizar 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 ayudarte a diferenciar entre tus webhooks en el menú de integraciones. Este campo es obligatorio.
URL
Las URLs para webhooks deben tener un esquema, un host y una ruta. Solo se aceptan URLs HTTPS. Este campo es obligatorio.
URL válida:
https://hooks.zapier.com/hooks
URLs 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 usarse para validar el origen de la solicitud es opcional. Para entender por qué se recomienda usar un secreto, consulta la sección sobre Validación de entregas de webhook. Este campo es opcional.
Encabezados
Content-Type: "application/json"
User-Agent: "WebinarGeek"
ID: ID único del evento
Signature: Este encabezado se envía si el webhook está configurado con un secreto. Es el resumen hexadecimal HMAC del cuerpo de la solicitud, generado usando la función hash SHA-256 y el secreto como clave HMAC.
Payload
El payload del webhook está compuesto por información sobre el evento que desencadena la
solicitud y datos de la entidad con la que está asociado el evento.
Información sobre el evento:
ID: ID del evento
Evento: Nombre del evento
Timestamp: Marca temporal de la solicitud en tiempo UNIX
Tipo de entidad: El tipo de objeto que contiene la clave entidad
Entidad: El objeto con el que está asociado el evento. Actualmente solo soportamos Suscripciones. Nuestros webhooks serializan las Suscripciones de la misma forma que nuestra API:
https://webinargeek.docs.apiary.io/#reference/0/subscriptions/retrieve-a-subscription
A continuación, un ejemplo de cómo se ve 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": {
> ...
> }
> }
¡Atención! El cliente debe ser capaz de responder a solicitudes HEAD.
Validación de entregas de webhook
Cuando tu servidor está configurado para recibir datos, escucha los payloads enviados al endpoint que has establecido. Para asegurarte de que estos payloads son legítimos y no han sido alterados, se recomienda encarecidamente validar sus firmas. Este proceso de validación ayuda a proteger contra fuentes no autorizadas y posibles amenazas de seguridad, como ataques de intermediarios (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 y con alta entropía.
Puedes crear un webhook nuevo con este token o añadirlo a uno existente.
Almacena el token secreto de forma segura:
Guarda el token en un lugar seguro accesible para tu servidor.
Evita codificar el token directamente en el código o exponerlo públicamente de cualquier forma.
Valida los payloads entrantes del webhook:
Cada payload debe venir con una firma hash, que se encuentra en el encabezado ‘Signature’.
Usa tu token secreto para calcular un hash y compáralo con la firma enviada con el payload.
Puntos clave en la validación:
El hash es un resumen hexadecimal HMAC.
La firma comienza con un prefijo como sha256=.
El hash se genera usando el token secreto de tu webhook y el contenido del payload.
Trata el payload como UTF-8, especialmente si contiene caracteres Unicode.
Para la comparación, utiliza métodos seguros como secure_compare o crypto.timingSafeEqual para evitar vulnerabilidades en ataques temporales.
Prueba de la validación del payload del webhook
Puedes usar los siguientes valores de secreto y payload para verificar que tu implementación es correcta:
secret: "It's a secret"
payload: "\"Hello World!\"" (como JSON)
Si tu implementación es correcta, las firmas que generes deberían coincidir con los siguientes valores de firma:
Signature: sha256=a6353e505082e0614d4f1760c1d25e523ee34141bd2d2e5ef1e4648fc1ed128b
Actualizar ajustes 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 disparador dado se pueden encontrar en la página de registros del disparador, a la que se accede a través de un disparador en el menú de integraciones.
Lista de disparadores disponibles
Los siguientes disparadores están disponibles con los webhooks:
Nueva inscripción
Desinscripción del seminario web
Nuevo pago de seminario web
Nuevo espectador
Nuevo espectador en directo
Nuevo espectador en repetición
Nuevo espectador que empieza a ver
No asistencia
Evaluación exitosa
Seminario web finalizado
Emisión cancelada
Nueva pregunta en preguntas y respuestas
Nuevo formulario de evaluación
Nuevo voto en encuesta
Nueva respuesta en cuestionario
Nueva llamada a la acción
Nuevo mensaje en el buzón de preguntas del seminario web
Nueva llamada a la acción específica enviada o clicada
Puedes consultar nuestro artículo ‘Disparadores’ para más información sobre estos disparadores.
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 la 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’, la opción ‘Pick off a Child Key’ te permite elegir si quieres trabajar con todo el payload o una subsección.
Zapier generará una URL destinada a recibir las solicitudes de WebinarGeek. Copia esta URL y guárdala antes de continuar al 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 a los webhooks de Zapier, haz clic en ‘Add trigger’.
Selecciona el disparador deseado para tu webhook.
Haz clic en ‘Add trigger’.
Probar el webhook
Zapier requiere 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 el disparador elegido en WebinarGeek (por ejemplo, si seleccionaste ‘Nueva inscripción’, suscríbete a un seminario web como suscriptor de prueba) y luego vuelve a Zapier.
Finalizar el Zap
De vuelta en Zapier, haz clic en ‘Test trigger’.
Una vez que la prueba sea completa y exitosa, 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 consejos y trucos.

