Saltar al contenido

Monitoreo web con webhooks

Uptimia comprueba sus sitios, certificados y procesos de compra desde fuera de su red, y llama a su endpoint con cada fallo confirmado. Su propio código decide qué ocurre después — abrir un ticket, reiniciar un servicio, alimentar un panel — y cada comprobación envía el mismo formato, así que escribe el gestor una sola vez.

una estructura · los doce tipos · 2xx o cinco reintentos

No un mensaje: un contrato

Todos los demás canales terminan en una persona, y las personas son lectoras indulgentes. El código no lo es — por eso lo interesante nunca es el contenido del mensaje, sino las garantías que hay detrás.

Escrito para un lector

«Algo se rompió» — usted averigua el resto

Un mensaje
se lee una vez y se cierra
se lee y desaparece
Nada que aprovechar
sin estructura · sin reintentos

El texto puede variar entre versiones porque quien lo lee se adapta. En cuanto el software depende de él, esa informalidad se convierte en un fallo de su integración.

Escrito para un consumidor

Once campos, cinco reintentos, una estructura

Un POST
sondas de respaldo lo confirmaron
2xx o reintentamos
Su código decide
ticket · bot · fila

Un solo objeto para cada tipo de comprobación: escriba un gestor y ramifique según dos campos. Se reintenta cinco veces antes de descartarse, así que puede haber duplicados — documentados, no descubiertos por sorpresa.

Conserve los canales que lee una persona. Este es para la parte que no debería necesitar a nadie. Un miércoles por la noche en una API de logística:

La alerta llega directamente a su código

Una comprobación falla y Uptimia llama a su endpoint con los detalles, ya confirmados. Su propia automatización decide qué ocurre después — aquí, un ticket que se abre solo y se cierra al recuperarse.

02:17 El POST llega, ya confirmadoops-bridge responde 200 primero, y trabaja después — el margen es para la respuesta POST · 84 ms
02:18 El mismo evento llega dos vecesLa entrega es al menos una vez — el gestor usa el inicio del incidente como clave reintento · ignorado
02:18 Un ticket se abre solomonitor_unique_id elige el runbook — sin triaje, sin intervención humana ticket · runbook
02:31 ✅ El POST de recuperación lo cierraLa misma estructura, estado up — incident_duration_seconds: 843 up · 14 min
14 mindown → up
El informe que nadie escribióel día 1
Fin de mes: las cifras de disponibilidad llegaron a tres clientes directamente desde las propias tablas de ops-bridge. Cada incidente ya era una fila — nada exportado a mano desde un panel.
843 segundos, registrados1 gestor, todos los tipos de comprobación0 avisos de guardia0 líneas de scraping
La alerta se convirtió en datos — un mensaje desaparece en cuanto lo cierra; un evento que su código aceptó sigue ahí un año después. consultable, no solo legible

Conecte un webhook en tres pasos

No hay ninguna aplicación que autorizar ni ninguna librería que instalar — Uptimia solo necesita una URL a la que llamar y, si el endpoint está protegido, un encabezado que le dé acceso.

Paso 130 segundos

Pegue la URL de su endpoint

Eso es todo el registro — una URL pública.

ops.caldmont.com/hooks Guardar
https público · TLS verificado · sin rangos privados
Paso 21 minuto

Agregue sus encabezados

Opcional — los encabezados se envían exactamente como los escriba, así un token permite que Uptimia entre por su propia puerta.

Encabezados personalizados
Authorization: Bearer …X-Source: uptimia
se transmiten tal cual · agregamos el Content-Type
Paso 320 segundos

Apunte sus monitores hacia él

Elija las comprobaciones que deben llamarlo, y una entrega de prueba confirma la conexión con el formato real.

Entrega de prueba
monitor_status: test · severity: test · los mismos once campos
responde con cualquier 2xx y ya está conectado
Guía técnica de configuración

Registrar un endpoint de webhook

El Centro de ayuda cubre la implementación: agregar la URL, escribir los encabezados personalizados, enviar un POST de prueba e interpretar lo que le dice una entrega fallida.

Todos los tipos de comprobación. Una estructura.

Un certificado a punto de caducar, una tarea cron que nunca llegó a reportarse y un servidor que supera su umbral de CPU llegan todos como el mismo objeto plano. Dos campos los distinguen.

"uptime"Comprobaciones HTTP en sus páginas
"ssl"Expiración y validez del certificado
"domain"Fechas de registro y renovación
"server"CPU, memoria, disco y carga
11 campos el mismo objeto cada vez
"heartbeat"Tareas cron que dejaron de reportarse
"transaction"Comprobaciones multipaso en el navegador
"dns"Registros y estado de los servidores de nombres
"blacklist"Reputación de dominio e IP
Nada cambia de nombre sin avisarle — otros cuatro tipos envían el mismo objeto, y una avalancha agrega una clave de grupo junto a las existentes. toda comprobación · un gestor

