דלגו לתוכן

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

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

כלי משתמשים

עודכן 31.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 שלא נקבעו מעולם).

“המשתמש לא מצליח להתחבר” נפתר לרוב באחד מארבעה: 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 מסמן משתמש חיצוני: לקוח שנכנס לפורטל השירות העצמי, סטודנט שצופה בציונים שלו.

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

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

אל תצפו למצוא מפתח isPortalUser ברשומת ה‑_User. היעדרו הוא ההתנהגות המתוכננת. הוא עדיין צריך תפקיד ו‑CLP מתאימים כדי לראות משהו.

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

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

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] }

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

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