Saltar al contenido
Docs

Referencia

Cómo reintenta Emailit las peticiones de webhook fallidas, cuándo te avisa por email y desactiva un endpoint, y cómo revisar y volver a enviar las peticiones fallidas.

Actualizado el 1 oct 2026

Cuando tu endpoint no acepta una petición de webhook, Emailit conserva los eventos y vuelve a intentarlo según un calendario que dura algo más de tres días. En esta página encontrarás ese calendario, los emails que envía Emailit, cuándo desactiva un endpoint y cómo revisar y volver a enviar las peticiones fallidas.

Qué se considera un fallo

Una petición falla cuando tu endpoint:

  • Devuelve cualquier estado fuera del rango 200–299, incluidas las redirecciones (3xx).
  • No responde en 30 segundos.
  • No es accesible: errores de DNS, conexiones rechazadas, errores de TLS o una URL que se resuelve en una dirección IP privada.

Un fallo afecta a todo el lote: todos los eventos de la petición se reintentan juntos.

Calendario de reintentos

Después de cada intento fallido, Emailit espera antes de volver a intentarlo:

Intento Espera desde el intento anterior Tiempo desde el primer intento
1 Se envía a los pocos segundos del evento 0
2 5 minutos 5 minutos
3 30 minutos 35 minutos
4 2 horas 2 horas y 35 minutos
5 5 horas 7 horas y 35 minutos
6 12 horas 19 horas y 35 minutos
7 12 horas 1 día y 7 horas
8 12 horas 1 día y 19 horas
9 12 horas 2 días y 7 horas
10 12 horas 2 días y 19 horas
11 12 horas 3 días y 7 horas

Si el intento 11 falla, la petición se marca como Failed y no se reintenta automáticamente. Aún puedes volver a enviarla durante 7 días.

Cada intento se vuelve a firmar con una marca de tiempo nueva. Los eventos que llegan mientras hay peticiones anteriores a la espera de un reintento se envían en sus propios lotes, así que un evento problemático no bloquea los más recientes.

Emails de notificación

Emailit envía un email al propietario del espacio de trabajo en dos momentos:

Cuándo Email
Una petición falla por tercera vez (unos 35 minutos después del primer fallo) El webhook está fallando. Se envía una vez por incidencia. Solo recibes otro después de una entrega correcta seguida de nuevos fallos, o pasados 4 días.
El webhook se desactiva automáticamente El webhook se ha desactivado, con el último código de estado.

Desactivación automática

Si un webhook lleva 3 días sin ninguna entrega correcta desde su petición fallida más antigua, Emailit lo desactiva en el siguiente intento fallido. En la práctica, esto ocurre hacia el 11.º intento de la primera petición fallida, o antes si los eventos nuevos siguen fallando.

Mientras un webhook está desactivado:

  • No se ponen en cola eventos nuevos para él. Se siguen registrando en el flujo de eventos.
  • Las peticiones que esperaban un reintento siguen pendientes y se reanudan cuando lo activas.
  • La página del webhook muestra el estado Disabled.

Para volver a activarlo, selecciona Enable webhook en el menú de acciones del webhook o llama a Actualizar un webhook con {"enabled": true}. Retry failed y el reintento de una sola petición también activan el webhook.

La pestaña Requests

Abre un webhook en Email APIWebhooks para ver su pestaña Requests, con las peticiones de la más reciente a la más antigua:

Columna Descripción
Event type El evento de la petición.
Event ID El ID evt_, el mismo valor que tu endpoint recibe como event_id.
Created Cuándo se puso en cola la petición.
Attempts Cuántos intentos de entrega han fallado hasta ahora.
Status Pending (aún no se ha intentado), Attempting (ha fallado al menos una vez y se reintentará), Delivered o Failed (se agotaron los reintentos).

Filtra por Status code, Event o Created. Los eventos de prueba de Send test no aparecen aquí.

En una petición Failed, selecciona View para abrir Failure reason: el código de estado que devolvió tu endpoint (0 si no hubo respuesta HTTP), cuándo se creó la petición y cuándo falló, y los primeros 2000 caracteres del cuerpo de la respuesta.

Volver a enviar las peticiones fallidas

Puedes volver a enviar las peticiones marcadas como Failed cuyo último fallo se produjo en los últimos 7 días. Las peticiones que vuelves a enviar pasan de nuevo a Pending y empiezan un nuevo ciclo de reintentos desde el intento 1. La entrega no es instantánea: la siguiente ronda de entregas las recoge en cuestión de segundos.

Reintentar una petición

En la pestaña Requests, selecciona Retry en una fila fallida. El botón solo aparece en las peticiones fallidas de los últimos 7 días.

El endpoint de la API es Reintentar una petición, POST /v2/webhooks/{id}/requests/{request_id}/retry, que devuelve {"retried": 1, "id": "whr_…"}. Solo acepta peticiones marcadas como Failed y devuelve 400 para las demás. Ningún endpoint público lista los ID de petición (whr_…), así que, para automatizar con la API, usa Retry failed.

Reintentar las peticiones fallidas

Abre el menú de acciones del webhook y selecciona Retry failed. Todas las peticiones que fallaron en los últimos 7 días se vuelven a poner en cola, y el panel muestra «Queued 3 failed request(s) for retry» con el número real, o «No failed requests in the last 7 days».

Con la API, llama a Reintentar las peticiones fallidas:

Terminal
curl -X POST https://api.emailit.com/v2/webhooks/wh_2xGk8Hd3RvN6qT1mWsB9cL4pZ7e/retry-failed \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{ "retried": 42 }

Recuperarse de una caída

  1. Arregla el endpoint. Usa View en una petición fallida para ver qué devolvió tu endpoint.

  2. Confirma que funciona. Usa Send test desde el menú de acciones, o Enviar un evento de prueba con la API, y comprueba que obtienes un 2xx.

  3. Activa el webhook si Emailit lo desactivó.

  4. Vuelve a enviar los fallos. Selecciona Retry failed para poner en cola todas las peticiones que fallaron en los últimos 7 días. Las peticiones que siguen marcadas como Attempting se reintentan según su propio calendario.

  5. Recupera lo que falte. Los eventos que ocurrieron mientras el webhook estaba desactivado nunca se pusieron en cola, y los fallos de hace más de 7 días no se pueden volver a enviar. Léelos con la API de eventos para el periodo afectado y procesa los que te falten.

Como los reintentos vuelven a enviar lotes completos, haz que tu controlador sea idempotente: guarda cada event_id y omite los que ya hayas procesado. Consulta Peticiones de webhook.

Retención

Las peticiones de webhook siguen el periodo de retención de Logs, así que las filas más antiguas desaparecen de la pestaña Requests con el tiempo.

Pay as you goProBusinessCustom
Retención de los registros de peticiones7 días30 días30 díasFlexible

¿Te ha resultado útil esta página?

Gracias por tu opinión.

Gracias. Leemos todos los mensajes.