نظام الأتمتة في Biz1 — نظرة عامة

نظام الأتمتة — مرجع كامل

آخر تحديث: 2026-05-31

كيف تعمل أتمتة Biz1 من البداية إلى النهاية: نموذج البيانات، مسارات التنفيذ، تدفق التحكم، وأين يمكنك القراءة للمزيد.

1. نموذج الطبقتين

| الطبقة | الجدول | الدور |

|-------|-------|------|

| **الحدث (المشغل)** | `automation_event` | يحدد **متى** يتم تشغيل التدفق |

| **الإجراءات (الخطوات)** | `automation` | يحدد **ماذا** يحدث (`flow_id` → `automation_event.id`) |

يحدث حدث CRM (عميل محتمل جديد، تغيير حالة، ...)
    ← مطابقة صفوف automation_event (الحدث + عوامل تصفية par/val + تأخير)
    ← قائمة انتظار / تشغيل صفوف الأتمتة المرتبطة (مرتبة حسب الخطوة)
    ← كل row.type يرسل إلى include_file/automations/actions/{type}.inc.php

2. واجهات المستخدم

| الصفحة | المسار | الغرض |

|------|-------|---------|

| جدول الأتمتة | `dashboard/event/automation-table` | سرد التدفقات؛ إنشاء/تعديل **المشغلات**؛ دردشة أحداث الذكاء الاصطناعي |

| منشئ اللوحة | `dashboard/event/automation/{flow_id}` | بناء رسم بياني **للإجراءات**؛ دردشة إجراءات الذكاء الاصطناعي؛ حفظ |

راجع include_file/AUTOMATION_AI_BUILDER.md لتدفقات واجهة المستخدم ومنشئي الذكاء الاصطناعي.

3. نقاط دخول وقت التشغيل

| الدالة | الملف | متى تستخدم |

|----------|------|-----------|

| `automations_cons()` | `automations.php` | الخطاف الرئيسي من CRM (تحديث العميل، العميل المحتمل، إلخ) |

| `run_automations_by_id()` | `automations.php` | تشغيل تدفق واحد بواسطة `automation_event.id` |

| `doAutomations_config()` | `automations.php` | تنفيذ صفوف الإجراءات لتدفق واحد |

| أغلفة | `config.php`, `common_helper.php` | `automation()`, `doAutomation()`, `automations()` |

حلقة التنفيذ (مبسطة)

1. تحميل صفوف `$auto_flow` لـ `flow_id`، مرتبة حسب `step`، `id` 2. لكل صف: تحقق من `$skip` (وقت التشغيل + التحكم IF) 3. تطبيق عناصر نائبة `$replace` على سلاسل الصفوف (`{name}`، `{ai-message}`، ...) 4. تقييم صفوف التحكم `if` / `ai_agent` ← تحديث التخطي/الاستبدال للصفوف التالية 5. `include` ملف الإجراء: `automations/actions/{type}.inc.php` 6. يتم تشغيل الإجراء بسياق العميل (`$contact_us`، `$User`، `$Org`، ...)

4. إجراءات التحكم

| النوع | الغرض | المستند |

|------|---------|-----|

| `if` | قواعد JSON ← تخطي الخطوات / حقن رموز الاستبدال | AUTOMATIONS_CHANGES.md §5–6 |

| `ai_agent` | استدعاء Gemini ← رموز `{ai-field}` + تخطي اختياري | AI_AGENT_FUNCTIONALITY.md |

يتم تقييم كلاهما في **الحلقة** (`automations_cons` / `run_automations_by_id`)، وليس داخل ملفات `.inc.php` الخاصة بهما.

5. عناصر التحكم في وقت التشغيل (وسائط اختيارية)

أضيفت في إعادة الهيكلة — راجع AUTOMATIONS_CHANGES.md:

| المعلمة | التأثير |

|-------|--------|

| `$skip` | مصفوفة من معرفات صفوف الإجراءات لتخطي هذا التشغيل |

| `$replace` | `[{"key":"value"}]` مدمجة في عناصر نائبة `{key}` |

