Webhooks

Instalar an https endpoint you control

Un canal de webhook envía por POST un cuerpo JSON a tu URL por cada alerta y lo firma con un secreto que copias una sola vez. Verifica la firma antes de confiar en el cuerpo.

1Añade el canal

Integraciones, Webhook: introduce una URL https, elige el alcance de proyectos y qué alertas. El secreto de firma (whsec_...) se muestra una sola vez: 'Copia el secreto de firma ahora. No se volverá a mostrar.'

2Verifica la firma

La cabecera x-blipit-signature es el HMAC-SHA256 en hexadecimal del cuerpo sin procesar de la petición usando tu secreto. Compara en tiempo constante.

js
import { createHmac, timingSafeEqual } from "node:crypto";

export function verify(rawBody, header, secret) {
  const expected = createHmac("sha256", secret).update(rawBody).digest("hex");
  return header.length === expected.length && timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}

3Lee el cuerpo

Las alertas de incidencia tienen este aspecto. type es new_issue, regression, security o test; security solo está presente en las alertas de seguridad.

json
{
  "type": "new_issue",
  "project": { "id": 12, "name": "shop" },
  "issue": { "id": 981, "title": "TypeError: cart is undefined", "url": "https://app.blipit.io/issues/981", "level": "error", "event_count": 1 },
  "event": { "release": "2026.09.28", "environment": "production", "platform": "javascript" },
  "sent_at": "2026-09-28T09:15:00.000Z"
}

Conviene saber

  • Los cambios de monitores se envían de la misma forma con type monitor.down o monitor.up, y los avisos monitor.slow, monitor.fast y monitor.expiring.
  • Solo se aceptan URLs https en direcciones públicas; no se siguen redirecciones. Usa el botón de prueba tras guardar para ver una entrega con type: test.
  • Responde 2xx rápido. Una entrega fallida se muestra como error en el canal; Blipit no la pone en cola para más tarde.

¿Atascado? Escribe a support@blipit.io. Las claves y el DSN exacto de cada proyecto están en Claves API en app.blipit.io.