דלגו לתוכן

או התחילו מנקודה בטוחה: אינדקס הכלים המלא · מפת הטבלאות המרכזיות

מערכת חדשה — 14 יום חינם

כלי משתמשים

עודכן 26.08.2026

שלושה כלים נוגעים בזהות: אחד אומר מי אני, אחד אומר מי קיים, ואחד יוצר או מעדכן.

בלי פרמטרים. מיועד להחזיר את פרטי הזהות שמאחורי החיבור הנוכחי — objectId, username (= האימייל), name, phone, status ומזהה האפליקציה — בהתחברות משתמש (OAuth) זו רשומת המשתמש; בחיבור Master / API Key זו רשומה סינתטית בשם Master (ראו למטה).

זהו הכלי שממנו לוקחים את ה‑objectId בשני מצבים נפוצים:

  1. בניית Pointer ל‑_User — כשכותבים OwnerId או כל שדה אחראי:
JSON
{ "table": "Tasks",
"data": { "Name": "מעקב",
"OwnerId": { "__type": "Pointer", "className": "_User", "objectId": "2b0QVKoigE" } } }
  1. הקשרי currentUser — במקומות שבהם המערכת מקבלת את המילה "currentUser" במקום מזהה (תנאי טריגר, ערך סטטי בפעולת טריגר, כלל טופס). כשצריך לדעת מי זה יהיה בפועל — שואלים את הכלי הזה.

בלי פרמטרים. מחזיר את רשימת המשתמשים במערכת, ולכל אחד:

השדה המשמעות
objectId המזהה — זה מה שמשתמשים בו ב‑Pointer, בשיוך תפקיד ובשיוך חבילה
username מזהה ההתחברות. תמיד כתובת אימייל
email האימייל
name שם התצוגה (בעברית)
active false = חסום מהתחברות
job תפקיד בארגון (טקסט חופשי — לא התפקיד ההרשאתי)
phone / extension טלפון ושלוחה
status מצב הנוכחות של המשתמש (Pointer ל‑UserStatuses)
profile_image תמונת פרופיל
last_success_login ההתחברות המוצלחת האחרונה
emailVerified, createdBy, updatedBy, createdAt, updatedAt שדות המערכת הרגילים

שדות ריקים פשוט חסרים ברשומה (למשל active או job שלא נקבעו מעולם).

last_success_login הוא גם כלי אבחון: “המשתמש לא מצליח להתחבר” נפתר לרוב באחד מארבעה — active: false (ההתחברות נדחית עם User is not active.), emailVerified: false (User email is not verified.), חבילה שפג תוקפה, או נעילה זמנית אחרי כמה כישלונות רצופים (Your account is locked due to multiple failed login attempts. Please try again after 30 minute(s)). השדות _failed_login_count ו‑_account_lockout_expires_at נראים ברשומה — נבדק: המונה עולה בכל כישלון, ואחרי הנעילה גם הסיסמה הנכונה נדחית עד לפקיעת הנעילה.

יוצר משתמש חדש, או מעדכן קיים. נוכחות objectId היא מה שמבדיל בין שני המצבים.

הפרמטר טיפוס מתי המשמעות
objectId String לעדכון מזהה משתמש קיים. נוכח ⇒ עדכון; נעדר ⇒ יצירה
username String ליצירה מזהה ההתחברות — חייב להיות האימייל
password String ליצירה ראו מדיניות למטה
name String שם תצוגה. עברית תקינה
job String תפקיד בארגון (טקסט)
phone String טלפון
extension String שלוחה
active Boolean false = חסום מהתחברות
emailVerified Boolean ברירת מחדל true (אומת). false חוסם התחברות: User email is not verified.
isPortalUser Boolean ליצירה הנחיית יצירה — לא שדה שנשמר על הרשומה. ראו ההסבר למטה
JSON
// יצירה
{ "username": "dana@example.co.il", "password": "Kayitz2026",
"name": "דנה לוי", "job": "נציגת מכירות",
"phone": "0501234567", "active": true }
// עדכון — רק מה שמשתנה
{ "objectId": "6uWdJUouOg", "phone": "0509876543", "job": "מנהלת מכירות" }

