WebinarSuite

Teilnehmer über API abrufen

Teilnehmer über die WebinarSuite API abrufen und eigene Erinnerungs- und Nachfassmails versenden

api teilnehmer erinnerungs- und nachfassmails

Mit der WebinarSuite API kannst du die Teilnehmer deiner Webinare automatisiert abrufen und in deinem eigenen CRM, E-Mail-System oder einer eigenen Datenbank speichern.

Das ist zum Beispiel sinnvoll, wenn du:

  1. deine Erinnerungsmails selbst versenden möchtest,
  2. ein eigenes E-Mail-Marketing-System verwendest,
  3. nach dem Webinar eigene Follow-up-Sequenzen starten möchtest,
  4. Teilnehmer mit deinem CRM synchronisieren möchtest,
  5. eigene Automatisierungen mit Make, n8n oder einer eigenen Software bauen möchtest.

Die WebinarSuite API liefert dir dabei die Teilnehmerdaten. Den Versand der E-Mails übernimmt anschließend dein eigenes System.

1. Welchen API-Key brauchst du?

Erstelle unter:

API-Verwaltung → Meine eigene API

einen API-Key.

Für den Abruf von Teilnehmern muss dieser mindestens folgende Berechtigung besitzen:

Plain text
anmeldungen:read

Möchtest du später zusätzlich feststellen, ob und wie lange ein Teilnehmer tatsächlich am Webinar teilgenommen hat, benötigst du zusätzlich:

Plain text
teilnahmen:read

Der API-Key wird bei jedem Request im Header übertragen:

http
Authorization: Bearer ws_live_DEIN_API_KEY

Der Key gehört ausschließlich auf deinen Server oder in die Secret-Verwaltung deines Automatisierungssystems.

2. Teilnehmer eines Webinars abrufen

Die Anmeldungen werden über folgenden Endpunkt abgerufen:

http
GET /api/v1/anmeldungen

Für eine produktive Integration solltest du die Daten auf das gewünschte Webinar einschränken.

Dafür verwendest du die öffentliche Webinar-ID.

Eine Webinar-ID sieht beispielsweise so aus:

Plain text
web_xxxxxxxxxxxx

Die öffentliche Webinar-ID kannst du über:

http
GET /api/v1/webinare

ermitteln.

Anschließend kannst du die Anmeldungen für dieses Webinar abrufen.

Beispiel:

Bash
curl \
-H "Authorization: Bearer ws_live_DEIN_API_KEY" \
"https://my.webinarsuite.me/api/v1/anmeldungen?webinar=web_xxxxxxxxxxxx&limit=200"

Verwende keine internen oder numerischen Webinar-IDs.

3. Welche Teilnehmerdaten solltest du speichern?

Wenn du mit den Daten Erinnerungs- und Nachfassmails versenden möchtest, solltest du nicht nur die E-Mail-Adresse speichern.

Für eine zuverlässige Synchronisation empfehlen wir mindestens folgende Daten:

Besonders wichtig sind tkey, E-Mail-Adresse, Webinar-Zuordnung, Termin und updated_at.

Ohne diese Felder lässt sich eine zuverlässige Erinnerungskette nur schwer bauen.

4. Der tkey ist dein wichtigster Schlüssel

Verwende nicht die E-Mail-Adresse als alleinige ID eines Teilnehmers.

Eine Person kann sich beispielsweise:

  1. mehrfach anmelden,
  2. für unterschiedliche Webinare anmelden,
  3. für unterschiedliche Termine desselben Webinars anmelden.

WebinarSuite verwendet deshalb den:

Plain text
tkey

als eindeutige Kennung einer Anmeldung.

Beispiel:

Plain text
a7f24c8...

Speichere den tkey in deiner Datenbank als eindeutigen Schlüssel.

Vereinfacht:

Plain text
tkey existiert bereits
→ bestehenden Datensatz aktualisieren

tkey existiert noch nicht
→ neuen Datensatz anlegen

Dieses Verfahren nennt man Upsert.

So verhinderst du Dubletten.

5. Beispiel für deine eigene Teilnehmer-Tabelle

