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');"}