Saltar al contenido principal

términos del glosario

Webhook

Categoría
AI Engineering & Protocols
Dificultad
Intermedio

Definición

Un webhook es una devolución de llamada HTTP ligera y basada en eventos que permite a un sistema enviar datos en tiempo real a otra aplicación automáticamente cuando ocurre un evento específico.

Cómo funciona y contexto

Los webhooks funcionan como un 'mensajero automatizado' en la arquitectura de software. A diferencia de las API tradicionales que requieren que un cliente solicite datos repetidamente (sondeo), un webhook espera un disparador específico —como la finalización de una inferencia de un modelo de IA o una actualización de base de datos— y luego envía inmediatamente una solicitud HTTP POST que contiene la carga útil a una URL preconfigurada. En la ingeniería de IA, esto es fundamental para los flujos de trabajo asíncronos. Por ejemplo, cuando termina una tarea de video generativo de larga duración, el servicio de IA utiliza un webhook para notificar a la aplicación del usuario, permitiendo que el sistema permanezca receptivo sin desperdiciar recursos computacionales en la verificación de actualizaciones de estado. Aunque son altamente eficientes, los webhooks requieren un manejo de errores y medidas de seguridad robustos, como la verificación de firmas, para garantizar que los datos entrantes sean auténticos y que el punto final receptor pueda manejar ráfagas repentinas de tráfico.

Por qué es importante

Los webhooks son esenciales para construir tuberías de IA receptivas y basadas en eventos. Permiten que los servicios de IA se integren perfectamente en ecosistemas de software más grandes al activar acciones posteriores —como enviar un correo electrónico, actualizar un panel o iniciar un análisis secundario— inmediatamente después de completar una tarea. Esta arquitectura reduce la latencia, minimiza la carga innecesaria del servidor y permite la creación de flujos de trabajo automatizados complejos que reaccionan instantáneamente a las salidas generadas por la IA.

Ejemplo real

Imagina una plataforma de comercio electrónico que utiliza un servicio de moderación de imágenes basado en IA. Cuando un usuario sube una foto de un producto, la plataforma la envía al servicio de IA para su análisis. En lugar de que la plataforma pregunte constantemente al servicio de IA si el análisis está terminado, el servicio de IA envía un webhook al servidor de la plataforma en el momento en que el resultado de la moderación está listo. Esto activa a la plataforma para publicar la imagen o marcarla para revisión al instante.

Errores frecuentes

  • No implementar la verificación de firmas, lo que deja al punto final receptor vulnerable a solicitudes maliciosas suplantadas.
  • Asumir que la entrega está garantizada; los webhooks pueden fallar, por lo que se requiere una lógica de reintento robusta e idempotencia.
  • Sobrecargar el servidor receptor al no implementar límites de tasa o procesamiento asíncrono para las cargas útiles de webhook entrantes.
  • Usar webhooks para flujos de datos de alta frecuencia donde una conexión persistente como WebSockets sería más apropiada.

Preguntas frecuentes

¿En qué se diferencian los webhooks de las API?

Las API suelen basarse en solicitud-respuesta, donde el cliente inicia la comunicación para obtener datos. Los webhooks están basados en eventos y en el envío (push), donde el servidor inicia la comunicación para enviar datos al cliente tan pronto como ocurre un evento.

¿Son seguros los webhooks?

Los webhooks no son inherentemente seguros porque envían datos a una URL pública. La seguridad se logra mediante el uso de HTTPS, la validación de firmas de solicitud (a menudo a través de una clave secreta compartida) y asegurando que el punto final receptor solo acepte solicitudes de direcciones IP confiables.

¿Qué sucede si mi servidor está caído cuando se envía un webhook?

Si su servidor no está accesible, la entrega del webhook fallará. La mayoría de los servicios de IA profesionales implementan políticas de reintento, donde intentan reenviar el webhook a intervalos crecientes. Es una buena práctica diseñar su sistema para que sea idempotente, de modo que las entregas duplicadas no causen errores.