Webhooks: Ereignisse automatisch erhalten
MeduCert ruft Ihre Adresse auf, sobald sich etwas ändert: signiert, mit Wiederholungen und Zustellprotokoll.
Auf dieser Seite
So finden Sie esOrganisation → Schnittstelle → Webhooks
Ein Webhook meldet Ereignisse an Ihr System, damit Sie nicht nachfragen müssen. Sie hinterlegen eine HTTPS-Adresse, MeduCert erzeugt ein Geheimnis zum Prüfen der Signatur und ruft die Adresse bei jedem gewählten Ereignis auf.

Ereignisse#
| Ereignis | Wann |
|---|---|
| `anmeldung.erstellt` | Eine Anmeldung oder ein Platz auf der Warteliste ist entstanden |
| `teilnahme.abgemeldet` | Eine Teilnahme wurde abgesagt |
| `termin.abgeschlossen` | Eine Veranstaltung wurde abgeschlossen |
| `meldung.gesendet` | Der EIV hat eine Meldung angenommen |
| `meldung.abgelehnt` | Der EIV hat eine Meldung abgelehnt |
Die Nachricht enthält nur Kennungen und den Status, etwa `termin_id` und `teilnahme_id`. Namen, E-Mail-Adressen und EFN stehen nicht darin. Die Details rufen Sie mit Ihrem API-Schlüssel ab.
{"id":"evt_3f1c…","typ":"anmeldung.erstellt","erstellt_am":"2026-10-30T18:02:11+01:00",
"anbieter":"ihre-kennung",
"daten":{"termin_id":12,"teilnahme_id":431,"status":"angemeldet","art":"online"}}Webhook einrichten#
Adresse eintragen
Tragen Sie die HTTPS-Adresse Ihres Empfängers ein und wählen Sie die Ereignisse. MeduCert prüft die Adresse beim Speichern.
Geheimnis kopieren
Das Geheimnis (`whsec_…`) erscheint einmal. Legen Sie es in Ihrem Empfänger ab.
Signatur prüfen
Jeder Aufruf trägt den Header `MeduCert-Signatur: t=<Zeit>,v1=<Prüfwert>`. Der Prüfwert ist ein HMAC-SHA256 über `<Zeit>.<Rohtext der Nachricht>` mit Ihrem Geheimnis. Prüfen Sie auch, dass die Zeit nicht älter als fünf Minuten ist.
import hashlib, hmac, time
def signatur_gueltig(geheimnis: str, kopf: str, body: bytes) -> bool:
teile = dict(p.split("=", 1) for p in kopf.split(","))
t = int(teile["t"])
if abs(time.time() - t) > 300:
return False
erwartet = hmac.new(geheimnis.encode(), f"{t}.".encode() + body,
hashlib.sha256).hexdigest()
return hmac.compare_digest(erwartet, teile["v1"])Zustellung und Wiederholungen#
- Antworten Sie mit einem 2xx-Status, am besten innerhalb weniger Sekunden.
- Bei einem Fehler wiederholt MeduCert die Zustellung nach 5 Minuten, 15 Minuten, 1 Stunde, 6 Stunden und 24 Stunden, danach gilt sie als fehlgeschlagen.
- Jedes Ereignis trägt eine Kennung (`id`). Verarbeiten Sie dieselbe Kennung nur einmal, falls eine Wiederholung doppelt ankommt.
- Das Zustellprotokoll unter Organisation → Schnittstelle zeigt Zeitpunkt, Ergebnis und Fehler der letzten Zustellungen.
- Schlagen viele Zustellungen in Folge fehl, schaltet MeduCert den Webhook aus. Sie schalten ihn mit einem Klick wieder ein.
Anforderungen an die Adresse#
Die Adresse muss mit `https://` beginnen, einen öffentlichen Namen haben und aus dem Internet erreichbar sein. Adressen aus Ihrem internen Netz, IP-Adressen und Weiterleitungen sind nicht möglich: MeduCert ruft genau die eingetragene Adresse auf.
Weiterlesen#
Fehlt etwas in dieser Anleitung?
Schreiben Sie uns, was Sie suchen. Wir antworten persönlich und ergänzen die Hilfe.