Recibe avisos de incidentes
En Analíticas → Alertas → Canales de notificación, crea destinos por entorno para correo, Slack o PagerDuty. Selecciona incidentes Todos, Umbral o Anomalías. Los lectores consultan; los miembros con permiso de escritura administran.
Las reglas de umbral y el detector de anomalías producen incidentes. El detector es opt-in y tiene calentamiento y algoritmo propios. Un canal recibe la apertura y su cierre/caducidad; crear un canal no lo suscribe a incidentes anteriores. Los webhooks firmados son otra forma de integrar los eventos data.incident.opened, closed y expired.
Añade y conserva el destino
Sección titulada «Añade y conserva el destino»- Correo: una dirección ASCII por canal y SMTP configurado por el operador.
- Slack: webhook HTTPS entrante de
hooks.slack.comohooks.slack-gov.com. - PagerDuty: clave de integración Events v2 de 32 caracteres.
Las credenciales se escriben pero no vuelven a mostrarse. Dejar destino vacío al editar conserva el actual. No hay botón de envío de prueba. Los formularios conservan el borrador ante fallos; un conflicto exige cargar explícitamente la versión vigente antes de reemplazarla.
Gestiona desde el SDK
Sección titulada «Gestiona desde el SDK»Con el cliente de servidor y permiso data:write:
import { randomUUID } from "node:crypto";
const channel = await orilla.data.notificationChannels.create({ request_id: randomUUID(), name: "Guardia", type: "pagerduty", kind: "threshold", enabled: true, destination: process.env.PAGERDUTY_INTEGRATION_KEY!,});await orilla.data.notificationChannels.update(channel.id, { version: channel.version, name: channel.name, kind: "all", enabled: false,});const channels = await orilla.data.notificationChannels.list();Guarda request_id antes de la creación y reutilízalo con el mismo cuerpo si se pierde la respuesta. Una repetición idéntica recupera el recurso; cambiarla produce 409 y repetir una creación eliminada, 410. Actualizar o eliminar exige la versión vigente; el tipo de servicio es inmutable. Máximo 50 canales activos por entorno. Consulta usa data:read.
Para ver auditoría de un incidente:
const incident = await orilla.data.incidents.retrieve(incidentId);console.log(incident.data.orilla.channel_notifications);Pausa, reintentos y resultados
Sección titulada «Pausa, reintentos y resultados»Pausar retiene pendientes; reanudar los continúa. Eliminar cancela pendientes y conserva la auditoría. Una petición ya enviada no puede retirarse. Cada suscripción conserva la versión y destino originales al abrir: editar un canal no cambia cómo se resuelve un incidente previo.
El despachador del API usa cola durable, leases y hasta doce intentos con espera exponencial hasta una hora. Mantiene el orden de apertura/cierre por incidente y canal. Un ACK perdido puede duplicar correo o Slack; PagerDuty conserva su clave de deduplicación. La auditoría distingue cola, pausa, cancelación, reintento, fallo y resultado sin confirmar.
Aceptación SMTP, ok de Slack o éxito de PagerDuty confirma aceptación del proveedor, no lectura o entrega final. No se exponen destinos ni textos de error del proveedor en la respuesta de auditoría. Exportación continua de Data a destinos externos sigue pendiente.
Configuración y alcance
Sección titulada «Configuración y alcance»El operador debe aplicar el esquema y configurar NOTIFICATION_ENCRYPTION_KEY dedicada, estable, de 32 bytes hexadecimales. Los destinos se guardan cifrados; respaldar y migrar esa clave es una tarea operativa. Sin ella se bloquean creación/reemplazo y despacho, pero se puede leer, pausar, eliminar y editar metadatos. Correo reutiliza las variables SMTP descritas en cuenta.
El código forma parte de la versión desplegada registrada, con lecturas remotas acotadas. Los envíos se verificaron con SMTP/HTTP locales sintéticos; todavía deben configurarse y validarse los proveedores externos de cada instalación. Consulta el estado de implementación.