Ir al contenido principal

Webhooks

Los webhooks son la solución perfecta para estar al día de tus webinars. Permiten una comunicación fluida entre distintos programas.

Escrito por Dewi

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 no válidas:

hooks.zapier.com/ (falta el esquema)

https://.com/ (falta el host)

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.

Diferentes activadores de webhook.

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:

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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. Abre Zapier.

  2. Inicia sesión en el sitio web o crea una cuenta si aún no tienes una.

  3. Haz clic en ‘Create’ > ‘Zaps’.

  4. Haz clic en ‘Trigger’.

  5. Busca ‘Webhooks’ y selecciona ‘Webhooks by Zapier’.

  6. 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).

    1. 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.

  7. 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

  1. Abre WebinarGeek e inicia sesión en tu cuenta.

  2. Ve a ‘Account’ > ‘Integrations’.

  3. Selecciona ‘Webhooks’ y pega la URL de Zapier en el campo URL.

  4. Pulsa ‘Connect’.

Crear el webhook

  1. Después de conectar WebinarGeek con los webhooks de Zapier, haz clic en ‘Add trigger’.

  2. Selecciona el activador que quieras para tu webhook.

  3. 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

  1. De vuelta en Zapier, haz clic en ‘Test trigger’.

  2. Cuando la prueba se haya completado correctamente, haz clic en ‘Continue with the selected record’.

  3. 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.

¿Ha quedado contestada tu pregunta?