דלגו לתוכן

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

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

כלי קבצים

עודכן 30.08.2026

שני כלים ומשאב אחד. הכלים מעלים וקוראים; המשאב הוא הדרך המועדפת לקרוא קובץ שכלי אחר הפנה אליו.

מעלה קובץ ומחזיר URL ציבורי. כל הפרמטרים ארוזים באובייקט file יחיד.

הפרמטר טיפוס חובה המשמעות
file.name String שם הקובץ, כולל סיומת — logo.png, contract.pdf, app.js
file.mimeType String סוג התוכן — image/png, application/pdf, text/javascript, text/css. חייב להתאים לתוכן (ראו “סוגי קבצים”)
file.data String התוכן ב‑base64 חשוף, בלי קידומת
file._id String מזהה קובץ קיים (file._id מתשובת העלאה קודמת באותה מערכת) ⇒ עדכון במקום, אותו URL בדיוק (עם אותו name). _id שאינו קיים ⇒ הקריאה נתלית — ראו למטה
file.keepName Boolean ברירת מחדל true — השם נשמר כפי שהוא. false — השרת מייחד אותו
file.cacheControl String ברירת מחדל max-age=86400; נשלח כ‑cache-control של ה‑URL הציבורי
file.codeFile Boolean true מסמן קובץ קוד שניתן לעריכה בעורך הקוד של הפלטפורמה
JSON
{ "file": {
"name": "logo.png",
"mimeType": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAA…",
"keepName": true } }

התשובה:

JSON
{ "success": true,
"filePath": "https://static.mbapps.co.il/2026/08/<account>/<site>/logo.png",
"massage": "",
"file": { "_id": "6a8adf473cd0a41edaecb05e", "name": "logo.png", "type": "image/png",
"size": 70, "path": "https://static.mbapps.co.il/…/logo.png",
"cacheControl": "max-age=86400", "createdAt": "…" } }

ה‑URL הציבורי הוא filePath, על הדומיין static.mbapps.co.il (CDN) — לא על api.mbapps.co.il. המזהה לעדכונים עתידיים הוא file._id. כשל עסקי חוזר כ‑{"success":false,"message":"…"} עם HTTP 200, בלי Error:.

הכלי בודק גם את התוכן, לא רק את הסיומת: PNG, PDF אמיתי (מתחיל ב‑%PDF), SVG, .txt, .js ו‑.css עולים; .exe, .bin, .json, PDF שתוכנו טקסט, ו‑PNG שהוכרז כ‑text/plain נדחים עם {"success":false,"message":"File type not supported"}. .html נדחה במערכת ללא חבילה עם "Free sites cannot upload this file" — מגבלת מנוי, לא סוג. base64 לא תקין אינו נדחה: הקובץ נשמר עם תוכן זבל.

עדכון במקום — _id וה‑URL היציב

Section titled “עדכון במקום — _id וה‑URL היציב”

זה הפרמטר שהופך את הכלי מ“העלאת קובץ” למנגנון פריסה. שולחים _id של קובץ קיים, והתוכן מוחלף בלי שה‑URL משתנה:

JSON
{ "file": { "_id": "file0123456789", "name": "app.js",
"mimeType": "text/javascript",
"data": "Ly8gdjIKY29uc29sZS5sb2coJ2hlbGxvJyk7",
"codeFile": true } }

הדפוס המלא לפריסת JS/CSS לדף:

1. Upload-Public-File { codeFile: true, cacheControl: "max-age=60" } → URL + _id (פעם אחת)
2. Set-Page-Settings { jsFile / cssFile: URL } → הדף מצביע לקובץ (פעם אחת)
3. כל שינוי עתידי: Upload-Public-File עם אותו _id (ואותו name)
→ אין נגיעה בדף, אין שינוי URL — אבל ה-CDN מתרענן רק לפי cacheControl

עדכון ב‑_id שומר על אותו _id ואותו URL, והמקור מתעדכן. _id עם name אחר יוצר URL חדש (הישן ממשיך להגיש את הגרסה הקודמת). keepName: false מייחד את השם — הסיומת נגזרת מה‑MIME, כך ש‑text/javascript מקבל .javascript (הקובץ מוגש עם content-type נכון).

מחזיר תמונה ששמורה כ‑Parse File, כבלוק image (base64 + mimeType) שהמודל יכול לראות.

הפרמטר טיפוס חובה המשמעות
fileUrl String כתובת הקובץ. חייבת להיות על api.mbapps.co.il או siteadmin.mbapps.co.il, ב‑https
JSON
{ "fileUrl": "https://api.mbapps.co.il/parse/files/<APP_ID>/a23e…_photo.png" }

