Webhooks
Te enteras cuando pasa, no cuando preguntas.
Registra un endpoint https y recibe un POST firmado cuando llega correo, sale, rebota o se abre.
En resumen
¿Qué es un webhook de correo?
Un webhook es una petición HTTP que un servicio envía a tu URL cuando pasa algo, para que tu código reaccione en vez de consultar una y otra vez. En el correo, eso es correo que llega, sale, rebota o se abre.
20
eventos a los que suscribirte
10
endpoints por buzón
5
intentos por evento como máximo
100
fallos seguidos desactivan un endpoint
Cómo funciona
Cualquier forma de enviar, un evento
El editor, un envío programado para el martes y la API generan email.sent. Programar genera antes email.scheduled.
Firmado, y tú lo compruebas
Cada POST lleva un HMAC-SHA-256 de la marca de tiempo y el cuerpo en bruto. Comprueba los bytes tal como llegaron y rechaza todo lo que tenga más de 300 segundos.
Reintentado solo si puede funcionar
Los tiempos agotados, 408, 425, 429 y 5xx se reintentan tras 1, 5 y 25 minutos, y luego 2 horas. Cualquier otro 4xx es definitivo, y un 410 desactiva el endpoint.
Veinte eventos en tres familias
Si no eliges ninguno, te suscribes a todos los eventos de mensaje salvo email.replied.
Verificar una entrega
El SDK comprueba el HMAC en tiempo constante y rechaza las entregas de más de cinco minutos.
import { verifyWebhookSignature } from '@openemail/sdk' export default async (request: Request) => { const event = await verifyWebhookSignature({ payload: await request.text(), headers: request.headers, secret: process.env.OPENEMAIL_WEBHOOK_SECRET! }) console.log(event.type, event.data) return new Response(null, { status: 204 })}Lo que obtienes
Ya en el producto
Cinco segundos, en paralelo
Los endpoints se llaman a la vez, así que diez siguen tardando cinco segundos.
Solo https público
Los hosts privados y de loopback se rechazan, y nunca se sigue una redirección.
Cada intento registrado
Cada uno muestra qué respondió tu servidor y cuánto tardó.
Buenas prácticas
Sácale el máximo partido
- 01
Responde y luego trabaja
Devuelve un 2xx en menos de cinco segundos y haz el trabajo lento después.
- 02
Descarta ids repetidos
Guarda cada id de X-OpenEmail-Delivery que proceses y omite las repeticiones.
- 03
Rota con los dos secretos
Rotar sustituye el secreto al instante, así que verifica con el antiguo y el nuevo hasta que tu despliegue esté en marcha.
Preguntas
Lo que más nos preguntan
Sigue explorando
Combina bien con
Empieza
Tu dominio,
tu correo.
Apunta un dominio a OpenEmail y lee su correo en un buzón hecho a su medida. El plan gratuito incluye un dominio.