POST/api/global-chatbot/demo/voice-speak
Перетворює текст на мову (Text-to-Speech) для виведення звуку на сторінці демо, якщо ця функція активована.
`POST /api/global-chatbot/demo/voice-speak` перетворює текст на мовлення, якщо функція мовлення активована для демо. Цей ендпоінт використовується публічною сторінкою демо і не призначений для безкоштовного загального використання як текст-в-мовлення API. Автентифікація через дашборд не потрібна; замість цього для `https://zentor-app.de` та `https://www.zentor-app.de` застосовується фіксована перевірка Origin. Запит містить текст для виведення та опції мовлення, передбачені у задокументованій схемі. Клієнт повинен надсилати лише текст, який фактично має бути промовлений у діалозі демо. Порожні вхідні дані, некоректні формати або неактивована функція мовлення мають оброблятися як помилки. Локальна зміна Origin або виклик зі стороннього домену не обходить серверну перевірку. Ця операція створює аудіо, тому її не можна розглядати як ідемпотентну операцію лише для читання. Повторне надсилання одного й того самого тексту може запустити кілька процесів обробки. Інтерфейс демо має вимкнути кнопку виведення під час обробки та чистим чином завершити поточне відтворення перед запуском нового. Реалістичний сценарій починається з відповіді бота в демо. Користувач активує мовлення, сторінка надсилає текст відповіді до `voice-speak`, отримує аудіодані або задокументовану аудіо-відповідь і відтворює її у браузері. Якщо запит не вдалося виконати через недопустимий Origin, інтерфейс не повинен викликати довільний замінний сервіс, а має показати функцію мовлення як недоступну. Паролі, токени або конфіденційні дані не повинні міститися у запиті. Канал демо є публічним і не призначений для секретних корпоративних даних. Аудіо-відповіді також не повинні зберігатися постійно в публічних логах. Ендпоінт технічно відокремлений від SIP-Voicebot. Телефонія працює в ізольованих SIP-інстансах для кожного тенанта і активується виключно Master Admin; `voice-speak` не керує номером телефону і не ініціює телефонний дзвінок. Для доступності демо поряд із аудіо-виведенням завжди має відображати повний текст. Функція мовлення не повинна містити інформації, яка відсутня візуально. Браузери можуть блокувати відтворення, доки не відбулася взаємодія користувача; тому запуск має бути свідомо ініційований кліком. Припинення та повторне відтворення мають бути можливими під контролем.
Автентифікація та захист
Автентифікація не потрібна
Перевірка Origin жорстко задана для https://zentor-app.de / https://www.zentor-app.de (не налаштовується, заміна токена віджета на демонстраційному шляху).
Ідемпотентний: Так
Параметри
visitor_id(body, string, обов'язково)— Має бути дійсною UUIDtext(body, string, обов'язково)— Текст для перетворення на мовленняПриклад відповіді
{"ok":false,"error":{"code":"VOICE_UNAVAILABLE","message":"Функція мови наразі недоступна."}}Коди помилок
400 INVALID_VISITOR_ID — відсутній visitor_id або це не валідний UUID.403 ORIGIN_DENIED — Origin запиту не є zentor-app.de.503 VOICE_UNAVAILABLE — Функція мови наразі недоступна.Доказ живого тесту
Негативні випадки (400 INVALID_VISITOR_ID, 503 VOICE_UNAVAILABLE, кожен із правильним заголовком Origin) перевірені в режимі реального часу. Існує також GET-варіант того самого шляху (нативне <audio src>-стримінг, однакова поведінка). Демо-аналог до widget.voice_speak.