Puentes de chat, filas de base de datos, acciones

En cuanto un incidente es un objeto que su código aceptó, las aplicaciones útiles dejan de parecerse a un simple sistema de alertas.

El canal en el que no hablamos
Zulip, Rocket.Chat, un bot que haya escrito usted — cualquier cosa con una URL.
Reformule el texto como quiera
Enrute según monitor_type o el nombre
Entregue a la sala responsable
sin SDK, sin librería
Registros que sobreviven al incidente
Su cola de tickets, su almacén de datos, su tabla de SLA.
Se abre al caer, se cierra al recuperarse
La duración llega ya calculada
Une tablas con monitor_unique_id
su esquema, no el nuestro
Acciones, no mensajes
Anote un gráfico, vacíe un nodo, active una alerta.
El fallo se confirmó primero
Filtre por gravedad antes de cualquier acción destructiva
La acción es suya, nosotros solo la informamos.
deliberadamente de una sola dirección
Combínelo con un canal que lea una persona SlackMS TeamsEmailTelegramTwilio SMSPagerDutyDiscord

Los demás canales avisan a una persona.Este avisa a su código.

Toda la plataforma en la prueba gratuita — todo tipo de comprobación, más de 171 sondas y cada incidente confirmado llega como un objeto suyo.

Empiece su prueba gratuita de 30 días →
30 días gratis sin tarjeta de crédito cancele cuando quiera

Las garantías de entrega, por escrito

Nadie puede escribir un gestor fiable a partir de «le enviaremos una notificación». Estas son las garantías reales.

Al menos una vez, con cinco reintentos

Diez segundos para responder, y cualquier 2xx cuenta como aceptado. Cualquier otra cosa vuelve a la cola y se reintenta cinco veces, cada espera un minuto más larga que la anterior, y luego se descarta — así que responda primero y haga el trabajo después.

Diez segundos para responderMARGEN Cualquier 2xx significa aceptadoÉXITO Cinco reintentos, luego se descartaESPERA

Un objeto plano, once claves

Sin anidamiento, sin envoltorio, sin un esquema que cambie según el tipo de comprobación. Dos campos distinguen los casos; los otros nueve nunca cambian de significado — incluido monitor_notes, la línea de runbook que dejó quien configuró el monitor.

once campos · una estructura

Una avalancha agrega una clave

Los monitores que fallan juntos se convierten en una sola solicitud con un objeto de grupo adicional — miembros, recuentos, reconocimiento. Los gestores que lo ignoran siguen funcionando.

aditivo · nunca cambia de nombre

Sus encabezados, tal cual

Se envían literalmente, así un token bearer o un secreto compartido funcionan. No hay firma del cuerpo — compruebe el encabezado en su servidor y mantenga la URL en secreto.

token bearer · URL secreta

Dónde se negará a enviar

Solo http(s) públicos; se rechazan los rangos de loopback y privados. La dirección se resuelve una vez y queda fijada, las redirecciones se ignoran, TLS se verifica.

sin localhost · sin rebinding

Sin enlace para reconocer — a propósito

Los canales que lee una persona llevan un enlace firmado que detiene el escalado. Las máquinas reciben los datos y nada más — un flujo de registros que puede silenciar un aviso de guardia, tarde o temprano lo hará.

Todos los campos, todos los eventosENVIADO La capacidad de silenciarloRETENIDA

Cómo funcionan los webhooks de monitoreo

Uptimia comprueba sus sitios web desde más de 171 sondas y, cuando una comprobación falla, envía una solicitud HTTP POST con un cuerpo JSON a cualquier URL que registre. El mismo objeto plano llega para cada tipo de comprobación — qué monitor, qué pasó, cuándo y durante cuánto tiempo — así que un solo gestor los cubre todos, y las entregas fallidas se reintentan.

«Cada solicitud significa que algo está caído»

El error que todo el mundo comete el primer día

monitor_status: up
severity llega vacío
se trata como una interrupción
Alguien recibió una alerta de guardia
porque el sitio volvió

Las recuperaciones, los avisos y las pruebas comparten un mismo endpoint. monitor_status es down, up o test; severity es critical o trouble, y vacío en una recuperación. Ramifique según ambos campos.

Confirmado antes de que exista

Confirmado antes de que su código se entere

Más de 171 ubicaciones
cargando la página real
primero se vuelve a comprobar
Una solicitud
por cada incidente confirmado

Una automatización es tan fiable como el disparador que la activa. Una comprobación web nunca alerta basándose en la opinión de una sola sonda — un fallo sospechoso se vuelve a comprobar primero desde otras sondas.

El cuerpo

Once campos, en cada evento

Lo que siempre está presente, y qué contiene.

