منوی صوتی پیشرفته
منوی صوتی پیشرفته – Advanced IVR
منوی صوتی پیشرفته یکی از پر کاربردترین و جذابترین افزونه های نرم افزار مرکز تماس ماهان ویپ است. همانطور که میدانید نرمافزار ماهان ویپ دارای افزونه دیگری به نام منوی صوتی است که تفاوتهای بسیاری با این افزونه دارد. در ادامه به بررسی تفاوتهای منوی صوتی و منوی صوتی پیشرفته و توضیح قسمتهای مختلف این افزونه خواهیم پرداخت و با یک مثال کاربردی آموزش را پایان خواهیم داد.
تفاوت های منوی صوتی و منوی صوتی پیشرفته
* منوی صوتی که جزء قسمتهای اصلی نرم افزار است به طور از پیش تعیین شده تمام قسمتهای مربوط به تماس مانند شماره مبدا ، مقصد و ماکروها را در جای خود مشخص کرده و فقط قابلیت دریافت پارامترهای مختلف را برای اجرا دارد، در صورتیکه در منوی پیشرفته تمام موارد به طور کامل در اختیار کاربر قرار دارد.
* هر منوی صوتی در نهایت قابلیت اجرای یک ماکرو را دارد و به منظور اجرای یک سناریو در برخی موارد باید از چندین منوی صوتی به صورت تو در تو و با استفاده از قانونگذاری ها مختلف استفاده نمود، در حالی که یک منوی صوتی پیشرفته به تنهایی قابلیت اجرای یک سناریو با چندین منو و قانونگذاری را درون خود دارد.
* منوی صوتی پیشرفته قابلیت ایجاد ارتباط با سیستمهای دیگر مانندCRM و غیره را با استفاده ازAPI دارد در صورتیکه در منوی صوتی فقط ارتباط از طریق ماکرو های از پیش تعریف شده میسر است.
* از هر دوی این منوها میتوان در قسمتهای مختلف یکدیگر نیز استفاده کرد.
قبل از شروع به چند نکته توجه فرمایید:
۱ – پس از ورود به صفحه مربوطه از طریق مسیر “مرکز تماس/ منوی صوتی پیشرفته/ افزودن” میتوانید با کشیدن و رها کردن ابزار ها به داخل “مسیر منوی صوتی هوشمند” از آنها استفاده نمایید.
۲ –توجه داشته باشید که اولویت اجرای فیلترهای ایجاد شده از بالا به پایین است.
۳ –اگر قصد دارید در مسیر منوی صوتی هوشمند از ابزار API استفاده کنید از برقراری ارتباط سرور ویپ با سرور API اطمینان حاصل نمایید.
۴ – برای مقدار دهی متغیرها لازم است نام متغیر را به انگلیسی و بدون استفاده از فاصله و علائم ویژه بنویسید (بهتر است همواره نام متغیرها را با مسمی انتخاب کرد تا در برنامههای بزرگ قابل فهم باشند و برای تغییرات احتمالی آینده سردرگمی کمتری ایجاد کنند)
۵ – نام متغیرها به کوچک و بزرگی حروف حساس هستند به طور مثال: mobile با Mobile متفاوت هستند
۶ – برای فراخوانی متغیرها باید از علامتهای {} استفاده کنیم به این صورت که اگر ما متغیری به نام callerId داریم هنگام فراخوانی آن به این شکل نوشته خواهد شد{callerId}
معرفی ابزارها:
در همه ابزارها کادری به نام توضیحات وجود دارد که تاثیری در عملکرد برنامه ندارد بلکه برای استفاده راحتتر تعبیه شدهاند تا بدانید از هر ابزار برای چه کاری استفاده کردهاید اگر برنامه شما گسترده است بهتر است فیلد توضیحات را پر کنید تا در آینده برای مدیریت آن دچار مشکل نشوید.
۱ – ورودی عدد
جهت دریافت عدد از کاربر تماس گیرنده از این ابزار استفاده میشود:
این ابزار دارای دو پارامتر است:
- ۱ – برای گذاشتن نام متغیر و باید حتما به انگلیسی نوشته شود، به طور مثال: mobileNumber
- ۲ – برای انتخاب فایل صوتی که به کاربر میگوید چه چیزی را وارد کند که برای این مثال فایل صوتیای را انتخاب میکنیم که میگوید شماره موبایل خود را وارد کنید.
۲ – پخش صدا
این ابزار برای پخش صدا استفاده میشود. برای مثال صدای خوشامدگویی و غیره که از فایلهای موجود در پوشه منوهای صوتی استفاده میکند.
۳ – خواندن اعداد
این ابزار برای خواندن اعداد است و میتوان اعداد را به صورت مستقیم نوشت مثلا ۲۱ و یا متغیری که عدد داخل آن است را وارد نمایید، مانند: {mobileNumber}
۴ – ضبط صدا
این ابزار بهمنظور ضبط صدا و ارسال آن بهCRM است و حتما برای اتمام و ذخیره فایل صدا باید کلید # شمارهگیری شود. فایلها نیز در مسیر advanceIvr/record/ ذخیره شده و نام فایلها برابر با callerid_date_randomString.wav هستند.
۵ – حذف فایل
پس از اتمام ضبط و ارسال فایل بهCRM جهت پاک کردن فایل ایجاد شده در سرور ویپ از این ابزار استفاده میشود و برای پاک کردن فایل نام متغیر یا مسیر فایل را وارد نمایید. این ابزار فقط توانایی پاک کردن فایلهایی را دارد که شروع مسیرشان ازadvanceIvr/ است. دقت بفرمایید که هنگام وارد کردن آدرس نیازی به وارد کردن مسیر پیش فرض نیست و فقط وارد کردن نامی که در ابزار ضبط استفاده شده کافی است.
۶ – شمردن طول یک رشته
هنگامیکه میخواهید بدانید یک رشته دارای چند رقم است از این ابزار استفاده میکنید. به طور مثال میخواهید اعتبارسنجی کنید عددی که کاربر به عنوان شماره موبایل وارد کرده یازده رقم هست یا خیر
این ابزار دارای دو پارامتر است:
- ۱ – رشتهای را میخواهد که باید شمرده شود.
- ۲ – نام متغیری را دریافت میکند که عدد را درون خود نگه میدارد. مثلاً اگر کاربر عدد ۴۲۱۲۳ را با تلفن وارد کرده باشد و شما از این ابزار استفاده کنید عدد ۵ را برای برمیگرداند چون عدد وارد شده دارای ۵ رقم است.
۷– فراخوانی وب سرویس
هنگامیکه میخواهید از یکAPI استفاده نمایید از این ابزار کمک میگیرید که دارای دو پارامتر است:
- ۱ – آدرسurl را دریافت میکند که اگر API با متدget کار میکند کافیستquery string را هم به آخرAPI اضافه نمایید، به طور مثال:
http://api.mahanvoip.com/auth?mobile={mobileNumber}&personalCode={secret}
- ۲ – مواقعی که API دادهها را از طریق متد post قبول میکند در این صورت در کادر url آدرس API را وارد نمایید، به طور مثال:
سپس در کادر دوم مقادیر را به صورت key=value وارد نموده و برای اضافه کردن چند مورد کافیست دکمه Enter را فشار دهید.
mobile={mobileNumber}
personalCode={secret}
*شرایط استفاده از API
دادههای برگشتی باید به صورت json باشند و ساختاری تک سطحی داشته باشند. یعنی برگشتن آرایه یا شی(object) برای سیستم معتبر نیست.
نمونه داده برگشتی استاندارد برای سیستم:
{
“status”: “success”,
“code”: “351”,
“last-salary”: “900”,
“remaining-off-days”: “2”,
“overtimeHours”: “1”
}
نمونه داده برگشتی غیر استاندارد برای سیستم:
{
“status”: “success”
“employee”: {
“code”: “351”,
“last-salary”: “900”,
“remaining-off-days”: “2”,
“overtimeHours”: “1”
},
}
۸ – قوانین و شرطها
برای گذاشتن شرط برای یک داده از این ابزار استفاده میشود:
به طور مثال زمانی که شماره پرسنلی تماسگیرنده را از او دریافت میکنید میتوانید برای تایید گرفتن از آن با استفاده از ابزار خواندن اعداد، عددی که وارد کرده برایش پخش کنید و بگویید اگر صحیح است عدد ۱ را وارد کند و در غیر اینصورت عدد ۲ وارد شود.
پس از چک کردن شرطها دو حالت “درست یا نادرست” پیش خواهد آمد که میتوانید برای هر کدام از این اتفاقها فیلتر بعدی را تنظیم نمایید که آن نیز شامل دو حالت خواهد بود:
- ۱ – ادامه عملیات: در اینصورت برنامه طبق روال عادی خود اجرا میشود و برنامه ابزار بعدی را اجرا میکند. به طور مثال اگر شرط در مرحله پنجم قرار دارد و عملیات ادامه دارد، مرحله بعد مرحله شش است که اجرا میشود.
- ۲ – پرش به مرحله: این حالت به شما اجازه میدهد که اجرای برنامه را به چند مرحله قبل یا بعد ببرید. فرض کنیم در مرحله سوم برنامه از کاربر خواستهاید که کد پرسنلی خود را وارد کند، در مرحله ۴ برای او بازپخش شود و در مرحله ۵ از ابزار شرطها استفاده کردید که اگر عدد ۱ را وارد کرد یعنی صحیح است و ادامه عملیات را انجام دهد. ولی اگر اشتباه بود پرش کند به مرحله ۳ تا دوباره عدد را وارد کند.
۹ – پرش به قانون گذاری تماس
در این ابزار میتوانید تماسگیرنده را به قانونگذاریهای تماس انتقال دهید. به طور مثال فرض میکنیم فقط کسانی را به پشتیبانی متصل میکنید که شماره تلفنشان داخلAPI ثبت شده باشد. در این صورت شماره را به API داده و پاسخ API را با ابزار قوانین و شرط ها چک میکنید که اگر درست بود ابتدا به ابزار پرش به قانونگذاری و سپس به صف پشتیبانی منتقل شود.
۱۰ – قطع تماس
این ابزار برای موقعی هست که کار کاربر با سیستم تمام شده و قصد دارید تماس را قطع کنید. به طور مثال در مرحلهای که باید رمزعبور را وارد کند در صورت ورود رمز اشتباه، تماس را قطع خواهید کرد.
با توجه به توضیحات داده شده، با ابزارهای فوق میتوانید هرگونه منوی صوتی به دلخواه و با توجه به سیاستهای مجموعه خود راهاندازی نمایید.
مثال:
فرض کنید فروشگاهی دارید که اجناس آن براساس بازار جهانی هر روز قیمت جدید میگیرد، مانند بازار طلا و سکه و ارز هر روز با سیل عظیمی از تماسها در مورد قیمت مواجه هستید. برای ارائه اطلاعات مد نظر مشتریان دائم در حال چک کردن آخرین قیمت از وب سایتهای معتبر میباشید و براساس اطلاعات وب سایت مربوطه اطلاعات را در اختیار تماسگیرنده ها قرار میدهید که این کار نیروی انسانی و هزینههای زیادی نیاز دارد.
حال میتوانید با استفاده از منوی صوتی پیشرفته اطلاعات مورد نیاز را از مشتری دریافت کرده و با وصل شدن به وب سرویس مورد نظر آخرین قیمت را از وب سرویس استخراج کنید و نتیجه را به مشتری اعلام نمایید. بدون آن که در این کار نیروی انسانی را به کار بگیرید.
ابتدا از مسیر “مرکز تماس —> منوی صوتی پیشرفته —> افزودن ” وارد منوی صوتی پیشرفته شوید.
ابتدا نام مناسبی برای منوی صوتی اتنخاب کنید.
با استفاده از ابزارهای موجود و کشیدن و رها کردن آنها به مسیر منوی صوتی هوشمند کار را شروع کنید.
مثال: سناریوی اعلام قیمت طلا
در این سناریو از مشترک اطلاعات اولیه به صورت زیر دریافت میشود:
- وزن طلای مورد نظر
- عیار طلای مورد نظر
برای این مرحله به دو ورودی عدد نیاز دارید که با پخش صدای مورد نظر اطلاعات را از مشتری دریافت نمایید برای این کار از منوی ابزار دو عدد تب ورودی عدد را با استفاده از موس بکشید و وارد مسیر منوی صوتی هوشمند کنید.
سپس روی ورودی عدد کلیک کرده و وارد تنظیمات شوید
نامی برای متغیر انتخاب کنید. عدد وارد شده در این متغیر قرار خواهد گرفت.
نام متغیر=Weight ( نام دلخواه)
از منوی انتخاب صدا، صدایی را که از قبل در قسمت اعلانهای صوتی و پوشه منوهای صوتی ایجاد کردید و قرار است برای مشتری پخش شود اضافه نمایید و گزینه ثبت را انتخاب کنید.
برای گرفتن نوع عیار مانند مرحله قبل عمل میکنید.
نام متغییر=Cutie (نام دلخواه)
سرویسی که در آن آخرین قیمت طلا تا آن لحظه در آن اعلام میشود را فراخوانی کرده و اطلاعات دریافت شده از مشتری را به آن ارسال و نتیجه مطلوب را از آن دریافت کنید.
برای این کار ابزار فراخوانی وب سرویس را انتخاب کرده و در مسیر منوی صوتی هوشمند قرار میدهید.
اگر روی گزینه فراخوانی وبسرویس کلیک کنید، پنجره زیر باز میشود:
مقادیر را به شرح زیر وارد نمایید.
برای ارسال اطلاعات به سمت وبسرویس از دو متد post و get استفاده میشود که در منوی صوتی پیشرفته از هر دو متد براساس نیاز میتوان استفاده کرد .
- در صورتیکه بخواهید اطلاعات را با استفاده از متد get ارسال کنید آدرس را مانند زیر وارد کنید:
آدرس وب سرویس ( url ):
http://172.16.102.235/api /price? Weight ={ Weight }&cutie ={ cutie }
در این صورت نیازی به وارد کردن مقادیر گرفته شده در گزینه بعدی نیست و از طریق همان آدرس وب سرویس اطلاعات گرفته شده از مشترک به سمت وب سرویس ارسال میشود.
- درصورتیکه بخواهید اطلاعات را با استفاده از متد post ارسال کنید آدرس را به اینصورت وارد کنید:
آدرس وب سرویس (url) :
http://172.16.102.235/api /price
مقادیر ارسال توسط متد post:
Weight={weight}
cutie={cutie}
متغیرها را با همین فرمت وارد کنید و برای جداسازی متغیرها از کلید Enter استفاده نمایید.
بعد از وارد کردن اطلاعات گزینه ثبت را انتخاب کنید.
پس از ارسال اطلاعات، وب سرویس نتیجه را به سرور شما ارسال میکند. برای اعلام نتیجه به مشتری از دو ابزار میتوانید استفاده نمایید:
- پخش صدا
- خواندن عدد
برای اعلام نتیجه براساس سلیقه شخصی خود میتوانید از این دو ابزار استفاده کنید.
ابزار پخش صدا: صداهای ایجاد شده در منوی صوتی انتخاب شده را پخش میکند که میتواند قبل یا بعد از خواندن نتیجه ارسالی از سمت وب سرویس قرار گیرد .
بر روی پخش صدا کلیک کنید، در پنجره باز شده صدای مورد نظر را اضافه کرده و ثبت نمایید.
خواندن عدد: نتیجه ارسالی از سمت وب سرویس را دریافت و به مشتری اعلام میکند.
از منوی ابزار، خواندن عدد را در مسیر منوی صوتی پیشرفته وارد کنید.
سپس بر روی آن کلیک کرده در منوی باز شده نام متغیری را وارد کنید که قرار است نتیجهای که از سمت وب سرویس ارسال شود در آن متغیر قرار گرفته و برای مشتری خوانده شود .
عدد یا استفاده از متغیر: در صورتیکه یک عدد ثابت قرار است به مشتری اعلام شود، نیازی به وارد کردن نام متغیر نیست، فقط عدد را وارد کنید. ولی برای سناریوهایی که قرار است مقدار متفاوت باز گرداند نام متغیر قرار دهید مانند {price}سپس تغییرات را ثبت کنید.
یکی دیگر از ابزارهایی که قرار دارد قطع تماس است که با قرار دادن این ابزار پس از طی مرحله تماس قطع خواهد شد.
پس از اضافه کردن تمام ابزارهای مورد نظر به منوی صوتی، گزینه ذخیره را انتخاب کنید.
برای یادگیری بهتر در زیر مثال دیگری داریم:
این نمونه کد با متد post کار میکند و باید پارامترcode را برایش ارسال نمایید:
http://api.mahanvoip.com/person.php
با فراخوانی این متد میتوانید اطلاعات آخرین حقوق، مانده مرخصی و ساعات اضافه کاری سه کارمند فرضی با کدهای ۱۵۹ – ۳۵۱ – ۷۸۵ را مشاهده کنید و با آن یک منوی صوتی به عنوان تست بسازید.
پاسخ داده شده توسطAPI برای کد ۷۸۵ برابر است با:
{
“status”: “success”,
“code”: “785”,
“last-salary”: “950”,
“remaining-off-days”: “0”,
“overtimeHours”: “3”
}
و اگر کدی که وارد میکنید وجود نداشته باشد پاسخی برابر با
{
“status”: “error”,
“message”: “user not found!”
}
دریافت خواهید کرد.
مثال دیگر با استفاده از متد get :
اینapi طول و عرض یک مستطیل را از ما دریافت کرده و مساحت آن را محاسبه میکند
http://api.mahanvoip.com/rectangle-area.php?width=2&height=3
نمونه پاسخ داده شده برابر با :
{
“status”: “success”,
“result”: 12
}