Ir al contenido principal

Webhooks

Los webhooks son una solución perfecta para mantenerse al día con tus seminarios web. Permiten una comunicación fluida entre diferentes programas.

Escrito por Dewi
Actualizado hoy

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.

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

Diferentes disparadores de webhook.

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

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

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

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

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

  1. Abre Zapier.

  2. Inicia sesión en la 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’, la opción ‘Pick off a Child Key’ te permite elegir si quieres trabajar con todo el payload o una subsección.

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

  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 a los webhooks de Zapier, haz clic en ‘Add trigger’.

  2. Selecciona el disparador deseado para tu webhook.

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

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

  2. Una vez que la prueba sea completa y exitosa, 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 consejos y trucos.

¿Ha quedado contestada tu pregunta?