ערכי החזרה (אומתו): ביצירה — objectId, createdAt ו‑sessionToken; בעדכון — objectId ו‑updatedAt. המשתמש החדש מתחבר מיד (POST /login ⇒ 200), ו‑username נשמר גם ב‑email.

מדיניות הסיסמאות — נאכפת בשרת

Section titled “מדיניות הסיסמאות — נאכפת בשרת”

לפחות 8 תווים, ובתוכם לפחות אות קטנה אחת, אות גדולה אחת וספרה אחת. הפרה מוחזרת כשגיאה, לא כאזהרה — שתי הודעות שונות, ביצירה ובעדכון כאחד:

Password must be at least 8 characters long
Password must contain at least one uppercase letter, one lowercase letter, and one number

איפוס סיסמה בידי מנהל = עדכון עם password חדש (אומת: ההתחברות עם הסיסמה החדשה עובדת מיד, והישנה נכנסת ל‑_password_history). איפוס ביוזמת המשתמש הוא זרימה אחרת לגמרי, ב‑REST.

מנטרלים משתמש — לא מוחקים אותו

Section titled “מנטרלים משתמש — לא מוחקים אותו”

true מסמן משתמש חיצוני — לקוח שנכנס לפורטל השירות העצמי, סטודנט שצופה בציונים שלו.

הפרמטר הוא הנחיית יצירה, לא שדה שנשמר על רשומת המשתמש (הבהרת צוות הפלטפורמה, 26.08.2026). תפקידו: לקבוע האם ליצור את המשתמש — האימייל והחיבור לטננט — גם במערכת הראשית. משתמש פורטל (isPortalUser: true) אינו נוצר במערכת הראשית, ומכאן שתי ההשלכות:

  • חיוב — משתמש פורטל אינו נספר לצורכי חיוב, ואי אפשר לשייך לו חבילת רכש (Set-Package-for-User).
  • התחברות — הוא אינו מתחבר במסלול ההתחברות הראשי של המערכת; הכניסה שלו היא דרך הפורטל בלבד.

לכן אל תצפו למצוא מפתח isPortalUser ברשומת ה‑_User — היעדרו אינו באג, אלא ההתנהגות המתוכננת.

מה שלא משתנה: הוא עדיין צריך תפקיד ו‑CLP מתאימים כדי לראות משהו. פורטל בלי תכנון הרשאות הוא פורטל ריק — או, גרוע יותר, פורטל שמראה יותר מדי.

שימו לב: ההגבלה “אינו מתחבר במסלול הראשי” נוגעת למסלול ההתחברות של המערכת הראשית (הממשק). ‏POST /parse/login של ה‑API בטננט הנפיק sessionToken גם למשתמש שנוצר עם isPortalUser: true (נבדק 25.08.2026); מנגנון ההתחברות של הפורטל הספציפי נמצא מחוץ לטווח של עמוד זה — אל תבטיחו זרימת התחברות ללקוח בלי לאמת מול הפורטל שלו.

תהליך קליטת עובד — שלושת השלבים

Section titled “תהליך קליטת עובד — שלושת השלבים”
1. Create-or-Update-User { name, username: <email>, password, job, phone, active: true }
⇒ userId
2. Get-Packages → בחירת resellerPackageId → Set-Package-for-User { userId, resellerPackageId, action: "add" }
3. Get-Roles → roleId → Add-Users-to-Role { roleId, userIds: [userId] }

שלב 1 כאן; שלבים 2 ו‑3 בחבילת ההרשאות. בלי שלב 2 אין התחברות. בלי שלב 3 אין מה לראות.

עזיבה — בסדר ההפוך: active: false, הסרה מתפקידים, ואז שחרור המושב.

ומשתמש שאין לו רישיון בכלל? במערכת ללא חבילה (Get-Packages"packages": []) משתמשים חדשים נוצרים ומתחברים ב‑POST /parse/login כרגיל (ראו core-api-13) — המושב אינו נאכף בשכבת ה‑API; ההתחברות לממשק עצמו לא נבדקה כאן.