Help Center / api
Webhooks einrichten
Webhooks einrichten
Webhooks benachrichtigen Ihre Anwendung, wenn Ereignisse in Ihrem Konto auftreten. Erhalten Sie Echtzeit-Updates ohne Polling.
So funktionieren Webhooks
- Ein Ereignis tritt auf (z. B. eine Domain wird registriert)
- Wir senden einen HTTP-POST an Ihren Endpunkt
- Ihr Server verarbeitet das Ereignis
- Er antwortet mit 200 OK
Einen Webhook erstellen
- Gehen Sie zu Einstellungen > Webhooks
- Klicken Sie auf Endpunkt hinzufügen
- Geben Sie Ihre URL ein (muss HTTPS sein)
- Wählen Sie die zu empfangenden Ereignisse aus
- Speichern
Webhook-Ereignisse
Domain-Ereignisse
| Ereignis | Beschreibung |
|---|---|
| domain.registered | Neue Domain registriert |
| domain.transferred | Domain eingehend transferiert |
| domain.renewed | Domain verlängert |
| domain.expired | Domain abgelaufen |
| domain.deleted | Domain gelöscht |
VPS-Ereignisse
| Ereignis | Beschreibung |
|---|---|
| server.created | Neuer Server bereitgestellt |
| server.started | Server eingeschaltet |
| server.stopped | Server ausgeschaltet |
| server.deleted | Server beendet |
| server.resized | Server-Tarif geändert |
Abrechnungs-Ereignisse
| Ereignis | Beschreibung |
|---|---|
| invoice.created | Neue Rechnung erstellt |
| invoice.paid | Zahlung erhalten |
| payment.failed | Zahlungsversuch fehlgeschlagen |
Webhook-Payload
{
"id": "evt_1234567890",
"type": "domain.registered",
"created": 1640000000,
"data": {
"domain": "example.com",
"registrant": "user@email.com",
"expiration": "2025-01-01"
}
}
Webhooks verifizieren
Verifizieren Sie mithilfe von Signaturen, dass Anfragen von uns stammen:
const crypto = require('crypto')
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex')
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
)
}
// In your endpoint
app.post('/webhook', (req, res) => {
const signature = req.headers['x-osir-signature']
const isValid = verifyWebhook(req.rawBody, signature, webhookSecret)
if (!isValid) {
return res.status(401).send('Invalid signature')
}
// Process event
res.status(200).send('OK')
})
Wiederholungsrichtlinie
Wenn Ihr Endpunkt fehlschlägt, wiederholen wir den Versuch:
| Versuch | Verzögerung |
|---|---|
| 1 | Sofort |
| 2 | 5 Minuten |
| 3 | 30 Minuten |
| 4 | 2 Stunden |
| 5 | 24 Stunden |
Nach 5 Fehlversuchen wird der Webhook deaktiviert.
Webhooks testen
- Gehen Sie zu Ihren Webhook-Einstellungen
- Klicken Sie auf Testereignis senden
- Wählen Sie den Ereignistyp aus
- Sehen Sie sich die Anfrage/Antwort an
Webhook-Protokolle
Zeigen Sie den Zustellverlauf an:
- Gehen Sie zu Webhooks > Endpunkt auswählen
- Klicken Sie auf Protokolle
- Sehen Sie alle Versuche und Antworten
- Wiederholen Sie fehlgeschlagene Ereignisse
Bewährte Vorgehensweisen
- Antworten Sie schnell - Geben Sie innerhalb von 30 Sekunden 200 zurück
- Verarbeiten Sie asynchron - Reihen Sie Ereignisse für die Hintergrundverarbeitung in eine Warteschlange ein
- Verifizieren Sie Signaturen - Validieren Sie Anfragen immer
- Behandeln Sie Duplikate - Ereignisse können mehrfach gesendet werden
- Protokollieren Sie alles - Bewahren Sie Aufzeichnungen zur Fehlersuche auf