POST/api/global-chatbot/demo/poll
Fragt neue, asynchron eingetroffene Nachrichten einer Demo-Chat-Session ab (z. B. wenn ein menschlicher Agent im Master-Admin übernommen hat) — wird vom Widget periodisch aufgerufen.
`POST /api/global-chatbot/demo/poll` fragt neue Nachrichten oder Statusänderungen für eine bestehende Demo-Sitzung ab. Der Body enthält `session_id` und `visitor_id`. Beide Werte müssen aus derselben öffentlichen Demo-Konversation stammen. Fehlt einer der Parameter, antwortet der Server mit `400 PARAMS_REQUIRED`. Die Route benötigt keine Benutzeranmeldung und liest den aktuellen Stand der Demo-Sitzung. Sie wird verwendet, wenn eine Antwort nicht unmittelbar mit dem vorherigen Request zurückkommt oder wenn die Oberfläche später eingetroffene Nachrichten anzeigen soll. Polling ist kein Ersatz für das Senden einer Nachricht; es erzeugt selbst keine neue Besucheranfrage. Der Client muss zwischen den Aufrufen eine angemessene Pause einhalten. Eine enge Endlosschleife erhöht Last und kann Rate-Limits auslösen, ohne schneller eine Antwort zu erzeugen. Wird die Sitzung beendet, ungültig oder nicht mehr auffindbar, soll das Polling stoppen und die Oberfläche einen neuen Start anbieten. Abgebrochene Seiten oder versteckte Tabs dürfen keine dauerhaft laufenden Hintergrundanfragen hinterlassen. `session_id` und `visitor_id` sind keine allgemeinen Zugangsdaten für andere Gespräche. Sie dürfen nicht zwischen Besuchern geteilt oder zusammen mit Nachrichten an öffentliche Analysewerkzeuge gesendet werden. Die Demo bleibt von Tenant-Konversationen und produktiven Inbox-Daten getrennt. Ein korrekter Test startet eine Demo-Sitzung, sendet eine Nachricht und ruft anschließend Poll mit denselben Identifikatoren auf. Zusätzlich wird ein Request ohne `visitor_id` geprüft. Der dokumentierte negative Test ist ein Fehlernachweis, kein Beleg dafür, dass eine vollständige produktive Unterhaltung erfolgreich abgeschlossen wurde.
Auth & Absicherung
Keine Authentifizierung erforderlich
Idempotent: Ja
Parameter
session_id(body, string, erforderlich)visitor_id(body, string, erforderlich)Beispiel-Request
{"session_id":"<UUID>","visitor_id":"<UUID>"}Beispiel-Response
{"ok":true,"data":{"messages":[]}}Fehlercodes
400 PARAMS_REQUIRED — session_id und/oder visitor_id fehlen.Live-Test-Nachweis
Erfolg (200, leere Liste da keine neuen asynchronen Nachrichten seit demo.chat) und Negativfall (400) live verifiziert.