POST/api/global-chatbot/demo/voice-speak
Converte texto em fala (Text-to-Speech) para saída de voz na página Demo, se estiver ativa.
`POST /api/global-chatbot/demo/voice-speak` converte texto em fala se a função de voz estiver ativa para a Demo. O endpoint é usado pela página Demo pública e não é destinado a funcionar como API geral de Text-to-Speech de livre utilização. Não exige autenticação de dashboard, mas aplica uma verificação fixa de Origin para `https://zentor-app.de` e `https://www.zentor-app.de`. O pedido contém o texto a reproduzir e as opções de voz previstas no schema documentado. O cliente deve enviar apenas texto que deva realmente ser falado no diálogo Demo. Entradas vazias, formatos inválidos ou função de voz desativada devem ser tratados como erro. Alterar localmente a Origin ou chamar a partir de domínio externo não contorna a verificação no servidor. A operação gera áudio e, por isso, não deve ser tratada como leitura pura idempotente. Enviar o mesmo texto várias vezes pode criar vários processos. A interface Demo deve desativar o botão de saída durante o processamento e terminar corretamente uma reprodução em curso antes de iniciar outra. Um fluxo realista começa com uma resposta do bot na Demo. O utilizador ativa a saída de voz, a página envia o texto da resposta para `voice-speak`, recebe os dados de áudio ou resposta de áudio documentada e reproduz no browser. Se a chamada falhar por Origin não autorizada, a interface não deve recorrer a qualquer serviço substituto; deve indicar a função de voz como indisponível. Palavras-passe, tokens ou conteúdos confidenciais não pertencem ao Request. O canal Demo é público e não se destina a dados empresariais secretos. Respostas de áudio também não devem ser guardadas permanentemente em logs públicos. O endpoint é tecnicamente separado do SIP-Voicebot. Telefonia funciona em instâncias SIP isoladas por tenant e é ativada exclusivamente pelo Master Admin; `voice-speak` não controla números nem inicia chamadas telefónicas. Para acessibilidade, a Demo deve mostrar sempre o texto completo juntamente com a saída de áudio. A fala não deve conter informação que não esteja visível. Browsers podem bloquear a reprodução sem interação do utilizador; por isso, o início deve ser acionado conscientemente por clique. Cancelamento e nova reprodução devem ser possíveis de forma controlada.
Autenticação e segurança
Não é necessária autenticação
Verificação de Origin fixa em https://zentor-app.de / https://www.zentor-app.de (não configurável, substitui o Widget-Token no caminho da demo).
Idempotente: Sim
Parâmetros
visitor_id(body, string, obrigatório)— Tem de ser uma UUID válidatext(body, string, obrigatório)— Texto a converter em vozResposta de exemplo
{"ok":false,"error":{"code":"VOICE_UNAVAILABLE","message":"Sprachfunktion aktuell nicht verfügbar."}}Códigos de erro
400 INVALID_VISITOR_ID — visitor_id em falta ou não é uma UUID válida.403 ORIGIN_DENIED — A Origin do pedido não é zentor-app.de.503 VOICE_UNAVAILABLE — Função de voz não disponível neste momento.Evidência de teste live
Casos negativos (400 INVALID_VISITOR_ID, 503 VOICE_UNAVAILABLE, ambos com header Origin correto) verificados live. Existe também uma variante GET do mesmo caminho (streaming nativo `<audio src>`, comportamento idêntico). Equivalente Demo de widget.voice_speak.