POST/api/global-chatbot/demo/voice-speak
Chuyển đổi văn bản thành giọng nói (Text-to-Speech) cho phần phát âm thanh trên trang demo, nếu đã kích hoạt.
`POST /api/global-chatbot/demo/voice-speak` chuyển đổi văn bản thành giọng nói nếu chức năng giọng nói được kích hoạt cho mục đích demo. Điểm cuối này được sử dụng bởi trang demo công cộng và không được thiết kế để sử dụng miễn phí như một API text-to-speech tổng quát. Không cần xác thực qua Dashboard; thay vào đó, một nguyên tắc kiểm tra nguồn gốc cố định được áp dụng cho `https://zentor-app.de` và `https://www.zentor-app.de`. Yêu cầu bao gồm văn bản cần trả về và các tùy chọn ngôn ngữ theo sơ đồ được tài liệu hóa. Client chỉ nên gửi văn bản thực sự cần được nói trong cuộc hội thoại demo. Các đầu vào rỗng, định dạng không hợp lệ hoặc chức năng giọng nói chưa kích hoạt phải được xử lý như lỗi. Việc thay đổi nguồn gốc cục bộ hoặc gọi từ một miền khác không thể bỏ qua kiểm tra phía máy chủ. Thao tác này tạo ra âm thanh và do đó không được coi là một thao tác đọc thuần túy có tính idempotent. Gửi cùng một văn bản nhiều lần có thể kích hoạt nhiều quy trình xử lý. Giao diện demo nên vô hiệu hóa nút phát trong quá trình xử lý và kết thúc phần phát lại đang chạy một cách sạch sẽ trước khi bắt đầu mới. Một quy trình thực tế bắt đầu bằng câu trả lời của Bot trong demo. Người dùng kích hoạt giọng nói, trang web gửi văn bản câu trả lời đến `voice-speak`, nhận dữ liệu âm thanh hoặc câu trả lời âm thanh được tài liệu hóa và phát chúng trong trình duyệt. Nếu yêu cầu thất bại do nguồn gốc không được phép, giao diện không được gọi bất kỳ dịch vụ thay thế nào mà nên hiển thị chức năng giọng nói là không khả dụng. Mật khẩu, token hoặc nội dung nhạy cảm không được đưa vào yêu cầu. Kênh demo là công cộng và không dành cho dữ liệu doanh nghiệp bí mật. Ngay cả các câu trả lời âm thanh cũng không nên được lưu trữ vĩnh viễn trong các nhật ký công khai. Điểm cuối này về mặt kỹ thuật được tách biệt khỏi SIP-Voicebot. Cuộc gọi điện thoại chạy trên các thực thể SIP bị cô lập theo từng tenant và chỉ được kích hoạt bởi Master Admin; `voice-speak` không điều khiển số điện thoại và không khởi động cuộc gọi điện thoại. Để đảm bảo khả năng tiếp cận, demo luôn phải hiển thị đầy đủ văn bản bên cạnh đầu ra âm thanh. Chức năng giọng nói không được chứa bất kỳ thông tin nào bị thiếu về mặt thị giác. Trình duyệt có thể chặn phát lại nếu không có tương tác của người dùng; do đó, việc khởi động nên được kích hoạt có chủ đích bằng cách nhấp chuột. Việc hủy và phát lại phải có thể kiểm soát được.
Xác thực & bảo mật
Không cần xác thực
Kiểm tra nguồn gốc cố định https://zentor-app.de / https://www.zentor-app.de (không cấu hình được, thay thế cho Widget-Token trên đường dẫn Demo).
Lũy đẳng (idempotent): Có
Tham số
visitor_id(body, string, bắt buộc)— Phải là một UUID hợp lệtext(body, string, bắt buộc)— Văn bản cần chuyển đổi sang giọng nóiResponse mẫu
{"ok":false,"error":{"code":"VOICE_UNAVAILABLE","message":"Chức năng giọng nói hiện không khả dụng."}}Mã lỗi
400 INVALID_VISITOR_ID — visitor_id bị thiếu hoặc không phải là UUID hợp lệ.403 ORIGIN_DENIED — Origin của yêu cầu không phải zentor-app.de.503 VOICE_UNAVAILABLE — Chức năng giọng nói hiện không khả dụng.Bằng chứng kiểm thử trực tiếp
Các trường hợp lỗi (400 INVALID_VISITOR_ID, 503 VOICE_UNAVAILABLE, mỗi trường hợp đều có Origin-Header chính xác) đã được xác minh trực tuyến. Biến thể GET của cùng một đường dẫn cũng tồn tại (streaming <audio src> gốc, hành vi giống hệt). Đây là phiên bản demo tương ứng với widget.voice_speak.