emailr_
Todos los artículos
explainer·9 min

Qué son los webhooks de email y cómo usarlos

trackingwebhooksevents

Resumen

Los webhooks de email notifican a tu aplicación en tiempo real cuando ocurren eventos de correo—entregas, aperturas, clics, bounces, complaints. Son esenciales para construir sistemas de email que reaccionen al comportamiento del destinatario.

Envías un email. ¿Y luego qué? Antes, tocaba esperar y cruzar dedos. Quizá revisar tu panel de analítica mañana. Quizá nunca saber si el email se entregó, se abrió, o rebotó al vacío.

Los webhooks cambiaron esto. Ahora, en el momento en que pasa algo con tu email—se entrega, hace bounce, alguien lo abre, alguien hace clic en un enlace, alguien lo marca como spam—tu aplicación puede saberlo de inmediato y responder en consecuencia.

Este bucle de retroalimentación en tiempo real convierte el email de un canal de fire-and-forget en un sistema interactivo y sensible. Pero los webhooks también introducen complejidad: necesitas manejarlos de forma confiable, procesarlos con eficiencia y construir sistemas que respondan apropiadamente a cada tipo de evento.

Cómo funcionan los webhooks de email

El concepto es simple: cuando ocurre un evento, tu servicio de email realiza una solicitud HTTP a una URL que tú especificas, incluyendo datos sobre el evento. Tu servidor recibe esta solicitud, procesa los datos y responde.

Los detalles de implementación varían según el proveedor, pero el patrón es consistente. Configuras un webhook endpoint en el dashboard o la API de tu servicio de email. Especificas qué eventos quieres recibir. Cuando esos eventos ocurren, el servicio envía solicitudes POST a tu endpoint con payloads JSON que describen lo sucedido.

Un payload típico de webhook incluye: el tipo de evento (delivered, opened, clicked, bounced, etc.), una marca de tiempo, el message ID, la dirección del destinatario y datos específicos del evento (como qué enlace se clicó, o qué error de bounce ocurrió).

Tu endpoint debe responder rápido—normalmente en unos segundos—con un código de estado 2xx para reconocer la recepción. Si no respondes a tiempo, o respondes con un error, la mayoría de proveedores reintentará el webhook. Tras fallos repetidos, pueden desactivar tu endpoint.

Eventos comunes de webhooks

Los diferentes servicios de email ofrecen distintos tipos de eventos, pero la mayoría incluye estos eventos clave:

Los eventos de entrega te indican que el email llegó al servidor de correo del destinatario. Esto no significa que haya llegado a la bandeja de entrada—podría estar en spam—pero no fue rechazado de plano. La confirmación de entrega es tu métrica básica de éxito.

Los eventos de bounce indican un fallo de entrega. Los hard bounces significan que la dirección es inválida de forma permanente. Los soft bounces son fallos temporales. El webhook normalmente incluye el motivo del bounce, lo que te ayuda a diagnosticar y responder adecuadamente.

Los eventos de apertura se disparan cuando un destinatario abre tu email (técnicamente, cuando carga el píxel de seguimiento). Las aperturas son imperfectas—el bloqueo de imágenes impide el tracking, y los paneles de vista previa pueden generar aperturas falsas—pero siguen siendo útiles para medir el engagement.

Los eventos de clic te indican cuando alguien hace clic en un enlace dentro de tu email. Normalmente recibirás la URL específica clicada, lo que te permite rastrear qué contenido resuena y qué llamados a la acción convierten.

Los eventos de complaint son críticos. Cuando un destinatario marca tu email como spam, necesitas saberlo de inmediato. Altas tasas de complaint dañan tu reputación, así que querrás suprimir a estos destinatarios de futuros envíos.

Los eventos de unsubscribe te notifican cuando alguien se da de baja. Incluso si tu servicio de email gestiona la lista, quizá quieras sincronizar estos datos con tu CRM o disparar otros flujos.

Construir manejadores de webhooks fiables

La confiabilidad de los webhooks es crucial. Si pierdes eventos, tus datos se vuelven inconsistentes. Si tu manejador es lento, tendrás timeouts y reintentos. Si no manejas duplicados, procesarás eventos varias veces.

La primera regla es responder rápido. No hagas procesamiento pesado en el propio manejador del webhook. Acepta el webhook, almacena el payload sin procesar en una queue y devuelve una respuesta 200. Procesa el payload de forma asíncrona desde la queue. Esto mantiene tu tiempo de respuesta bajo y te permite manejar fallos de procesamiento sin perder eventos.

Espera y maneja duplicados. Los webhooks pueden entregarse más de una vez—problemas de red, reintentos, bugs del proveedor. Tu manejador debe ser idempotente: procesar el mismo evento dos veces debe tener el mismo resultado que procesarlo una. Usa el event ID o el message ID para detectar duplicados.