Eine einfache eigene Datenbank könnte beispielsweise folgende Struktur haben:

Plain text
webinarsuite_tkey
email
vorname
nachname
telefon
webinar_id
landingpage_id
termin_start_utc
zeitzone
doi_status
affiliate
created_at
updated_at

reminder_24h_sent
reminder_1h_sent
followup_sent

Die letzten drei Felder stammen nicht aus WebinarSuite.

Sie gehören zu deiner eigenen Versandlogik.

Damit kannst du beispielsweise speichern:

Plain text
reminder_24h_sent = true

und verhindern, dass dein System dieselbe Erinnerung zweimal versendet.

6. WebinarSuite-Daten und deine eigenen Versanddaten trennen

Das ist ein wichtiger Punkt.

Die Daten aus WebinarSuite solltest du möglichst getrennt von deinem eigenen Versandstatus betrachten.

Beispiel:

Daten aus WebinarSuite

Plain text
tkey
email
vorname
webinar_id
termin_start_utc
updated_at

Daten deines eigenen Systems

Plain text
reminder_24h_sent
reminder_1h_sent
reminder_15min_sent
followup_1_sent
followup_2_sent

Warum?

Wenn WebinarSuite einen Teilnehmer später aktualisiert, darf dein Import nicht versehentlich deinen eigenen Versandstatus überschreiben.


7. Erinnerungsmails anhand des Webinar-Termins senden

Für Erinnerungsmails ist der gebuchte Webinar-Termin entscheidend.

Die API liefert Zeitangaben in UTC.

Speichere den Termin möglichst unverändert als UTC-Zeitpunkt.

Beispiel:

Plain text
2026-08-20T17:00:00Z

Deine Automatisierung kann anschließend berechnen:

Plain text
Termin - 24 Stunden
→ erste Erinnerungsmail

Termin - 1 Stunde
→ zweite Erinnerungsmail

Termin - 15 Minuten
→ letzte Erinnerungsmail

Beispiel:

Plain text
Webinar:
20.08.2026 17:00 UTC

24-Stunden-Mail:
19.08.2026 17:00 UTC

1-Stunden-Mail:
20.08.2026 16:00 UTC

Erst beim Anzeigen oder Versenden solltest du den Zeitpunkt bei Bedarf in die gewünschte lokale Zeitzone umrechnen.

Die API selbst verwendet UTC-Zeitstempel.

8. Teilnehmer nicht bei jedem Lauf komplett neu importieren

Ein häufiger Fehler wäre:

Plain text
alle 5 Minuten sämtliche Teilnehmer des Webinars abrufen

Das funktioniert zwar bei kleinen Datenmengen, ist aber unnötig und schlecht skalierbar.

Verwende für regelmäßige Synchronisationen den Parameter:

Plain text
seit

Beispiel:

Bash
curl \
-H "Authorization: Bearer ws_live_DEIN_API_KEY" \
"https://my.webinarsuite.me/api/v1/anmeldungen?webinar=web_xxxxxxxxxxxx&seit=2026-08-16T10:00:00Z&limit=200"

Damit bekommst du nur Datensätze, die seit diesem Zeitpunkt neu angelegt oder verändert wurden.

Die Public API ist ausdrücklich für inkrementelle Abrufe über seit vorgesehen.

9. Sicherheitsüberlappung verwenden

Wir empfehlen, beim nächsten Abruf nicht exakt beim letzten Zeitpunkt weiterzumachen, sondern eine kleine Überlappung einzubauen.

Beispiel:

Letzter erfolgreicher Datensatz:

Plain text
2026-08-16T15:30:00Z

Nächster Sync:

Plain text
seit=2026-08-16T15:29:00Z

Damit holst du vorsichtshalber die letzte Minute erneut.

Ein Teilnehmer kann dadurch zwar zweimal geliefert werden.

Das ist kein Problem, solange du ihn anhand seines tkey per Upsert verarbeitest.

Die API ist bewusst so ausgelegt, dass bei laufenden Änderungen eher ein Datensatz doppelt geliefert wird, als dass einer verloren geht.

10. Pagination beachten

Pro Request werden nicht unbegrenzt Teilnehmer ausgegeben.