התשובה המוצלחת (על PNG): { "content": [ { "type": "image", "mimeType": "image/png", "data": "iVBORw0…" } ] } — בלי text, ולכן קוד שקורא רק content[0].text יראה תשובה ריקה.

תיאור הכלי עצמו ממליץ להעדיף עליו את המשאב get-file.

כשכלי מחזיר תוצאה שמפנה לקובץ שמור, ההפניה מגיעה כפריט MCP מסוג resource_link עם סכמת URI ייעודית:

file-storage:///api.mbapps.co.il/parse/files/APP_ID/FILE_NAME/TABLE_NAME/OBJECT_ID/PROPERTY_NAME

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

כך זה נראה בפועל (Get-Data על PriceQuotes אחרי חתימה):

JSON
"SignedPdf": { "type": "resource_link", "name": "price-quote.pdf",
"uri": "file-storage:///api.mbapps.co.il/parse/files/<APP_ID>/f56f…_price-quote.pdf/PriceQuotes/dWMWAFD9tj/SignedPdf" }

את ה‑URI קוראים דרך תבנית המשאב get-file של השרת (מתגלה ב‑resources/templates/list; התבנית: file-storage:///api.mbapps.co.il/parse/files/{APP_ID}/{FILE_NAME}/{TABLE_NAME}/{OBJECT_ID}/{PROPERTY_NAME}). קריאת resources/read עם ה‑URI מחזירה contents[0] עם mimeType (application/pdf) ו‑blob — base64 של הקובץ המלא. לקוח MCP שתומך במשאבים אמור לפתור אותם ישירות, בלי לעבור דרך Get-File-Content — ול‑PDF זו הדרך היחידה.

המצב מה עושים
כלי החזיר resource_link פותרים את ה‑URI דרך get-file — הדרך המועדפת, והיחידה ל‑PDF
יש בידכם URL של תמונה ב‑api.mbapps.co.il/parse/files Get-File-Content
קובץ ציבורי על static.mbapps.co.il, או מחוץ ל‑mbapps לקוח HTTP משלכם

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

הכלי מה הוא מצפה לקבל דוגמה
Upload-Public-File.data base64 חשוף iVBORw0KGgoAAA…
Send-WhatsApp-Message.fileBase64 base64 עם קידומת Data‑URI data:image/png;base64,iVBORw0KGgoAAA…
העלאה → שליחה: חייבים להוסיף "data:<mime>;base64,"
שליחה → העלאה: חייבים להסיר את אותה קידומת

מגבלות שכדאי לדעת עליהן

Section titled “מגבלות שכדאי לדעת עליהן”
המגבלה הפירוט
אין כלי מחיקה ב‑MCP אין Delete-File ואין Delete-Data. ב‑REST, DELETE /parse/files/<name> עם Master Key כן מוחק Parse File — אבל לא נמצא מסלול API למחיקת קובץ ציבורי של Upload-Public-File מ‑static.mbapps.co.il. ניקוי אחסון ציבורי הוא משימת אופרציה
גודל קובץ דרך MCP גוף הבקשה מוגבל לכ‑10MB — אחרי base64 זה כ‑7.5MB קובץ גולמי (7.4MB עובר, 7.6MB ו‑11MB מחזירים HTTP 413 “Payload Too Large” כדף HTML, לא JSON‑RPC). ב‑REST /parse/files קובץ של 15MB מתקבל — מדיה כבדה עולה שם, לא מ‑MCP
קליטת טפסים לא מקבלת קבצים getlead ו‑web2table אינם תומכים בהעלאת קובץ — שדה File בטופס מחזיר 400 ומשאיר רשומות חלקיות. מעלים בנפרד ומקשרים — ראו טפסים מהאתר
העלאה + שיוך הן שתי פעולות קריסה ביניהן משאירה קובץ יתום שממשיך לתפוס מכסה, ואין שאילתה שמוצאת אותו (Get-Data על Files אינו מחזיר קבצים ציבוריים — הטבלה מיועדת לקבצים שמשויכים לרשומות)

איפה קבצים מופיעים במוצר

Section titled “איפה קבצים מופיעים במוצר”
המקום המנגנון
כרטיס רשומה שדות File / PrivateFile מרונדרים כפקדי העלאה
הצעות מחיר לוגו מוטמע בתבנית; ה‑PDF שנוצר — כלי הצעות מחיר
WhatsApp fileBase64 להעלאה מיידית, fileDBName לקובץ ששמור כבר — כלי הודעות
קוד של דפים Upload-Public-File עם codeFile: true + Set-Page-Settings
מיתוג ומסמכי הנהח“ש לוגו שמור על הגדרות המערכת, נקרא בעת הפקת מסמך