Docs/Guía de administración/Webhooks

Webhooks

Registre endpoints de webhook salientes que reciben entregas de eventos firmadas con HMAC cada vez que ocurre algo interesante en su organización. La página de administración gestiona el CRUD de endpoints; el contrato de entrega detallado — catálogo de eventos, verificación de firma, programación de reintentos — vive en API → Webhooks.

Dónde se encuentra

Barra lateral → Webhooks bajo la sección Integraciones, en /organization/webhooks.

Crear un endpoint

Haga clic en + Añadir endpoint. El diálogo pide:

  • URL — la URL HTTPS pública que recibirá las entregas. Los túneles (cloudflared, ngrok) funcionan bien para desarrollo local.
  • Descripción (opcional) — nota breve, p. ej. "Notificador Slack #appsec" o "Creador de tickets de Jira".
  • Eventos — qué tipos de evento suscribir. Los cuatro eventos disponibles hoy son assignment.created, assignment.completed, sarif.ingested y certificate.issued.

Al enviar, el diálogo muestra el secreto de firma (whsec_…) una sola vez. Cópielo a su gestor de secretos de inmediato. Lo necesita para verificar cada entrega entrante; vea API → Webhooks para código de verificación en Node, Python y Go.

Listar endpoints

La vista de lista muestra todos los endpoints de webhook de su organización. Cada fila lleva la URL, los eventos suscritos, el creador y un indicador de salud en vivo:

EstadoSignificado
SaludableLa última entrega devolvió una respuesta 2xx.
FallandoLa última entrega devolvió una respuesta distinta de 2xx o expiró, pero el endpoint sigue siendo reintentado.
PendienteEl endpoint existe pero aún no ha recibido su primera entrega.
DeshabilitadoEl endpoint agotó la programación de reintentos en una entrega reciente y se deshabilitó automáticamente. La marca de tiempo de la última entrega se conserva para que pueda ver cuándo falló.

Editar y eliminar

Haga clic en Editar para actualizar la URL, la descripción o la lista de suscripciones a eventos. Apagar el interruptor Activo pausa la entrega sin eliminar el endpoint; volver a encenderlo reanuda la entrega y limpia el estado auto-deshabilitado. Haga clic en Eliminar para retirar el endpoint por completo — las entregas pendientes se cancelan y la fila se elimina de la lista.

Inspeccionar entregas recientes

El botón ⟳ Entregas en cada fila abre un cajón que lista los 50 intentos de entrega más recientes para ese endpoint. Cada entrada muestra el tipo de evento, el id del evento, el estado actual (pending / delivered / failed / exhausted), el recuento de intentos, el código de estado HTTP devuelto por su endpoint, cualquier mensaje de error y las marcas de tiempo.

Use esta vista para depurar un consumidor que se comporta mal sin tener que instrumentar su propio receptor — si el receptor devuelve un 5xx, el mensaje que ve aquí es el mismo que registró su aplicación.

Reintento y auto-deshabilitación

Las entregas fallidas se reintentan según una programación 1m → 5m → 30m → 2h hasta un máximo de cinco intentos totales. Tras el quinto fallo, el endpoint se auto-deshabilita y la última entrega se marca como exhausted. Para reactivarlo, arregle el receptor y luego haga clic en Activo en el diálogo Editar o envíe la llamada API PATCH /api/sch/org/webhooks/{id} con {"isActive": true}.

Acceso programático

Toda acción de esta página es accesible también desde la API pública — vea API → Webhooks para la superficie CRUD y el contrato de entrega.