Ver todos los canales de alertas →
CampoEjemploQué contiene
id4172El id numérico del monitor dentro de Uptimia
monitor_typeuptimeQué tipo de comprobación se disparó
monitor_nameDispatch APIEl nombre que le diste (el nombre del sitio en las comprobaciones de disponibilidad)
monitor_unique_iddispatch-api-euTu propio identificador — la clave para unir tablas
monitor_statusdowndown, up o test
severitycriticalcritical o trouble — vacío en una recuperación
incident_start_time2026-07-24T02:17:04+02:00ISO 8601, zona horaria de la cuenta
incident_end_time2026-07-24T02:31:07+02:00Vacío mientras el incidente está abierto
incident_duration_seconds843Cero hasta que el incidente se cierra
message*ALERT*: Project … is DOWNEl resumen de una línea que reciben los demás canales
monitor_notesFailover: drain eu-west-2 firstLa nota del monitor — vacía si nadie escribió ninguna

Preguntas frecuentes sobre webhooks personalizados

01¿Qué envían exactamente?+
Un único POST HTTP con Content-Type: application/json y un cuerpo plano de once campos — sin cadena de consulta, sin codificación de formulario, sin objeto contenedor. Todos los campos están en el nivel superior, y llegan los mismos once para cada tipo de monitor y cada estado, incluida la prueba.
02¿Cómo autentico la solicitud?+
Con encabezados personalizados: todo lo que escriba se envía literalmente, una por línea en formato Nombre: valor, así un token bearer o un secreto compartido funcionan. No hay firma HMAC sobre el cuerpo, así que trate también la URL como una credencial — larga, aleatoria y que sustituya si se filtra.
03¿Qué pasa si mi endpoint va lento o está caído?+
La solicitud dispone de diez segundos. Cualquier 2xx significa aceptado; cualquier otra cosa vuelve a la cola con esperas cada vez más largas y se reintenta cinco veces, luego se descarta. Responda 200 de inmediato y haga la parte lenta después — el margen cubre la respuesta, no el trabajo.
04¿Puedo llegar a recibir el mismo evento dos veces?+
Sí, y conviene que lo tenga en cuenta. La entrega es al menos una vez: un endpoint que acepta un evento pero responde demasiado despacio igualmente recibe el reintento. Elimine duplicados combinando el monitor con incident_start_time — ambos se mantienen idénticos en todos los reintentos.
05¿Puedo apuntarlo a localhost o a una dirección interna?+
No. Solo se aceptan URLs http y https públicas, y los rangos de loopback, privados y link-local se rechazan tanto al guardar como de nuevo al enviar — un webhook capaz de alcanzar servicios internos sería una herramienta de falsificación de solicitudes disfrazada de monitoreo. Use un túnel mientras desarrolla.
06¿Siguen las redirecciones?+
No. La URL que registras es la que recibe el cuerpo; un 301 o un 302 cuenta como entrega fallida y no como un salto a seguir. El nombre de host se resuelve una vez y queda fijado para la llamada, así que no se puede redirigir entre la comprobación de seguridad y la solicitud.
07¿Qué llega cuando fallan varios monitores a la vez?+
Una sola solicitud para todo el grupo en lugar de una por monitor, con un objeto group adicional junto a los campos habituales: su id, la lista de miembros, cuántos siguen caídos y si alguien lo reconoció. Los once campos originales describen el monitor ancla del grupo — monitor_notes lleva la nota cuando el grupo contiene un único monitor, y queda vacío cuando resume varios.
08¿Puede mi gestor reconocer o responder?+
No, y es intencional. Los enlaces de reconocimiento solo llegan a los canales que lee una persona; un sistema automatizado recibe datos, nunca la posibilidad de silenciar un escalado. Lo único que Uptimia lee de su respuesta es el código de estado.
09¿Qué envía realmente «Enviar prueba»?+
La estructura real con contenido de ejemplo: monitor_status y severity muestran ambos test, el nombre dice «Test monitor», y los tres campos del incidente dicen «None» en lugar de marcas de tiempo. Confirma que el endpoint responde — fíltrala antes de escribir en una tabla que uses de verdad.
10¿Cuántos endpoints puedo tener, y está incluido?+
Agregue tantos como necesite y asigne cada uno a monitores distintos — un webhook se comporta como cualquier otro contacto. Es uno de los canales de alertas integrados, incluido en todos los planes y en la prueba gratuita de 30 días, y funciona junto a los demás: un mismo fallo puede avisar a una persona y actualizar un sistema en el mismo segundo.

Una URL, todos los incidentes reconocidos

Registre un endpoint, asígnelo a los monitores que importan y cada fallo reconocido llegará como un objeto que sus sistemas pueden archivar y usar para actuar.

Sin SDK Once campos Prueba gratuita de 30 días Sin tarjeta de crédito
Los webhooks personalizados son un canal de alertas integrado — cada tipo de comprobación que ejecuta Uptimia envía la misma estructura.