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 وائس بوٹ سے الگ ہے۔ فون کالز ہر ٹیننٹ کے لیے الگ الگ SIP انسٹینسز میں چلتی ہیں اور صرف ماسٹر ایڈمن کے ذریعے فعال کی جاتی ہیں؛ `voice-speak` کسی فون نمبر کو کنٹرول نہیں کرتا اور نہ ہی فون کال شروع کرتا ہے۔ رسائی پذیری کے لیے ڈیمو آڈیو آؤٹ پٹ کے ساتھ ساتھ ہمیشہ مکمل ٹیکسٹ بھی دکھانا چاہیے۔ بولنے والی زبان میں وہ معلومات شامل نہیں ہونی چاہیے جو بصارت سے غائب ہیں۔ براؤزرز پلے بیک کو بلاک کر سکتے ہیں جب تک کہ صارف کی کوئی تعامل نہ ہو؛ اس لیے شروعات کو ایک کلک کے ذریعے متعمد طور پر شروع کیا جانا چاہیے۔ ختم کرنا اور دوبارہ پلے کرنا کنٹرول شدہ طریقے سے ممکن ہونا چاہیے۔

تصدیقِ شناخت اور تحفظ

تصدیقِ شناخت ضروری نہیں

Origin چیک مستقل طور پر https://zentor-app.de / https://www.zentor-app.de پر مقرر ہے (قابلِ کنفیگریشن نہیں، ڈیمو راستے پر Widget-Token کا متبادل)۔

Idempotent (دہرانے پر یکساں اثر): جی ہاں

پیرامیٹرز

visitor_id(body, string، ضروری)— ایک درست UUID ہونا ضروری ہے
text(body, string، ضروری)— آواز میں تبدیل کیا جانے والا متن

مثالی Response

{"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 کا ڈیمو ہم منصب۔

← ڈیمو چیٹ بوٹ اور SSO