עוזר ההגדרה (AI) — אונבורדינג

סוכן AI של Biz1 Onboarding — מדריך מלא

עודכן לאחרונה: 2026-05-31

עוזר הגדרה עבור **תצורת ארגון חדש**: צ'אט מודרך + פקודות **בתפזורת בטקסט חופשי** (שדות, תיקיות, תגיות, מודולים, אימייל).

1. היכן הוא נמצא

| חלק | מיקום |

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

| לוגיקה | `include_file/biz1_agent_onboarding.php` |

| בקר API | `application/controllers/Onboarding.php` |

| ממשק משתמש מודאלי | `application/views/include/onboarding_agent_modal.php` |

| קובץ מצורף לפוטר | `application/views/include/footer.php` |

| פתיחה מחדש של הגדרות | `application/views/new-design/setting.php` → **עוזר הגדרה (AI)** |

| תצורה | `config.php` include + routes ב-`application/config/routes.php` |

| SQL | `sql/onboarding_agent_columns.sql` |

2. מי יכול להשתמש בו

| בדיקה | פונקציה |

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

| גישה | `biz1_onboarding_can_access()` → זהה ל-`biz1_agent_can_manage_settings()` |

| מורשה | **בעל ארגון** או **מנהל חבר** (מנהל) |

| פתיחה אוטומטית | **חשבון ראשי בלבד** (`biz1_onboarding_is_main_account`) ו-`onboarding_completed = 0` |

| פתיחה מחדש בכל עת | קישור בתפריט הגדרות (גם לאחר השלמה) |

אבטחה

- כל הכתיבות משתמשות ב-`biz1_onboarding_session_org_id()` וב-`biz1_onboarding_session_user_id()` מהסשן בלבד - `biz1_onboarding_validate_context()` לפני כל קריאת API - הארגון נטען מחדש מה-DB באמצעות מזהה סשן — לעולם לא מ-POST/AI JSON

3. נתיבי API

| שיטה | נתיב | פעולה |

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

| GET | `dashboard/onboarding/status` | גישה, תוויות, פתיחה אוטומטית, מצב OAuth |

| POST | `dashboard/onboarding/message` | תור צ'אט |

| POST | `dashboard/onboarding/apply` | אישור תצוגה מקדימה של תפזורת ממתינה |

| POST | `dashboard/onboarding/complete` | סימון Onboarding כהושלם |

| POST | `dashboard/onboarding/check_email` | אימות חיבור SMTP/Gmail/365 |

4. מסד נתונים (`settings_of_user`)

לפי `user_id` של **בעל הארגון**:

| עמודה | מטרה |

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

| `onboarding_completed` | 1 = המשתמש לחץ "סיימתי" (מפסיק פתיחה אוטומטית) |

| `onboarding_step` | התקדמות אשף (אופציונלי) |

| `onboarding_business_type` | לדוגמה: clinic, retail |

| `onboarding_business_description` | טקסט חופשי |

| `onboarding_draft` | טיוטת JSON (אופציונלי) |

| `onboarding_email_provider` | gmail / 365 / smtp |

| `onboarding_email_connected` | 1 לאחר חיבור מאומת |

-- See sql/onboarding_agent_columns.sql for full ALTER

5. מצבי אינטראקציה

