System Webhooks
Webhooks {{ $webhooks->count() }}
{{-- ═══ Left ═══ --}}
Konfigurierte Webhooks
@if($webhooks->isEmpty())
Keine Webhooks konfiguriert
Verbinde externe Systeme — sie werden bei Events automatisch benachrichtigt.
@else {{-- Header --}}
Webhook Events Status HTTP Aktionen
{{-- Rows --}} @foreach($webhooks as $wh) @php $evVisible = array_slice($wh->events, 0, 2); $evRest = count($wh->events) - 2; @endphp
{{-- Webhook name + url --}}
{{ $wh->name }} @if($wh->is_active) Aktiv @else Pausiert @endif @if($wh->last_status !== null) @if($wh->last_status >= 200 && $wh->last_status < 300) {{ $wh->last_status }} @else {{ $wh->last_status === 0 ? 'T/O' : $wh->last_status }} @endif @endif
{{ $wh->url }}
{{-- Events --}}
@foreach($evVisible as $ev) {{ $ev }} @endforeach @if($evRest > 0) +{{ $evRest }} @endif
{{-- Status --}}
@if($wh->is_active) Aktiv @else Pausiert @endif
{{-- HTTP --}}
@if($wh->last_status === null) @elseif($wh->last_status >= 200 && $wh->last_status < 300) {{ $wh->last_status }} @elseif($wh->last_status === 0) Timeout @else {{ $wh->last_status }} @endif
{{-- Actions --}}
@endforeach @endif
{{-- ═══ Right: Docs ═══ --}}
{{-- Payload --}}
Payload-Format
Mailwolt sendet einen HTTP POST mit JSON-Body:
{
  "event": "mailbox.created",
  "timestamp": "2026-04-21T12:00:00Z",
  "payload": { ... }
}
{{-- Signatur --}}
Signatur prüfen
Jeder Request enthält den Header:
X-Mailwolt-Sig: sha256=<hmac>
X-Mailwolt-Event: mailbox.created
HMAC-SHA256 über den rohen Request-Body mit deinem Webhook-Secret.
# PHP
hash_hmac('sha256', $body, $secret);

# Python
hmac.new(secret, body, sha256).hexdigest()
{{-- Events --}}
Verfügbare Events
@foreach($allEvents as $ev => $label)
{{ $ev }} {{ $label }}
@endforeach
{{-- Retry --}}
Verhalten
Timeout: 8 Sekunden
Kein automatischer Retry — HTTP-Status wird gespeichert
Antwort-Code 2xx = Erfolg, alles andere wird als Fehler markiert