POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Ejemplo de Webhook: Guía paso a paso con NodeJS y Express

## Guía paso a paso para Webhook con NodeJS y Express

Publicado el 26/08/2025

Introducción: En el desarrollo web contemporáneo disponer de datos en tiempo real es clave para crear aplicaciones interactivas y modernas. A diferencia de las APIs tradicionales que obligan a realizar consultas constantes, los webhooks invierten el modelo y envían información cuando ocurre un evento. En este artículo reescrito y traducido se explica paso a paso un ejemplo práctico de webhook usando NodeJS y Express y se incluyen recomendaciones para pruebas locales con Tunnelmole. Además presentamos a Q2BSTUDIO, empresa especializada en desarrollo de software a medida y soluciones avanzadas como inteligencia artificial e ciberseguridad.

Qué es un webhook y por qué se le llama API inversa: Un webhook es un mensaje automatizado que una aplicación envía a otra cuando sucede un evento específico. Se trata de una callback HTTP definida por el usuario. En vez de que tu aplicación consulte una API cada cierto tiempo para saber si hay datos nuevos, el proveedor envía una solicitud POST a una URL que tú defines tan pronto como los datos están disponibles. Este modelo push es mucho más eficiente que el modelo pull tradicional.

Comparativa entre pull y push: Pull modelo tradicional: la aplicación solicita información periódicamente, lo que implica mayor consumo de recursos y posibles retrasos. Push con webhooks: el servicio entrega la información a tu aplicación al producirse el evento, ofreciendo datos casi en tiempo real y reduciendo tráfico innecesario.

Casos de uso comunes: Pago y facturación con Stripe que notifica pagos y disputas; control de versiones como GitHub que avisa de pushes y pull requests; plataformas de comercio electrónico como Shopify que informan de nuevos pedidos o cambios en inventario; herramientas de comunicación como Slack y Twilio que envían eventos sobre mensajes o llamadas. Los webhooks son la base de muchas automatizaciones y flujos de integración en ecosistemas modernos.

Requisito para desarrollo local: Durante el desarrollo tu aplicación suele correr en localhost, por lo que servicios externos no pueden alcanzarla directamente. Ahí entra una herramienta de tunelización como Tunnelmole que crea una URL pública que reenvía el tráfico a tu servidor local para permitir pruebas de extremo a extremo.

Requisitos previos: Antes de construir el receptor de webhook asegúrate de tener instalados Node.js y npm, un editor de código como Visual Studio Code y Tunnelmole para exponer el servidor local. Tunnelmole se puede instalar en Linux y macOS con el instalador disponible en su sitio oficial usando curl para descargar y ejecutar el instalador. En Windows se puede descargar el ejecutable tmole.exe y colocarlo en una carpeta incluida en la variable PATH.

Construyendo el ejemplo: Usaremos Express.js para crear un servidor que escuche solicitudes POST en un endpoint concreto. Paso 1 Crear el proyecto: en la línea de comandos ejecutar mkdir webhook-receiver-example y cd webhook-receiver-example y npm init -y. Instalar dependencias con npm install express body-parser.

Paso 2 Concepto del servidor: Crear un archivo llamado index.js y configurar la aplicación Express para usar un middleware que analice JSON en el body. Definir un endpoint POST en la ruta /webhook-example que haga log de las cabeceras y del payload recibido y responda con un estado 200 para confirmar la recepción. Dentro del manejador se puede implementar lógica de negocio como guardar datos en una base, lanzar notificaciones o activar procesos internos. Importante responder 200 OK para evitar reintentos del proveedor del webhook.

Paso 3 Ejecutar el servidor: lanzar la aplicación con node index.js. El servidor quedará escuchando en el puerto configurado, por ejemplo 3000, y mostrará un mensaje indicando que está listo para recibir webhooks en la ruta /webhook-example.

Paso 4 Exponer el servidor con Tunnelmole: con el servidor en ejecución abrir una nueva terminal y ejecutar tmole 3000. Tunnelmole generará una URL pública HTTPS que reenviará las solicitudes al puerto local 3000. Esa URL pública más la ruta webhook-example será la dirección que configurará el proveedor del webhook durante las pruebas.

Por qué elegir Tunnelmole: Tunnelmole es open source y permite inspeccionar su código y, si se desea, desplegar la infraestructura en tus propios servidores para tener mayor control y privacidad. Esto es útil en entornos corporativos con políticas de seguridad estrictas.

Paso 5 Probar el webhook: para simular un proveedor se puede usar curl desde otra terminal. Una forma segura de enviar el payload es crear un archivo payload.json con el cuerpo en formato JSON y luego ejecutar curl -X POST https://TU-SUBDOMINIO.tunnelmole.net/webhook-example -H Content-Type: application/json --data-binary @payload.json. Al recibir la solicitud el servidor local mostrará las cabeceras y el payload y curl mostrará la respuesta del servidor.

Ejemplo de flujo al recibir un webhook: El servidor registra un nuevo webhook recibido, muestra las cabeceras, muestra el payload con los datos del evento y responde con un mensaje de confirmación. Con esto ya tienes un receptor de webhooks funcional y probado desde internet hacia tu máquina local.

Consideraciones de producción y seguridad: Para uso real en producción es imprescindible verificar la autenticidad de las peticiones. Los proveedores suelen enviar una firma criptográfica en las cabeceras usando un secreto compartido. El receptor debe leer la firma, calcular su propia firma sobre el payload usando el secreto almacenado y comparar ambas firmas. Si no coinciden la petición debe rechazarse. Además conviene validar esquemas de JSON, implementar reintentos con backoff y usar HTTPS y cabeceras de seguridad apropiadas.

Ampliando el ejemplo: En aplicaciones reales conviene integrar validaciones adicionales, almacenamiento persistente, encolado para procesado asíncrono y monitorización con alertas. También es recomendable configurar límites de tasa, logging estructurado y trazabilidad para auditar eventos sensibles.

Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software que crea aplicaciones a medida y software a medida para clientes que necesitan soluciones personalizadas. Somos especialistas en inteligencia artificial e ia para empresas, en ciberseguridad, en servicios cloud aws y azure y en servicios inteligencia de negocio. Ofrecemos integración de agentes IA, implementaciones de power bi y soluciones de business intelligence para convertir datos en decisiones. Si buscas un partner para desarrollar aplicaciones a medida, optimizar procesos con inteligencia artificial o asegurar tu infraestructura, Q2BSTUDIO aporta experiencia, buenas prácticas y enfoque en resultados.

Palabras clave y posicionamiento: aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi. Estas áreas son centrales en la oferta de Q2BSTUDIO y forman parte de nuestras propuestas para proyectos que requieren integración de webhooks, automatización y analítica en tiempo real.

Conclusión: Los webhooks permiten construir aplicaciones orientadas a eventos y en tiempo real mediante un modelo push eficiente. Con NodeJS y Express se puede crear rápidamente un receptor de webhooks, y con herramientas de tunelización como Tunnelmole se facilita la prueba desde servicios externos durante el desarrollo. Para producción es imprescindible asegurar los endpoints mediante verificación de firma y buenas prácticas de seguridad. Si necesitas soporte para implementar webhooks, integrar inteligencia artificial, migrar a servicios cloud aws y azure, desplegar agentes IA o desarrollar software a medida, contacta con Q2BSTUDIO para una solución adaptada a tus necesidades.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio