Webhooks einrichten

Ereignisse aus dem WTS-Portal in eigene Anwendungen weiterleiten — von Rechnung bis Ausfall.

Aktualisiert am 28.10.2026·2 Min. Lesezeit

Webhooks sind HTTP-Callbacks: WTS ruft eine URL bei Ihnen auf wenn ein Ereignis passiert.

Wann sind Webhooks sinnvoll?

  • CRM-Integration — neue Rechnung → in Ihrem CRM automatisch anlegen
  • Slack-Notifications — VPS-Reboot → Nachricht in Team-Channel
  • Monitoring — Ausfall → Ihre Statusseite aktualisieren
  • DevOps — Domain läuft ab → Ticket in Jira erstellen

Effizienter als API-Polling ("alle 5 Min schauen was neu ist").

Webhook einrichten

  1. Mein Konto → API → Webhooks
  2. Neuer Webhook
  3. URL eingeben (Ihre öffentlich erreichbare URL)
  4. Events wählen (was soll triggern?)
  5. Secret notieren (für Signatur-Verifikation)
  6. Aktivieren

Verfügbare Events

Rechnungen:

  • invoice.created — neue Rechnung
  • invoice.paid — Zahlung eingegangen
  • invoice.overdue — Zahlung fällig

Dienste:

  • service.activated
  • service.suspended
  • service.cancelled

Domains:

  • domain.registered
  • domain.expiring_soon — 30 Tage vor Ablauf
  • domain.expired
  • domain.transfer_completed

VPS:

  • vps.rebooted
  • vps.snapshot_completed
  • vps.high_traffic_warning

Sicherheit:

  • security.new_login
  • security.password_changed
  • security.suspicious_activity

Payload-Format

Ein Webhook sendet HTTP POST mit JSON-Body:

JSON
{
  "event": "invoice.created",
  "timestamp": "2026-07-21T10:34:03Z",
  "data": {
    "invoice_id": "RE-2026-1234",
    "amount": 15.99,
    "currency": "EUR",
    "due_date": "2026-08-04"
  }
}

Signatur verifizieren

Header enthält X-WTS-Signature mit HMAC-SHA256 des Body, signiert mit Ihrem Secret.

PHP-Beispiel:

php
$signature = $_SERVER['HTTP_X_WTS_SIGNATURE'];
$body = file_get_contents('php://input');
$expected = hash_hmac('sha256', $body, WEBHOOK_SECRET);

if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    exit;
}

$event = json_decode($body, true);
// Event verarbeiten

Ohne Signatur-Prüfung könnte jeder Webhooks an Sie schicken — Angriffsvektor.

Antworten

Ihr Endpoint muss innerhalb 10 Sekunden mit HTTP 200 antworten. Sonst gilt der Webhook als fehlgeschlagen.

Bei Fehlschlag wiederholen wir:

  • Nach 1 Minute
  • Nach 5 Minuten
  • Nach 30 Minuten
  • Nach 2 Stunden

Nach 4 Fehlschlägen: Webhook deaktiviert, Benachrichtigung per E-Mail.

Testing

Im Portal unter Webhooks → Test können Sie Test-Events an Ihre URL schicken. Praktisch beim Setup.

ngrok für lokale Tests: ngrok http 8000 gibt Ihnen eine öffentliche URL zu Ihrem localhost.

Retry-Verhalten

Bei HTTP 5xx (Server-Fehler): automatischer Retry. Bei HTTP 4xx (Client-Fehler): kein Retry, wir gehen davon aus dass Ihr Endpoint kaputt ist.

Webhook-History

Im Portal sehen Sie für jeden Webhook:

  • Letzte 30 Zustellversuche
  • Response-Status
  • Response-Body (bei Fehler)
  • Latenz

Praktisch zum Debugging.

Idempotenz

Wir garantieren keine "genau einmalige" Zustellung — theoretisch kann ein Event doppelt kommen. Ihr Endpoint sollte idempotent sein:

  • Event-ID prüfen ob schon verarbeitet
  • Bei Doppel-Event: einfach HTTP 200 zurückgeben, nichts machen
Hat Ihnen diese Anleitung geholfen?

Passend dazu.

WTS Datenschutz

Ihre Cookie-Einstellungen

Sie entscheiden, welche optionalen Kategorien Sie freigeben. Notwendige Funktionen bleiben immer aktiv.

Notwendig

Immer aktiv

Für grundlegende Funktionen wie Anmeldung, Warenkorb und Sicherheit.

Details

Dazu gehören auch Ihre ausdrücklich gewählte Sprache und Darstellung sowie diese Cookie-Auswahl. Die Auswahl speichern wir für sechs Monate in einem Cookie in diesem Browser.

Komfort

Zusätzliche Funktionen für eine bequemere Nutzung unserer Website.

Details

Ihre aktiv gewählte Sprache und Darstellung bleiben unabhängig von dieser Freigabe gespeichert. Zusätzliche optionale Komfortdienste sind derzeit nicht eingebunden.

Statistik

Hilft uns zu verstehen, wie unsere Website genutzt wird.

Details

Derzeit verwenden wir keine optionalen Statistikdienste. Erst ein eingebundener Dienst könnte Ihre Freigabe für diese Kategorie nutzen.

Marketing

Für personalisierte Inhalte und die Auswertung von Werbung.

Details

Derzeit verwenden wir keine Marketing- oder Werbetracker. Eine Freigabe in dieser Kategorie startet daher keine Werbedienste.

Aktuell sind keine optionalen Dienste eingebunden. Ihre Freigaben werden gespeichert und aktivieren für sich allein keine Dienste.