پرش به مطلب اصلی

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