Standardmäßig werden:

Plain text
50

Datensätze geliefert.

Maximal möglich sind:

Plain text
200

Wenn weitere Teilnehmer vorhanden sind, enthält die Antwort:

JSON
{
"pagination": {
"next_cursor": "...",
"has_more": true
}
}

Ist:

JSON
"has_more": true

musst du den nächsten Request mit dem gelieferten Cursor senden.

Beispiel:

Plain text
/api/v1/anmeldungen
?webinar=web_xxxxxxxxxxxx
&seit=2026-08-16T10:00:00Z
&limit=200
&cursor=DEIN_CURSOR

Verändere den Cursor nicht.

Übernimm ihn exakt aus der vorherigen API-Antwort.

11. Beispiel eines kompletten Synchronisationsablaufs

Ein guter Sync sieht so aus:

Plain text
1. letzten erfolgreichen Sync-Zeitpunkt laden

2. eine Minute Sicherheitsüberlappung abziehen

3. Teilnehmer mit ?seit=... abrufen

4. jeden Teilnehmer anhand des tkey suchen

5. bestehenden Teilnehmer aktualisieren
oder neuen Teilnehmer anlegen

6. pagination.has_more prüfen

7. bei true mit next_cursor weiterblättern

8. erst nach vollständigem Erfolg
neuen Sync-Zeitpunkt speichern

Wichtig:

Speichere den neuen Sync-Zeitpunkt erst, wenn alle Seiten erfolgreich verarbeitet wurden.

Bricht beispielsweise Seite 3 von 5 ab, darfst du den Sync nicht als abgeschlossen markieren.

12. Eigene Erinnerungsmail-Logik

Dein System kann anschließend regelmäßig prüfen:

Plain text
termin_start_utc - aktuelle Uhrzeit

Beispiel:

Plain text
noch 24 Stunden
UND reminder_24h_sent = false
→ Erinnerung senden
→ reminder_24h_sent = true

Dasselbe Prinzip gilt für weitere Erinnerungen.

Zum Beispiel:

Plain text
24 Stunden vorher
1 Stunde vorher
15 Minuten vorher

Die konkreten Zeitpunkte legst du in deinem eigenen System fest.

13. Nachfassmails nach dem Webinar

Nach Ende des Webinars kannst du ebenfalls mit deinem eigenen System arbeiten.

Die einfachste Variante lautet:

Plain text
Webinar-Termin ist vorbei
UND followup_sent = false
→ Nachfassmail senden

Noch besser wird die Automatisierung, wenn du zusätzlich die Teilnahmedaten aus WebinarSuite abrufst.

Dafür gibt es:

http
GET /api/v1/teilnahmen

Damit kannst du unterscheiden, ob jemand tatsächlich am Webinar teilgenommen hat.

Die Teilnahmedaten enthalten unter anderem Informationen zur Session, zur Wiedergabedauer und zu Beginn bzw. Ende der Teilnahme.

Damit kannst du unterschiedliche Follow-ups bauen.

Beispiel:

Plain text
angemeldet + teilgenommen
→ Danke-/Angebotsmail

angemeldet + nicht teilgenommen
→ "Du hast das Webinar verpasst"-Mail

Oder später noch feiner:

Plain text
nur wenige Minuten gesehen
→ Replay-Mail

lange teilgenommen
→ Angebots-/Termin-Mail


14. Anmeldungen und Teilnahmen sind zwei verschiedene Dinge

Das solltest du in deiner Integration unbedingt berücksichtigen.

Der Endpunkt:

http
GET /api/v1/anmeldungen

beantwortet:

Wer hat sich angemeldet?

Der Endpunkt:
http
GET /api/v1/teilnahmen

beantwortet:

Wer hat tatsächlich teilgenommen?

Für Erinnerungsmails vor dem Webinar brauchst du hauptsächlich die Anmeldung.

Für intelligente Nachfassmails nach dem Webinar können zusätzlich die Teilnahmedaten interessant sein.

15. Beispiel für deine Versandlogik

Ein typischer Ablauf könnte so aussehen:

Plain text
Person meldet sich an
↓ API-Sync

