POST/api/global-chatbot/demo/voice-speak

Zet tekst om in gesproken taal (tekst-naar-spraak) voor de spraakuitvoer op de demo-pagina, indien geactiveerd.

`POST /api/global-chatbot/demo/voice-speak` zet tekst om in gesproken taal, mits de spraakfunctie voor de demo is ingeschakeld. Het endpoint wordt gebruikt door de openbare demopagina en is niet bedoeld als vrij te gebruiken algemene tekst-naar-spraak-API. Er is geen dashboardauthenticatie vereist; wel geldt een vaste origin-controle voor `https://zentor-app.de` en `https://www.zentor-app.de`. De aanvraag bevat de tekst die moet worden uitgesproken en de spraakopties die zijn voorzien in het gedocumenteerde schema. De client moet alleen tekst verzenden die daadwerkelijk in de demodialoog moet worden gesproken. Lege invoer, ongeldige formaten of een niet-ingeschakelde spraakfunctie moeten als fouten worden behandeld. Een lokale wijziging van de origin of een aanroep vanaf een vreemd domein omzeilt de servercontrole niet. De bewerking genereert audio en mag daarom niet worden beschouwd als een idempotente, zuivere leesbewerking. Het meermaals verzenden van dezelfde tekst kan meerdere verwerkingen uitlokken. De demo-interface moet de uitvoerknop tijdens de verwerking uitschakelen en lopende afspelingen netjes beëindigen voordat een nieuwe wordt gestart. Een realistisch verloop begint met een botantwoord in de demo. De gebruiker activeert de spraakuitvoer, de pagina stuurt de antwoordtekst naar `voice-speak`, ontvangt de audiodata of het gedocumenteerde audioantwoord en speelt dit af in de browser. Als de aanvraag mislukt vanwege een niet-toegestane origin, mag de interface geen willekeurige vervangende dienst aanroepen, maar moet zij de spraakfunctie als niet beschikbaar weergeven. Wachtwoorden, tokens of vertrouwelijke inhoud horen niet in de aanvraag. Het democanaal is openbaar en niet bedoeld voor geheime bedrijfsgegevens. Ook audioantwoorden mogen niet permanent in openbare logs worden opgeslagen. Het endpoint is technisch gescheiden van de SIP-Voicebot. De telefonie draait in geïsoleerde SIP-instanties per tenant en wordt uitsluitend door Master Admin geactiveerd; `voice-speak` stuurt geen telefoonnummer aan en start geen telefoongesprek. Voor toegankelijkheid moet de demo naast de audio-uitvoer altijd de volledige tekst tonen. De spraakuitvoer mag geen informatie bevatten die visueel ontbreekt. Browsers kunnen de weergave blokkeren zolang er geen gebruikersinteractie is geweest; daarom moet de start bewust door een klik worden geactiveerd. Afbreken en opnieuw afspelen moeten gecontroleerd mogelijk zijn.

Auth & beveiliging

Geen authenticatie vereist

Origin-controle vast ingesteld op https://zentor-app.de / https://www.zentor-app.de (niet configureerbaar, vervanging voor het widget-token op het demopad).

Idempotent: Ja

Parameters

visitor_id(body, string, vereist)— Moet een geldige UUID zijn
text(body, string, vereist)— Tekst die wordt omgezet in gesproken taal

Voorbeeld-response

{"ok":false,"error":{"code":"VOICE_UNAVAILABLE","message":"De spraakfunctie is momenteel niet beschikbaar."}}

Foutcodes

400 INVALID_VISITOR_ID — visitor_id ontbreekt of is geen geldige UUID.
403 ORIGIN_DENIED — De origin van de aanvraag is niet zentor-app.de.
503 VOICE_UNAVAILABLE — Spraakfunctie momenteel niet beschikbaar.

Live-testbewijs

Negatieve gevallen (400 INVALID_VISITOR_ID, 503 VOICE_UNAVAILABLE, elk met correcte Origin-header) live geverifieerd. De GET-variant van hetzelfde pad bestaat ook (native <audio src>-streaming, identiek gedrag). Demo-tegenhanger van widget.voice_speak.

← Demo-chatbot en SSO