Los webhooks son mensajes automatizados que envía una aplicación cuando ocurre un evento específico. Permiten que diferentes sistemas se comuniquen directamente entre sí sin intervención manual. Un webhook es esencialmente una devolución de llamada HTTP: una solicitud HTTP POST que se envía automáticamente a una URL preconfigurada cuando ocurre un evento. Estos eventos pueden ser, por ejemplo: un nuevo pedido en una tienda online, la cumplimentación de un formulario de contacto, el procesamiento de un pago, un cambio en los niveles de stock o una actualización en un sistema CRM. Los webhooks son especialmente útiles cuando se desea que los sistemas respondan automáticamente a eventos en otros sistemas, sin tener que comprobar constantemente si algo ha cambiado.
El proceso de creación de un webhook sigue unos pasos básicos:
1. Primero, se realiza la configuración. Una aplicación (el remitente) ofrece la posibilidad de configurar webhooks. Se especifica la URL a la que se enviarán los webhooks o los mensajes y se seleccionan los eventos que deben activar un mensaje.
2. A continuación, se realiza el registro. Para registrar el webhook, se guarda esta configuración en la aplicación de envío.
3. A continuación, se realiza la detección de eventos. Cuando ocurre un evento relevante en la aplicación emisora, se activa el webhook.
4. A continuación, se realiza el envío. La aplicación envía automáticamente una solicitud HTTP POST a la URL configurada con información sobre el evento en formato JSON o XML.
5. A continuación, se realiza la recepción y el procesamiento. El servidor receptor (el «receptor») recibe el mensaje y procesa los datos según su propia lógica.
6. Finalmente, está el acuse de recibo. El receptor suele enviar un código de estado HTTP para confirmar la recepción del mensaje.
Por ejemplo, cuando un cliente realiza un pedido en una tienda Shopify, Shopify puede enviar un mensaje de webhook a su servidor con todos los detalles del pedido. Su servidor puede procesar estos datos, por ejemplo, añadiéndolos a un sistema CRM o utilizándolos para el seguimiento de conversiones. Para más información sobre el funcionamiento de los webhooks, consulte el siguiente artículo .
La tecnología detrás de los webhooks es gratuita, el concepto es abierto y no tiene costos de licencia. Se trata simplemente de un método de comunicación que utiliza protocolos HTTP estándar. Sin embargo, la implementación y el desarrollo de la funcionalidad de los webhooks pueden conllevar costos. La infraestructura de servidor necesaria para procesarlos, así como el tráfico y el tiempo de servidor para grandes volúmenes de mensajes de webhooks, también pueden generar costos. La mayoría de las plataformas y servicios, como Shopify, WooCommerce, Stripe, PayPal y GitHub, ofrecen webhooks sin costo adicional. Sin embargo, algunos servicios pueden limitar la cantidad de webhooks o el volumen de mensajes en ciertos planes. Lea más sobre los costos de los webhooks .
Los webhooks y las API son conceptos relacionados, pero funcionan de forma fundamentalmente diferente. Una API (Interfaz de Programación de Aplicaciones) funciona según el principio de "extracción". El sistema solicita datos activamente. Es necesario comprobar periódicamente si hay nueva información. La comunicación se inicia. Un webhook, en cambio, funciona según el principio de "envío". Los datos se envían automáticamente cuando ocurre algo. No es necesario comprobar si hay nueva información. La aplicación externa inicia la comunicación. Un webhook puede considerarse una "API inversa" o un tipo específico de implementación de API donde la dirección de la comunicación se invierte. En lugar de preguntar constantemente "¿Hay algo nuevo?", el webhook indica "¡Oye, ha ocurrido algo nuevo!". Lee más sobre la diferencia entre webhooks y una API aquí .
En AdPage, utilizamos webhooks específicamente para el seguimiento de conversiones en comercio electrónico. Los utilizamos para enviar una solicitud HTTP desde el backend de una tienda online a un contenedor de servidor cuando se crea un pedido. Esto supone una mejora significativa con respecto a los métodos de medición tradicionales que se basan en la carga de la página de agradecimiento. Algunos competidores configuran webhooks desde esta página de agradecimiento, pero esto y el seguimiento estándar a través del frontend de una tienda online presentan desventajas significativas:
1. En primer lugar, existen problemas de medición. No todos los usuarios llegan a la página de agradecimiento, lo que significa que no se puede medir la conversión de compra.
2. Además, existen problemas de atribución. Asignar correctamente las conversiones al usuario y la fuente correctos es difícil al medirlas mediante la página de agradecimiento. Esto se debe a que, si un visitante completa su recorrido de compra, por ejemplo, en Google Chrome, y su aplicación de pago abre el navegador predeterminado, que puede ser diferente, la conversión de compra no se asignará a la fuente original correcta.
3. Finalmente, hay retrasos. La página de agradecimiento no se carga hasta que el pedido se procesa por completo. Además, solo se puede medir la compra una vez que se hayan cargado toda la página y todos los scripts.
Al implementar webhooks directamente desde el backend, podemos registrar cada pedido, independientemente del comportamiento del usuario después del pedido. Recibimos todos los datos relevantes del pedido para una atribución precisa y obtenemos información en tiempo real sobre las conversiones. Incluso si su cliente ha rechazado las cookies, puede enviar los datos de comercio electrónico a GA4, pero no enviará ninguna información personal identificable (PII). Para más información sobre los webhooks de AdPage, consulte este artículo del blog .
Los webhooks también presentan desventajas. Si el servidor receptor está desconectado, la información se pierde sin posibilidad de recuperación. La seguridad es un desafío, ya que los endpoints deben ser de acceso público. La resolución de problemas es compleja debido a la comunicación asíncrona, lo que dificulta la detección de errores. Los webhooks solo funcionan con una conexión a internet estable y pueden ralentizarse con tráfico alto. Ofrecen pocas opciones para búsquedas complejas o filtros. Para los desarrolladores, esto supone un trabajo adicional en la gestión de errores, los reintentos y la seguridad, además de que suele haber poca documentación disponible. Por eso es importante trabajar con alguien que ya haya resuelto estos problemas y que supervise todo por usted.
Los webhooks utilizan el protocolo HTTP, generalmente en forma de solicitudes HTTP POST. La aplicación emisora envía datos mediante este protocolo a una URL predefinida. La información suele enviarse en formato JSON o XML, según la preferencia del servicio que ofrece el webhook. El servidor receptor acusa recibo con un código de estado HTTP, como 200 OK. Algunas implementaciones también admiten la comunicación segura mediante HTTPS para una mayor seguridad de los datos.
Un endpoint es un punto de entrada URL dentro de una API que recibe y procesa solicitudes. Actúa como destino para la comunicación entre los sistemas. Un webhook, por otro lado, es una URL específica de la API que recibe información en tiempo real o cambios de estado cuando ocurre un evento en otra aplicación. La principal diferencia radica en el comportamiento: los endpoints esperan pasivamente el envío de solicitudes, mientras que los webhooks envían datos activamente a una dirección predefinida cuando se activa un disparador.
Una URL de enlace es la dirección web específica a la que se envían los mensajes del webhook. Esta URL actúa como punto de destino donde la aplicación emisora envía automáticamente los datos cuando ocurre un evento determinado. La URL de enlace debe estar preconfigurada en la aplicación emisora y ser accesible desde internet.