Verifica la autenticidad del webhook. La mayoría de proveedores firma sus webhooks con una clave secreta, permitiéndote verificar que la solicitud realmente proviene de ellos. Siempre valida las firmas en producción—sin esto, cualquiera podría enviar eventos falsos a tu endpoint.

Maneja los fallos con elegancia. Si tu base de datos está caída, no podrás procesar el webhook. Devuelve un error 5xx para que el proveedor reintente más tarde. Registra los fallos para su investigación. Configura alertas ante fallos sostenidos de procesamiento de webhooks.

Qué hacer con los datos de los webhooks

Recolectar webhooks no sirve de nada si no actúas sobre ellos. Así conviertes los datos de webhooks en valor:

Actualiza tus registros en tiempo real. Cuando un email hace bounce, marca esa dirección como inválida en tu base de datos inmediatamente. Cuando alguien se da de baja, actualiza sus preferencias. Cuando entra una complaint, suprime a ese destinatario. Las actualizaciones en tiempo real evitan que sigas enviando a direcciones problemáticas.

Dispara flujos basados en el engagement. ¿Alguien clicó un enlace a tu página de precios? Tal vez dispara una notificación de ventas. ¿Alguien abrió tu email de onboarding? Muévelo a la siguiente etapa de tu secuencia. Los webhooks habilitan comunicación reactiva, basada en el comportamiento.

Construye puntuaciones de engagement. Rastrea aperturas y clics en el tiempo para identificar a tus suscriptores más comprometidos. Envía tu mejor contenido a usuarios con engagement; re-activa o retira a los inactivos. Los datos de webhooks son la base de una segmentación sofisticada.

Monitorea la entregabilidad en tiempo real. Un pico repentino de bounces puede indicar un problema de lista o del proveedor. Tasas crecientes de complaints son una señal temprana de daño reputacional. Los datos de webhooks te permiten detectar problemas antes de que se conviertan en crisis.

Alimenta la analítica y los informes. Agrega los datos de webhooks para entender el rendimiento de las campañas, seguir tendencias en el tiempo e identificar qué funciona. Datos en tiempo real significan insights en tiempo real.

Cosas a tener en cuenta con los webhooks

Algunas trampas comunes confunden a desarrolladores nuevos en webhooks de email:

El tracking de aperturas no es confiable. Muchos clientes de email bloquean los píxeles de seguimiento por defecto. Mail Privacy Protection de Apple preobtiene píxeles, generando aperturas falsas. Usa los datos de apertura de forma direccional, no como verdad absoluta.

Los eventos pueden llegar fuera de orden. Un evento de clic puede llegar antes que el evento de apertura correspondiente, o incluso antes del evento de entrega. No asumas orden cronológico; usa timestamps y maneja los eventos de forma independiente.

El volumen de webhooks puede ser masivo. Si envías millones de emails, recibirás millones de eventos de webhook. Planifica tu infraestructura en consecuencia. Considera muestrear o agregar si no necesitas cada evento individual.

Abundan peculiaridades específicas del proveedor. Cada servicio de email tiene su propio formato de webhook, tipos de eventos, lógica de reintentos y método de autenticación. Si cambias de proveedor, tendrás que actualizar tu código de manejo de webhooks.

Prueba a fondo antes de salir a producción. La mayoría de proveedores ofrece herramientas de prueba de webhooks o entornos sandbox. Úsalas. Un bug en tu manejador de webhooks puede causar pérdida de datos o inestabilidad del sistema.

Frequently asked questions

¿Qué tan rápido llegan los webhooks después de un evento?

Por lo general dentro de segundos a minutos. Los eventos de entrega y de bounce suelen ser los más rápidos. Los eventos de apertura y clic dependen del comportamiento del destinatario. Algunos proveedores agrupan webhooks por eficiencia, añadiendo ligeras demoras.

¿Qué pasa si mi endpoint de webhook está caído?

La mayoría de proveedores reintenta los webhooks fallidos con backoff exponencial—de inmediato, luego tras minutos, luego horas. Tras suficientes fallos (varía por proveedor), pueden desactivar tu endpoint. Monitorea la disponibilidad de tu endpoint.

¿Puedo volver a reproducir los webhooks que se perdieron?

Algunos proveedores ofrecen logs de webhooks o funcionalidad de replay. Otros no. Revisa las capacidades de tu proveedor. Para datos críticos, considera también hacer polling a la API periódicamente como respaldo.

¿Debería almacenar los payloads sin procesar de los webhooks?

Sí, al menos temporalmente. Los payloads sin procesar te permiten depurar problemas, reprocesar eventos si tu manejador tuvo bugs y analizar datos que no extrajiste originalmente. El almacenamiento es barato; los datos faltantes son caros.

e_

Escrito por el equipo de emailr

Construyendo infraestructura de email para desarrolladores

¿Listo para empezar a enviar?

Obtén tu clave API y envía tu primer email en menos de 5 minutos. No se requiere tarjeta de crédito.