⚙️ תנאי IFF
מודול תנאי IFF מאפשר להגדיר חוקי לוגיקה השולטים בזרימת השיחה על פי ערכים של משתנים במערכת.
משתנים אלה יכולים להיאסף בדרכים שונות:
- באמצעות קריאת API למערכת חיצונית.
- באמצעות שלב קלט (INP) שבו הלקוח מספק מידע במהלך השיחה.
במילים פשוטות, תנאי IFF פועל כ־"אם מתקיים תנאי מסוים → עבור ליעד מוגדר", וכך מנתב את הזרימה באופן חכם.
📋 רשימת תנאי IFF
במסך הראשי מוצגת רשימה של כל התנאים שהוגדרו במערכת.

כל שורה כוללת:
- מזהה (ID) → מספר מזהה פנימי.
- שם → תיאור קצר של התנאי.
- חוקים → כלל אחד או יותר הכוללים משתנה, אופרטור, ערך ויעד.
- יעד ברירת מחדל → הזרימה שאליה יופנה המידע אם אף חוק אינו מתקיים.
- פעולות → כפתורים ל־עריכה ✏️ או מחיקה 🗑️ של התנאי.
➕ הוספת תנאי חדש
בלחיצה על כפתור הוסף, נפתח טופס ליצירת תנאי חדש.

שדות עיקריים:
| שדה | תיאור |
|---|---|
| שם | שם התנאי כפי שיופיע ברשימה. |
| יעד ברירת מחדל | הזרימה שאליה ינותב המידע אם אף אחד מהחוקים לא מתקיים. |
| חוקים | רשימת ביטויים לוגיים המגדירים את היעדים השונים. |
🧩 חוקים
כל חוק כולל ארבעה רכיבים עיקריים:
| רכיב | תיאור |
|---|---|
| משתנה | שם המשתנה המדויק במערכת שיש לבדוק. |
| אופרטור | משווה לוגי (=, !=, >, >=, <, <=). |
| ערך | הערך הצפוי או ערך ההתייחסות. |
| יעד | היעד שאליו תועבר הזרימה אם התנאי מתקיים. |
דוגמה:
- client_type = "VIP" → ANN,64
- payment_amount > 1000 → ANN,65
משמעות:
- אם סוג הלקוח הוא VIP → עבור להודעה
ANN,64. - אם סכום התשלום גדול מ־1000 → עבור להודעה
ANN,65. - אם אף אחד מהתנאים אינו מתקיים → עבור ל־יעד ברירת מחדל.
✏️ עריכת תנאי קיים
בעת עריכה ניתן לשנות את השם, את יעד ברירת המחדל ואת רשימת החוקים.

ניתן:
- להוסיף או להסיר חוקים.
- לשנות אופרטורים וערכים.
- לעדכן יעדים (ITR, REP, ANN וכו').
🧠 אופן הפעולה
המערכת בודקת את החוקים לפי הסדר:
- מאתרת את המשתנה שהוגדר.
- משווה את ערכו הנוכחי לחוק שהוגדר.
- אם התנאי מתקיים, הזרימה תעבור אל היעד המשויך.
- אם אין אף תנאי שמתקיים, הזרימה תמשיך אל יעד ברירת המחדל.
🧭 לסיכום, תנאי IFF פועל כמבנה “אם / אחרת”
שמנתב את השיחה באופן חכם על פי ערכי המשתנים.