Smart API
پیشنهاد میشود قبل از مطالعه این مطلب، ابتدا اینجا را بررسی فرمایید.
سناریو: فرض کنید که قرار است عددی از کاربر دریافت نمایید. و قصد دارید در صورتیکه عدد وارد شده ۱ باشد، تماس را به مسیر A و در صورتیکه ۲ باشد، به مسیر B هدایت کنید.
برای پیادهسازی سناریوی بالا به دو کامپوننت SmartApi نیاز دارید. نام اولی را s1 و دومیرا s2 بگذارید. در قسمت Api address از هر دو کامپوننت، آدرس وبسرویس را وارد نمایید. در کامپوننت اول یک مسیر ایجاد کنید و شناسه آن (case) را عبارت go-s2 تعریف و خروجی آن را به کامپوننت s2 متصل کنید. در کامپوننت s2 نیز دو مسیر با شناسههای go-a و go-b بگذارید و آنها را به مسیرهای A (صف فروش) و B (صف پشتیبانی) که در صورت سناریو ذکر شدهاند متصل نمایید.
برای مشاهده سناریو برروی عکس کلیک کنید.
اکنون فرض کنید تماسی وارد کامپوننت s1 شده است. وبسرویس با مقادیر زیر فراخوانی میشود
{
"src": "09155441",
"dst": "789",
"app_name": "s1",
"data": ""
}
وبسرویس در جواب خواستار اجرای توابع زیر و دریافت داده از کاربر میشود.
{
"ok": "1",
"commands": "PlayAnnouncement ('welcome-file');GetData ('enter-data-file', 10, 1);Exit ('go-s2')"
}
با اجرای دستورات فوق، نخست فایل صوتی خوشآمدگویی پخش میشود، سپس از کاربر خواسته میشود که عددی را وارد کند و پس از آن تماس از مسیر go-s2 به سمت کامپوننت s2 منتقل میگردد.
در کامپوننت s2، درخواستی مشابه s2 به سمت سرور فرستاده میشود، اما با دو تفاوت اصلی: اول نام کامپوننت عوض میشود تا وبسرویس تفاوت منبع درخواستدهنده را متوجه شود و دوم، داده data حاوی همان مقداری است که کاربر در مرحله قبل وارد کرده است.
{
"src": "09155441",
"dst": "789",
"app_name": "s2",
"data": "2"
}
وبسرویس که عدد واردشده کاربر را در جواب دریافت کرده، مسیر مناسب برای خروج وی را مشخص میکند.
{
"ok": "1",
"commands": "Exit ('go-b');"
}