Webhooks
Webhooks übermitteln Benachrichtigungen in Echtzeit an deine Server-Infrastruktur, sobald sich Daten in etg24 ändern – ganz ohne ressourcenintensives Polling. Einmal eingerichtet, halten Webhooks externe Datenbanken, CRM-Systeme oder Messaging-Dienste kontinuierlich auf dem aktuellen Stand.
Unterstützte Event-Typen abfragen
Der Event-Katalog wächst mit den Fähigkeiten der Plattform. Statt einer statischen Dokumentation kannst du die aktuell aktiven Event-Typen direkt über die API abrufen:
curl -s "https://api.etg24.de/propertymanagement/v2/query/webhooks.eventTypes" \ -H "Authorization: Bearer DEIN_API_KEY"Webhooks unterstützen Lebenszyklus-Ereignisse (created, updated, deleted) für alle zentralen Entitäten:
- Liegenschaften und Gebäude (
properties.object.*) - Einheiten (
properties.unit.*) - Kontakte (
contacts.*) - Dokumente (
documents.*)
Einrichtung eines Webhooks
Webhooks lassen sich direkt in den Einstellungen der etg24-App oder programmatisch über die API anlegen:
curl -s -X POST "https://api.etg24.de/propertymanagement/v2/command/webhooks.create" \ -H "Authorization: Bearer DEIN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "webhook": { "name": "CRM Synchronisation", "url": "https://api.example.com/webhooks/etg24", "eventTypes": ["contacts.created", "contacts.updated"], "authorizationHeader": "Bearer geheimer-token-deines-servers" } }'Weitere Endpunkte zum Auflisten, Prüfen und Löschen bestehender Webhooks findest du in der Property Management v2 Referenz.
Struktur des Event-Payloads
Tritt ein abonniertes Ereignis ein, sendet etg24 einen HTTP POST-Request mit dem Header Content-Type: application/json an deine hinterlegte Ziel-URL. Beispielhafter Payload:
{ "id": "evt_01J8K4N5P6Q7R8S9T0UVWXYZ", "eventType": "properties.unit.updated", "timestamp": "2026-03-24T14:45:00.000Z", "tenantId": "ten_01J8K1...", "data": { "unitId": "unt_98765432-1234-abcd-ef01-23456789abcd", "propertyId": "obj_12345678-abcd-1234-5678-abcdef123456", "unitNumber": "WE 04", "floor": 2, "status": "vacant" }}Absicherung und Validierung
Um sicherzustellen, dass eingehende Webhook-Aufrufe tatsächlich von etg24 stammen:
- Hinterlege beim Anlegen des Webhooks einen individuellen Token im Feld
authorizationHeader. - Dein empfangender Server prüft bei jedem eingehenden Request, ob dieser Header exakt übereinstimmt.
- Anfragen ohne gültigen Header weist dein Server mit
401 Unauthorizedab.
Zusammenspiel mit CQRS
Webhooks fügen sich nahtlos in das CQRS-Modell ein:
- Events bilden die Benachrichtigungsschicht: Sie informieren dein System in Echtzeit über eingetretene Änderungen.
- Queries und Commands bilden die Handlungsschicht: Nach Empfang eines Events kann dein System bei Bedarf weitere Details per Query nachladen oder Folgeprozesse per Command auslösen.