כלי משתמשים
שלושה כלים נוגעים בזהות: אחד אומר מי אני, אחד אומר מי קיים, ואחד יוצר או מעדכן.
Get-Current-User
Section titled “Get-Current-User”בלי פרמטרים. מחזיר objectId, username (= האימייל), name, phone, status ומזהה האפליקציה. בהתחברות משתמש (OAuth) זו רשומת המשתמש; בחיבור Master / API Key זו רשומה סינתטית בשם Master.
מכאן לוקחים את ה‑objectId בשני מצבים:
- בניית Pointer ל‑
_User, כשכותביםOwnerIdאו כל שדה אחראי:
{ "table": "Tasks", "data": { "Name": "מעקב", "OwnerId": { "__type": "Pointer", "className": "_User", "objectId": "2b0QVKoigE" } } }- הקשרי
currentUser— מקומות שבהם המערכת מקבלת את המילה"currentUser"במקום מזהה (תנאי טריגר, ערך סטטי בפעולת טריגר, כלל טופס).
Get-all-Users
Section titled “Get-all-Users”בלי פרמטרים. מחזיר את רשימת המשתמשים, ולכל אחד:
| השדה | המשמעות |
|---|---|
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.
Create-or-Update-User
Section titled “Create-or-Update-User”יוצר משתמש חדש, או מעדכן קיים. נוכחות 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 | ליצירה | הנחיית יצירה — לא שדה שנשמר על הרשומה. ראו למטה |
// יצירה{ "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 longPassword must contain at least one uppercase letter, one lowercase letter, and one numberאיפוס סיסמה בידי מנהל = עדכון עם password חדש (ההתחברות עם החדשה עובדת מיד, והישנה נכנסת ל‑_password_history). איפוס ביוזמת המשתמש הוא זרימה אחרת, ב‑REST.
מנטרלים משתמש, לא מוחקים אותו
Section titled “מנטרלים משתמש, לא מוחקים אותו”isPortalUser
Section titled “isPortalUser”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 } ⇒ userId2. 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.
- אינדקס הכלים המלא
- סוכן במצב קריאה בלבד — למה
Create-or-Update-Userהוא כלי משנה מסוכן במיוחד - משתמשים וסשנים ב‑REST — חיפוש מעבר ל‑100, איפוס סיסמה,
/users/me - אימות והרשאות