-- Zentrale Webhook-Registry & Zustellung (API-07, siehe -- core-kanban/tickets/API-07.md) — Postgres-basierte Jobqueue, kein -- Redis/AMQP (Ticket-Vorgabe). CREATE TABLE webhook_subscriptions ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), event_type TEXT NOT NULL, target_url TEXT NOT NULL, secret TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX webhook_subscriptions_event_type_idx ON webhook_subscriptions (event_type); CREATE TABLE webhook_deliveries ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), subscription_id UUID NOT NULL REFERENCES webhook_subscriptions(id), event_type TEXT NOT NULL, payload JSONB NOT NULL, status TEXT NOT NULL DEFAULT 'pending', -- pending|delivered|failed attempt INT NOT NULL DEFAULT 0, next_attempt_at TIMESTAMPTZ NOT NULL DEFAULT now(), last_error TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), delivered_at TIMESTAMPTZ ); CREATE INDEX webhook_deliveries_due_idx ON webhook_deliveries (status, next_attempt_at);