Saltar al contenido

Webhook

Un webhook es un callback HTTP: un sistema envía una petición POST automática a una URL que tú controlas en cuanto ocurre un evento elegido, en lugar de esperar a que preguntes. Es push, no polling: la fuente envía los datos a medida que ocurren los eventos, así que tu endpoint los recibe en segundos en lugar de tener que consultar cada cierto tiempo.

Actualizado el 2 min de lecturaPor fromHello

Lo esencial

  1. Un webhook es push, no polling: el sistema de origen envía los datos en el instante en que se dispara un evento, así que te ahorras las peticiones constantes de “¿hay algo nuevo?”.

  2. En las plataformas de customer engagement importan dos direcciones: los nodos de salida llaman a sistemas externos en mitad de un journey; los receptores de entrada recogen los eventos que llegan de ellos.

  3. Como cualquiera puede enviar un POST a una URL pública, trata cada carga útil como no fiable: verifica la firma y responde rápido.

¿Cómo funciona un webhook?

Registras una URL (el endpoint) en el sistema que tiene los datos y le indicas qué eventos te interesan. Cuando se dispara uno de esos eventos, ese sistema envía un HTTP POST a tu endpoint con una carga útil que describe lo que pasó, normalmente en JSON. Tu servidor lee la carga útil, hace su trabajo y devuelve un estado 2xx para confirmar la recepción. Ninguna petición tuya lo desencadenó: la fuente actuó por su cuenta. La mayoría de los proveedores firman cada petición para que puedas confirmar que de verdad viene de ellos.

Webhook o polling de la API: ¿qué diferencia hay?

El polling es el modelo pull: tu código pregunta a una API “¿hay algo nuevo?” a intervalos fijos, haya cambiado algo o no. Un webhook es el modelo push: la fuente te llama solo cuando hay algo que contar. El polling desperdicia la mayoría de sus peticiones y añade retraso entre el evento y tu reacción; los webhooks entregan en segundos y, el resto del tiempo, no hacen ruido. La contrapartida es que tu endpoint tiene que ser accesible públicamente y estar preparado para picos de tráfico.

Un webhook y los términos que lo rodean.

¿Cómo usan los webhooks las plataformas de customer engagement?

  • De salida: un nodo webhook dentro de un journey envía un POST a un sistema externo en mitad del flujo: avisar en Slack cuando un lead convierte, sincronizar un estado con tu CRM, lanzar un paso de preparación del pedido.
  • De entrada: un receptor recoge eventos de otras herramientas, como un proveedor de pagos que informa de un cobro completado o una herramienta de formularios que pasa un nuevo lead, para que los perfiles y los journeys reaccionen sin una importación nocturna.
  • Esta conexión en las dos direcciones es lo que permite a una plataforma de customer engagement situarse en el centro de tu stack. Servicios de entrega especializados como Knock se dedican solo a la parte de salida.

Por qué importa para un equipo pequeño

Un equipo de dos personas no puede quedarse consultando si hay cambios, y los cron jobs que comprueban cada pocos minutos añaden retraso y costo. Los webhooks permiten que una herramienta reaccione a otra en cuanto pasa algo, sin que nadie esté vigilando. Dos precauciones: como cualquiera puede enviar un POST a una URL pública, verifica la firma de cada petición y trata el cuerpo como no fiable; y registra los eventos que emites y recibes para que cuadren con tu plan de tracking en lugar de convertirse en un canal paralelo sin seguimiento.

FAQ

Preguntas frecuentes

  • ¿Qué diferencia hay entre un webhook y una API?

    Una API es algo a lo que llamas cuando quieres datos; un webhook es algo que te llama a ti cuando los datos cambian. Se complementan: a menudo usas una API REST para leer o actualizar registros y un webhook para enterarte en el momento en que cambia un registro, sin tener que preguntar una y otra vez.

  • ¿Cómo protejo un endpoint de webhooks?

    Trata cada petición como no fiable. La mayoría de los proveedores firman la carga útil con un secreto compartido: vuelve a calcular la firma y rechaza todo lo que no coincida. Sirve el endpoint por HTTPS y devuelve un 2xx rápido, dejando el trabajo lento para una tarea en segundo plano, para que el remitente no agote el tiempo de espera y reintente.

  • ¿Qué pasa si mi endpoint está caído cuando se dispara un webhook?

    La mayoría de los proveedores reintentan las entregas fallidas con esperas crecientes durante un tiempo y luego se rinden, así que una caída breve no suele ser grave. Aun así, los reintentos no están garantizados para siempre: haz que tu handler sea idempotente, porque el mismo evento puede llegar más de una vez, y concilia con la API de origen todo lo que no te puedas permitir perder.

  • ¿Tengo que desarrollar algo para recibir webhooks?

    Necesitas una URL HTTPS accesible públicamente que acepte peticiones POST y devuelva un 2xx. Para los webhooks de entrada en una plataforma de customer engagement, ese receptor suele venir integrado: pegas tu URL en la herramienta que envía. Para las llamadas de salida, el nodo webhook de un journey hace el envío por ti.

fromHello es software de automatización de marketing de código abierto: mensajes activados por lo que hace la gente.

fromHello Cloud está en acceso anticipado a través de la lista de espera.

Acceso anticipado

fromHello Cloud

Nadie emprende para quedarse pequeño.

El acceso anticipado a fromHello Cloud se abre por etapas. El onboarding es personalizado: te ayudamos a configurarlo y a traer tus contactos.

Te escribiremos cuando se abra tu plaza. Sin spam.

¿Aún no quieres unirte? Ver en GitHub