⚙️ مدیریت و ساخت گردشکارها (Workflows)
در این بخش میتوانید گردشکارهای خود را روی یک بوم تصویری طراحی کنید. هر گردشکار مانند یک نقشه پویاست که با اتصال بخشهای مختلف (تریگرها، شرطها و اقدامات)، فرآیندهای کسبوکار شما را خودکار میکند.
🧩 ۱. نحوه فراخوانی و ارجاع دادهها
برای استفاده از دادههای مختلف در طول فرآیند، کافی است از فرمولهای استاندارد زیر استفاده کنید (با استفاده از انتخابگر کنار هر فیلد، این ساختارها بهصورت خودکار درج میشوند):
| ساختار داده | نام انگلیسی | نقش در سیستم | مثال کاربردی |
|---|---|---|---|
{{trigger.…}} |
Trigger Data | دریافت دادههای مربوط به اتفاق شروعکننده | دریافت شماره همراه خریدار یا کد سفارش |
{{steps.<شناسه>.…}} |
Step Output | استفاده از خروجی مراحل قبلی | استفاده از شماره فاکتوری که در مرحله قبل ساخته شده |
{{vars.…}} |
Custom Variables | متغیرهای اختصاصی تعریفشده توسط شما | فراخوانی درصد تخفیف ثابت یا لینک پشتیبانی |
💡 ۲. نکات کلیدی و رفتارهای مهم سیستم
🧪 اجرای آزمایشی بدون اثر واقعی (Dry Run)
در اجرای آزمایشی، سیستم فقط مسیر و صحّت دادهها را بررسی میکند. هیچ کار دارای اثر بیرونی (مثل ارسال ایمیل، صدور فاکتور واقعی یا درخواست API) انجام نمیشود. اگر مرحلهای رد شود، خروجی آن به جای مقدار ساختگی، بهصورت «قابل تعیین نیست» نمایش داده میشود.
🔁 تکتلاش بودن پیشفرض مراحل
به صورت پیشفرض، هر مرحله برای انجام کار فقط یکبار تلاش میکند. در صورت نیاز به تکرار خودکار (مثلاً در صورت اختلال شبکه)، باید ویژگی تکرار، تعداد تلاشها و فاصله زمانی آنها را آگاهانه در تنظیمات همان بخش فعال کنید تا از انجام چندباره کارهای حساس (مثل پرداخت یا ارسال پیامک) جلوگیری شود.
🔀 مدیریت و مسیردهی خطاها
شما میتوانید برای هر مرحله یک شاخه اختصاصی «در صورت خطا» طراحی کنید. در این حالت، بروز خطا به معنی خرابی سیستم نیست، بلکه فرآیند وارد یک مسیر جایگزینِ طراحیشده میشود و در لیست خطاهای رهاشده قرار نمیگیرد.
⏳ مهلت زمانی انجام کار (Timeout)
هر مرحله مهلت زمانی مشخصی دارد. اگر زمان انجام کار طولانی شود، سیستم بینهایت منتظر نمیماند و طبق مهلت کلی گردشکار تصمیمگیری میکند.
🛡️ کنترل و مهار سرعت اجرا (Rate Limiting)
برای جلوگیری از فشار به سیستم سه ابزار کنترل سرعت وجود دارد که بهصورت پیشفرض خاموش هستند: حداکثر همزمانی، حداقل فاصله بین دو اجرا و تجمیع رگبار اتفاقها به یک اجرا. اجراهایی که به دلیل این محدودیتها انجام نشوند، با وضعیت «رد شده» ثبت میشوند و ناپدید نخواهند شد.
🛠️ ۳. بخشهای داخلی این صفحه
- 🎨 بوم طراحی: محیط دیداری جهت چیدن و اتصال مراحل اتوماسیون.
- ⚙️ تنظیمات سرعت و محدودیت: مدیریت حداکثر همزمانی و فواصل اجرا.
- 🧪 پنل تست و اجرای آزمایشی: بررسی صحت مسیر دادهها بدون اعمال تغییرات واقعی.
🎯 ۴. سناریوی کامل کاربردی (از صفر تا صد)
سناریو: فراخوانی اطلاعات خریدار، صدور فاکتور و ارسال پیامک با مدیریت خطا و کنترل سرعت
📌 گام ۱: [اتفاق شروعکننده: ثبت سفارش خرید]
│
▼
⚡ گام ۲: [فراخوانی داده خریدار با {{trigger.phone}}]
│
▼
🔀 گام ۳: [صدور فاکتور با استفاده از {{steps.step1.id}}]
├── ◄ (در صورت موفقیت) ───► [ارسال پیامک لینک فاکتور]
└── ◄ (در صورت بروز خطا) ──► [تغییر مسیر به شاخه خطا و اطلاع به پشتیبانی]
│
▼
🛡️ گام ۴: [محدودسازی سرعت: تنظیم حداکثر همزمانی روی ۵ اجرای همزمان]
📝 شرح گامبهگام سناریو:
- ⚡ شروعکننده (Trigger): یک سفارش جدید در فروشگاه ثبت شده و دادههای اولیه مانند شماره تلفن خریدار از طریق
{{trigger.phone}}دریافت میشود. - 🔄 فراخوانی دادهها: در مرحله بعد، برای صدور فاکتور از شناسه مرحله قبل بهصورت
{{steps.step1.id}}استفاده میشود. - 🔀 مدیریت خطا (Error Routing): برای بخش صدور فاکتور، شاخه «در صورت خطا» تعریف شده است. اگر افزونه بازرگانی پاسخ ندهد، سیستم خراب نمیشود بلکه یک پیامک اطلاعرسانی به پشتیبانی میفرستد.
- 🧪 تست اولیه: پیش از فعالسازی، با اجرای آزمایشی مطمئن میشوید که فرمولهای داده درست متصل شدهاند بدون اینکه پیامک واقعی ارسال شود.
- 🛡️ کنترل اجرا: با تنظیم حداکثر همزمانی، مانع از اجرای همزمان بیش از ۵ سفارش در یک ثانیه میشوید تا سرور دچار کندی نشود.
🔗 ۵. افزونههای مرتبط
افزونه بازرگانی و فاکتورها • اطلاعات ورود و کلیدهای API