Teilnehmer wird in deinem System gespeichert
↓
24 Stunden vor Termin
Erinnerungsmail
↓
1 Stunde vor Termin
Erinnerungsmail
↓
Webinar findet statt

↓ API-Sync der Teilnahmen

Hat teilgenommen?
↓
JA
↓
Danke-/Angebotsmail

Hat nicht teilgenommen?
↓
NEIN
↓
Replay-/Verpasst-Mail

16. Welche Felder solltest du auf keinen Fall ignorieren?

Für diesen Anwendungsfall sind besonders wichtig:

tkey

Eindeutige Kennung der Anmeldung.

Nicht durch E-Mail-Adresse ersetzen.

email

Zieladresse deiner E-Mails.

vorname

Für persönliche Ansprache.

Webinar-Zuordnung

Damit du weißt, für welches Webinar die Person angemeldet ist.

termin_start

Damit du weißt, wann die Erinnerungsmails versendet werden müssen.

updated_at

Damit du Änderungen zuverlässig synchronisieren kannst.

Teilnahmedaten

Für unterschiedliche Follow-ups nach dem Webinar.

17. Was passiert, wenn sich Teilnehmerdaten ändern?

Angenommen ein Teilnehmer wird erneut verarbeitet oder Daten verändern sich.

Dein System sollte dann nicht einfach einen weiteren Datensatz anlegen.

Stattdessen:

Plain text
Suche nach tkey

gefunden
→ WebinarSuite-Felder aktualisieren

nicht gefunden
→ neuen Teilnehmer anlegen

Dabei solltest du deine eigenen Versandfelder nicht überschreiben.

Beispiel:

Plain text
WebinarSuite liefert:

email
vorname
termin_start
updated_at

Diese Felder werden aktualisiert.

Dein eigenes:

Plain text
reminder_24h_sent = true

bleibt unangetastet.



18. Beispiel einer sinnvollen lokalen Datenstruktur

JSON
{
"tkey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"email": "max@example.com",
"vorname": "Max",
"nachname": "Mustermann",

"webinar_id": "web_xxxxxxxxxxxx",
"landingpage_id": "lp_xxxxxxxxxxxx",

"termin_start_utc": "2026-08-20T17:00:00Z",
"zeitzone": "Europe/Berlin",

"created_at": "2026-08-16T10:00:00Z",
"updated_at": "2026-08-16T10:00:00Z",

"reminder_24h_sent": false,
"reminder_1h_sent": false,
"followup_sent": false
}

Die reminder_*- und followup_*-Felder sind Beispiele für deine eigene Anwendung und werden nicht von WebinarSuite verwaltet.

19. Datenschutz beachten

Über die API können personenbezogene Daten wie Name, E-Mail-Adresse und Telefonnummer verarbeitet werden.

Wenn du diese Daten in deinem eigenen System speicherst oder an einen weiteren Dienst überträgst, bist du selbst dafür verantwortlich, dass:

  1. der Zugriff geschützt ist,
  2. nur notwendige Daten gespeichert werden,
  3. Löschungen berücksichtigt werden,
  4. deine eingesetzten Dienstleister datenschutzkonform eingebunden sind.

Speichere deinen API-Key niemals zusammen mit frei zugänglichem Frontend-Code.

20. Kurz gesagt

Wenn du die WebinarSuite-Teilnehmer für deine eigenen Erinnerungs- und Nachfassmails verwenden möchtest, brauchst du im Kern:

Plain text
API-Key mit anmeldungen:read
+
GET /api/v1/anmeldungen
+
Filter auf dein Webinar
+
tkey als eindeutige ID
+
E-Mail + Teilnehmerdaten
+
Webinar-Termin
+
updated_at für Synchronisierung
+
eigene Versandstatus-Felder

Für unterschiedliche Nachfassmails nach dem Webinar kannst du zusätzlich:

Plain text
teilnahmen:read

und:

http
GET /api/v1/teilnahmen

verwenden.


So bleibt WebinarSuite die Quelle für Anmeldung und Teilnahme, während dein eigenes System entscheidet, wann welche E-Mail an welchen Teilnehmer gesendet wird.

War dieser Artikel hilfreich?