POST/api/global-chatbot/demo/voice-speak
활성화된 경우 데모 페이지에서 음성 출력을 위해 텍스트를 음성으로 변환(Text-to-Speech)합니다.
`POST /api/global-chatbot/demo/voice-speak`는 데모용 음성 기능이 활성화되어 있는 경우 텍스트를 음성으로 변환합니다. 이 엔드포인트는 공개 데모 페이지에서 사용되며, 자유롭게 이용 가능한 범용 텍스트 음성 변환(TTS) API로 제공되는 것이 아닙니다. 대시보드 인증은 필요하지 않지만, 대신 `https://zentor-app.de` 및 `https://www.zentor-app.de`에 대한 고정된 Origin 검사가 적용됩니다. 요청에는 출력할 텍스트와 문서화된 스키마에 정의된 음성 옵션이 포함됩니다. 클라이언트는 실제로 데모 대화에서 음성으로 출력되어야 할 텍스트만 전송해야 합니다. 빈 입력값, 잘못된 형식, 또는 음성 기능이 활성화되지 않은 경우는 오류로 처리해야 합니다. Origin을 로컬에서 변경하거나 외부 도메인에서 호출하더라도 서버 측 검사를 우회할 수 없습니다. 이 작업은 오디오를 생성하므로 멱등적인 순수 읽기 작업으로 간주해서는 안 됩니다. 동일한 텍스트를 여러 번 전송하면 여러 처리 과정이 트리거될 수 있습니다. 데모 화면은 처리 중에는 출력 버튼을 비활성화하고, 새로운 재생을 시작하기 전에 진행 중인 재생을 깔끔하게 종료해야 합니다. 실제 흐름은 데모 내 봇 응답에서 시작됩니다. 사용자가 음성 출력을 활성화하면 페이지는 응답 텍스트를 `voice-speak`로 전송하고, 오디오 데이터 또는 문서화된 오디오 응답을 받아 브라우저에서 재생합니다. 허용되지 않은 Origin으로 인해 요청이 실패할 경우, 화면은 임의의 대체 서비스를 호출해서는 안 되며 음성 기능을 사용할 수 없음으로 표시해야 합니다. 비밀번호, 토큰 또는 기밀 정보는 요청에 포함되어서는 안 됩니다. 데모 채널은 공개되어 있으며 기업의 기밀 데이터를 위한 것이 아닙니다. 오디오 응답 또한 공개 로그에 영구적으로 저장되어서는 안 됩니다. 이 엔드포인트는 기술적으로 SIP 보이스봇과 분리되어 있습니다. 전화 기능은 테넌트별로 격리된 SIP 인스턴스에서 실행되며 오직 마스터 관리자를 통해서만 활성화됩니다. `voice-speak`는 전화번호를 제어하지 않으며 전화 통화를 시작하지 않습니다. 접근성을 위해 데모는 오디오 출력과 함께 항상 전체 텍스트를 표시해야 합니다. 음성 출력에는 시각적으로 표시되지 않는 정보가 포함되어서는 안 됩니다. 브라우저는 사용자 상호작용이 없는 한 재생을 차단할 수 있으므로, 재생 시작은 클릭을 통해 의도적으로 트리거되어야 합니다. 중단 및 재재생은 제어된 방식으로 가능해야 합니다.
Auth & Absicherung
Keine Authentifizierung erforderlich
Origin-Pruefung은 https://zentor-app.de / https://www.zentor-app.de에 고정되어 있습니다(구성 불가, Demo 경로에서 위젯 토큰 대체용).
Idempotent: Ja
Parameter
visitor_id(body, string, erforderlich)— 유효한 UUID여야 합니다text(body, string, erforderlich)— 언어로 변환할 텍스트Beispiel-Response
{"ok":false,"error":{"code":"VOICE_UNAVAILABLE","message":"음성 기능이 현재 사용 불가능합니다."}}Fehlercodes
400 INVALID_VISITOR_ID — visitor_id가 누락되었거나 유효한 UUID가 아닙니다.403 ORIGIN_DENIED — 요청 원본이 zentor-app.de가 아닙니다.503 VOICE_UNAVAILABLE — 현재 언어 기능을 사용할 수 없습니다.Live-Test-Nachweis
부정 사례(400 INVALID_VISITOR_ID, 503 VOICE_UNAVAILABLE, 각각 올바른 Origin 헤더 포함)가 라이브로 검증되었습니다. 동일한 경로의 GET 버전도 존재합니다(네이티브 <audio src> 스트리밍, 동일한 동작). widget.voice_speak의 데모 대응 버전입니다.