6. فهرس أنواع الإجراءات

تم استخراج 49 نوعًا من الإجراءات إلى `include_file/automations/actions/{type}.inc.php`.

**حقول لكل نوع (واجهة مستخدم منبثقة، أعمدة قاعدة بيانات، رموز مختصرة):** ← include_file/AUTOMATION_NODE_OPTIONS_MAP.md

المجموعات الشائعة: - **الاتصال:** `sendSms`, `sendEmail`, `sendWhatsapp`, `sendNotification` - **CRM:** `moveToFolder`, `addTag`, `removeTag`, `changeStatus`, `shareWithUser`, `addMission`, `reminder` - **المستندات / الطلبات:** `create_doc`، إجراءات متعلقة بالطلب - **التحكم:** `if`, `ai_agent` - **التكاملات:** `apiCall`، webhooks، إلخ.

7. فهرس مشغلات الأحداث

**جميع أنواع المشغلات، حقول النموذج، قواعد التأخير، أنواع المعلمات:** ← include_file/AUTOMATION_EVENT_TYPES.md

نقطة نهاية الحفظ: `POST dashboard/event/add_automation_event` رابط اللوحة: كل صف جدول ← `dashboard/event/automation/{id}`

8. الأذونات

- الوحدة النمطية: `module_sidebarmenu_automation` (رابط الشريط الجانبي) - إنشاء/تعديل: `allowed_to_add_automations` **أو** المالك / `member_admin` - راجع PERMISSIONS_MAP.md §D1

9. تكامل الذكاء الاصطناعي (ثلاث طبقات)

| الطبقة | ماذا | المستند |

|-------|------|-----|

| **دردشة أحداث الذكاء الاصطناعي** | مسودة نموذج المشغل على جدول الأتمتة | AUTOMATION_AI_BUILDER.md § Event AI |

| **دردشة لوحة الذكاء الاصطناعي** | مسودة عقد الإجراءات على اللوحة | AUTOMATION_AI_BUILDER.md |

| **خطوة `ai_agent`** | الذكاء الاصطناعي داخل تدفق قيد التشغيل | AI_AGENT_FUNCTIONALITY.md |

| **وكيل الشريط الجانبي** | لغة طبيعية "إنشاء أتمتة" من أي مكان | BIZ1_SIDEBAR_AGENT.md |

10. الملفات الرئيسية

| الملف | الدور |

|------|------|

| `include_file/automations.php` | المحرك، الحلقات، المرسل |

| `include_file/automations_functions.php` | المساعدات، قوائم الانتظار، منشئو الذكاء الاصطناعي، وقت تشغيل IF |

| `include_file/automations/actions/*.inc.php` | ملف واحد لكل نوع إجراء |

| `application/controllers/Event.php` | الجدول، اللوحة، الحفظ، واجهات برمجة تطبيقات مسودة الذكاء الاصطناعي |

| `application/views/new-design/automation-table.php` | قائمة الأحداث + دردشة أحداث الذكاء الاصطناعي |

| `application/views/automation.php` | اللوحة + دردشة إجراءات الذكاء الاصطناعي |

| `application/views/include/jquery_margi.php` | جافاسكريبت جدول الأحداث (إرسال قديم) |

| `new/js/project-general-js/automations-tables-jquery-v2.js` | جافاسكريبت الجدول الإصدار 2 |

11. السجلات وتصحيح الأخطاء

- مشاكل تشغيل الأتمتة: تحقق من `automation_event.automation_status` للمؤسسة، صف الإجراء `type` + `parameter` - منشئ الذكاء الاصطناعي: OpenRouter عبر `sendPrompt()` — النموذج `google/gemini-3-flash-preview` - وقت تشغيل `ai_agent`: مفتاح Gemini API مباشر من env / `$GLOBALS['public']`

12. المستندات ذات الصلة

- AI_AND_AUTOMATION_INDEX.md — الفهرس الرئيسي - AUTOMATIONS_CHANGES.md — سجل تغييرات إعادة الهيكلة - SETTINGS_MAP.md — نماذج إعدادات متعلقة بالأتمتة