5.1 מודרך (צ'אט)

המשתמש מתאר את העסק בשפה טבעית ← AI מציע מודולים, תיקיות, וצעדים הבאים באמצעות קטלוג סטטי `biz1_onboarding_business_catalog()`:

| מפתח | מודולים מוצעים | תיקיות לדוגמה |

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

| `clinic` | appointment, whatsapp, payment | New leads, Active patients, Archive |

| `retail` | order, whatsapp, payment | Leads, Customers, VIP |

| `services` | Work_Flow, whatsapp | Leads, Projects, Done |

| `general` | whatsapp | Leads, Customers |

5.2 תפזורת בטקסט חופשי (מתקדם)

מנתח דטרמיניסטי `biz1_onboarding_parse_bulk_block()` — אין צורך ב-AI למבנה:

create fields
Budget, תקציב, number
Priority, עדיפות, select, High, Medium, Low

create folders
New leads
Active clients, לקוחות פעילים

create tags
VIP
Hot lead

create statuses
In progress
Waiting

enable modules appointment whatsapp payment

connect email gmail

**צינור עיבוד נתונים:** ניתוח ← אימות ← הבהרה של שורות לא חוקיות בלבד ← תצוגה מקדימה ← משתמש **החל**

סשן ממתין: `$_SESSION['biz1_onboarding_pending']`

6. פורמט שורת שדה

english_name, hebrew_name, type[, option1, option2, ...]

סוגים מותרים: `text`, `tel`, `email`, `number`, `radio`, `radio_custom`, `checkbox`, `select`, `date`, `textarea`, `link`, `title`

- `select` דורש אפשרויות (פסיק באותה שורה או הבהרה עוקבת) - מאוחסן ב-`user_detail.extra_fields` JSON (זהה ל-הגדרות ← שדות)

7. מפעילים (Executors) של החלה

| סוג תפזורת | פונקציה | יעד |

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

| שדות | `biz1_onboarding_apply_field()` | `user_detail.extra_fields` |

| תיקיות | `biz1_onboarding_apply_folder()` | `insert_folders()` |

| תגיות | `biz1_onboarding_apply_tag()` | טבלת `tags` |

| סטטוסים | `biz1_onboarding_apply_status()` | `custom_customer_status` JSON |

| מודולים | `biz1_onboarding_apply_modules()` | `user_detail.module` JSON |

8. תהליך חיבור אימייל

1. משתמש: "חבר אימייל" או בוחר שבב ספק (Gmail / 365 / SMTP) 2. הסוכן מציג הוראות (`biz1_onboarding_email_instructions()`) 3. כפתורי ממשק משתמש: - **חבר Gmail** → `gmailApi/othenticate.php` (OAuth, זהה להגדרות) - **חבר Microsoft 365** → כתובת URL של OAuth עם `oauth_state` הנגזר מהסשן - **SMTP** → מפנה את המשתמש להגדרות ← טופס אימייל 4. **בדיקת חיבור** → קורא את `smtp_settings` עבור מזהה ארגון הסשן

9. שפות (EN / HE / AR)

| פריט | יישום |

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

| תוויות ממשק משתמש | `biz1_onboarding_ui_label()` — כותרת, כפתורים, טקסט מציין מיקום |

| שגיאות מערכת | `biz1_onboarding_msg()` |

| תגובות AI | הנחיה: השב בשפת המשתמש |

| RTL | מודל `dir="rtl"` כאשר `lang` הוא `he` או `ar` |

| נתונים דו-לשוניים | שורות שדה: `name_en` + `name_he`; שמות תיקיות תומכים ב-`en, he` בשורה אחת |

תווית תפריט הגדרות: - EN: Setup assistant (AI) - HE: עוזר הגדרה (AI) - AR: مساعد الإعداد (ذكاء اصطناعي)

10. התנהגות ממשק משתמש

| פעולה | השפעה |

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

| פתיחה אוטומטית | ~1.2 שניות לאחר טעינת הדף אם `auto_open` מהסטטוס |

| קישור הגדרות | `window.biz1OnboardingOpen()` / class `biz1-onboarding-open-settings` |

| שלח | POST message → bubble + clarify/preview/email_setup |

| החל | POST apply → runs pending bulk |

| סיימתי | מגדיר `onboarding_completed=1`, סוגר חלון קופץ |

| נקה צ'אט | מאפס היסטוריה + ממשק משתמש ממתין |

11. הערות פריסה

נפרס ל-dev: 2026-05-31 תבנית גיבוי: `backup/onboarding-deploy-*/*.bck` בשרת

קבצים ששונו בפריסה: - `config.php`, `routes.php`, `footer.php`, `setting.php` (עם `.bck`) - חדש: `biz1_agent_onboarding.php`, `Onboarding.php`, `onboarding_agent_modal.php`

12. מסמכים קשורים

- AI_AND_AUTOMATION_INDEX.md - BIZ1_SIDEBAR_AGENT.md — סוכן אחר (CRM בסרגל צד, לא אונבורדינג) - SETTINGS_MAP.md — הפניה להגדרות ידניות