Simotelمستندات سیموتل
English

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