POST/api/global-chatbot/demo/voice-speak
Wandelt Text in gesprochene Sprache um (Text-to-Speech) für die Sprachausgabe auf der Demo-Seite, sofern aktiviert.
`POST /api/global-chatbot/demo/voice-speak` wandelt Text in gesprochene Sprache um, sofern die Sprachfunktion für die Demo aktiviert ist. Der Endpunkt wird von der öffentlichen Demo-Seite verwendet und ist nicht als frei nutzbare allgemeine Text-to-Speech-API vorgesehen. Eine Dashboard-Authentifizierung ist nicht erforderlich, dafür gilt eine feste Origin-Prüfung für `https://zentor-app.de` und `https://www.zentor-app.de`. Der Request enthält den auszugebenden Text und die im dokumentierten Schema vorgesehenen Sprachoptionen. Der Client sollte nur Text senden, der tatsächlich im Demo-Dialog gesprochen werden soll. Leere Eingaben, ungültige Formate oder eine nicht aktivierte Sprachfunktion müssen als Fehler behandelt werden. Eine lokale Änderung der Origin oder ein Aufruf von einer fremden Domain umgeht die serverseitige Prüfung nicht. Die Operation erzeugt Audio und ist daher nicht als idempotente reine Leseoperation zu betrachten. Mehrfaches Senden desselben Textes kann mehrere Verarbeitungsvorgänge auslösen. Die Demo-Oberfläche sollte den Ausgabeknopf während der Verarbeitung deaktivieren und laufende Wiedergaben sauber beenden, bevor eine neue gestartet wird. Ein realistischer Ablauf beginnt mit einer Bot-Antwort in der Demo. Der Nutzer aktiviert die Sprachausgabe, die Seite sendet den Antworttext an `voice-speak`, erhält die Audiodaten beziehungsweise die dokumentierte Audioantwort und spielt sie im Browser ab. Scheitert die Anfrage wegen einer nicht erlaubten Origin, darf die Oberfläche keinen beliebigen Ersatzdienst aufrufen, sondern sollte die Sprachfunktion als nicht verfügbar anzeigen. Passwörter, Tokens oder vertrauliche Inhalte gehören nicht in den Request. Der Demo-Kanal ist öffentlich und nicht für geheime Unternehmensdaten gedacht. Auch Audioantworten sollten nicht dauerhaft in öffentlichen Logs gespeichert werden. Der Endpunkt ist technisch vom SIP-Voicebot getrennt. Die Telefonie läuft in isolierten SIP-Instanzen je Mandant und wird ausschließlich durch Master Admin aktiviert; `voice-speak` steuert keine Rufnummer und startet keinen Telefonanruf. Für Barrierefreiheit sollte die Demo neben der Audioausgabe immer den vollständigen Text anzeigen. Die Sprachausgabe darf keine Information enthalten, die visuell fehlt. Browser können die Wiedergabe blockieren, solange keine Nutzerinteraktion erfolgt; deshalb sollte der Start bewusst durch einen Klick ausgelöst werden. Abbruch und erneute Wiedergabe müssen kontrolliert möglich sein.
Auth & Absicherung
Keine Authentifizierung erforderlich
Origin-Pruefung fest auf https://zentor-app.de / https://www.zentor-app.de (nicht konfigurierbar, Ersatz fuer Widget-Token auf dem Demo-Pfad).
Idempotent: Ja
Parameter
visitor_id(body, string, erforderlich)— Muss eine gültige UUID seintext(body, string, erforderlich)— In Sprache umzuwandelnder TextBeispiel-Response
{"ok":false,"error":{"code":"VOICE_UNAVAILABLE","message":"Sprachfunktion aktuell nicht verfügbar."}}Fehlercodes
400 INVALID_VISITOR_ID — visitor_id fehlt oder ist keine gültige UUID.403 ORIGIN_DENIED — Anfrage-Origin ist nicht zentor-app.de.503 VOICE_UNAVAILABLE — Sprachfunktion aktuell nicht verfügbar.Live-Test-Nachweis
Negativfälle (400 INVALID_VISITOR_ID, 503 VOICE_UNAVAILABLE, jeweils mit korrektem Origin-Header) live verifiziert. GET-Variante desselben Pfads existiert ebenfalls (natives <audio src>-Streaming, identisches Verhalten). Demo-Pendant zu widget.voice_speak.