התחלה מהירה
המסלול הקצר ביותר מ“אין לי כלום” ל“קיבלתי JSON מהמערכת שלי”.
שלב 1 · הוציאו Application Id ו‑API Key
Section titled “שלב 1 · הוציאו Application Id ו‑API Key”שני הערכים נמצאים באותו מסך, ואתם מפיקים אותם בעצמכם; אין צורך לפנות לתמיכה.
- בתוך ה‑CRM פתחו את תפריט המשתמש (למעלה מימין) ובחרו סביבת פיתוח — נפתחת לשונית חדשה ב‑
siteadmin.mbapps.co.il. - שם: Databases ← בחרו את המערכת שלכם ← לשונית Settings.
- Application Id — יש כפתור העתקה לצד הערך.
- API Keys — לחצו + Add Key. המפתח נוצר ומוצג מיד בשורה חדשה; הקלידו לו שם ולחצו Save כדי לשמור. אחרי רענון תראו את השורה עם ה‑Created Date.
המפתח שנוצר הוא באורך 38 תווים, בשלוש קבוצות הקסדצימליות מופרדות במקפים — לא באותה תבנית כמו ה‑Master Key.
שלב 2 · הקריאה הראשונה
Section titled “שלב 2 · הקריאה הראשונה”בדיקה ראשונה שהחיבור עובד: כמה לידים ולקוחות יש בטבלה המרכזית Accounts.
APP_ID="הדביקו-כאן"API_KEY="הדביקו-כאן"
curl -sS -G "https://api.mbapps.co.il/parse/classes/Accounts" \ -H "X-Parse-Application-Id: $APP_ID" \ -H "X-Parse-API-Key: $API_KEY" \ --data-urlencode 'limit=0' \ --data-urlencode 'count=1'const APP_ID = "הדביקו-כאן";const API_KEY = "הדביקו-כאן";
const params = new URLSearchParams({ limit: "0", count: "1" });const res = await fetch(`https://api.mbapps.co.il/parse/classes/Accounts?${params}`, { headers: { "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, },});const data = await res.json();import requests
APP_ID = "הדביקו-כאן"API_KEY = "הדביקו-כאן"
res = requests.get( "https://api.mbapps.co.il/parse/classes/Accounts", headers={ "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, }, params={"limit": 0, "count": 1},)data = res.json()$appId = "הדביקו-כאן";$apiKey = "הדביקו-כאן";
$query = http_build_query(["limit" => 0, "count" => 1]);$ch = curl_init();curl_setopt_array($ch, [ CURLOPT_URL => "https://api.mbapps.co.il/parse/classes/Accounts?" . $query, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "X-Parse-Application-Id: $appId", "X-Parse-API-Key: $apiKey", ],]);$response = curl_exec($ch);curl_close($ch);תשובה תקינה:
{ "results": [], "count": 1843 }עכשיו שלוש רשומות אמיתיות, רק עם השדות שמעניינים אתכם:
curl -sS -G "https://api.mbapps.co.il/parse/classes/Accounts" \ -H "X-Parse-Application-Id: $APP_ID" \ -H "X-Parse-API-Key: $API_KEY" \ --data-urlencode 'keys=Name,PhoneNumber,Email,IsAccount' \ --data-urlencode 'order=-createdAt' \ --data-urlencode 'limit=3'const APP_ID = "הדביקו-כאן";const API_KEY = "הדביקו-כאן";
const params = new URLSearchParams({ keys: "Name,PhoneNumber,Email,IsAccount", order: "-createdAt", limit: "3",});const res = await fetch(`https://api.mbapps.co.il/parse/classes/Accounts?${params}`, { headers: { "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, },});const data = await res.json();import requests
APP_ID = "הדביקו-כאן"API_KEY = "הדביקו-כאן"
res = requests.get( "https://api.mbapps.co.il/parse/classes/Accounts", headers={ "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, }, params={ "keys": "Name,PhoneNumber,Email,IsAccount", "order": "-createdAt", "limit": 3, },)data = res.json()$appId = "הדביקו-כאן";$apiKey = "הדביקו-כאן";
$query = http_build_query([ "keys" => "Name,PhoneNumber,Email,IsAccount", "order" => "-createdAt", "limit" => 3,]);$ch = curl_init();curl_setopt_array($ch, [ CURLOPT_URL => "https://api.mbapps.co.il/parse/classes/Accounts?" . $query, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "X-Parse-Application-Id: $appId", "X-Parse-API-Key: $apiKey", ],]);$response = curl_exec($ch);curl_close($ch);{ "results": [ { "objectId": "xK9mP2qRsT", "Name": "ישראל ישראלי", "PhoneNumber": "0501234567", "Email": "israel@example.co.il", "IsAccount": false, "createdAt": "2026-08-20T06:12:44.109Z", "updatedAt": "2026-08-20T06:12:44.109Z" } ]}IsAccount: false = ליד. IsAccount: true = לקוח. שניהם יושבים באותה טבלה; ראו מוסכמות המוצר.
שלב 3 · קראו את הסכימה לפני שאתם כותבים
Section titled “שלב 3 · קראו את הסכימה לפני שאתם כותבים”זה הצעד שחוסך את רוב התקלות: כל מערכת היא מופע נפרד עם שדות מותאמים, שדות שהוסרו ותוויות ששונו. אל תניחו שם שדה; שאלו.
curl -sS "https://api.mbapps.co.il/parse/schemas/Accounts" \ -H "X-Parse-Application-Id: $APP_ID" \ -H "X-Parse-API-Key: $API_KEY"const APP_ID = "הדביקו-כאן";const API_KEY = "הדביקו-כאן";
const res = await fetch("https://api.mbapps.co.il/parse/schemas/Accounts", { headers: { "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, },});const data = await res.json();import requests
APP_ID = "הדביקו-כאן"API_KEY = "הדביקו-כאן"
res = requests.get( "https://api.mbapps.co.il/parse/schemas/Accounts", headers={ "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, },)data = res.json()$appId = "הדביקו-כאן";$apiKey = "הדביקו-כאן";
$ch = curl_init();curl_setopt_array($ch, [ CURLOPT_URL => "https://api.mbapps.co.il/parse/schemas/Accounts", CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "X-Parse-Application-Id: $appId", "X-Parse-API-Key: $apiKey", ],]);$response = curl_exec($ch);curl_close($ch);{ "className": "Accounts", "fields": { "objectId": { "type": "String" }, "Name": { "type": "String" }, "PhoneNumber": { "type": "String" }, "Email": { "type": "String" }, "IsAccount": { "type": "Boolean" }, "LeadStatusId":{ "type": "Pointer", "targetClass": "LeadStatuses" }, "LeadSourceId":{ "type": "Pointer", "targetClass": "LeadSource" }, "createdAt": { "type": "Date" } }, "classLevelPermissions": { "find": {}, "get": {}, "create": {} }, "triggers": [], "timeline": { "displayFields": {}, "index": {} }}הרחבה: סכימות — לקרוא לפני שכותבים.
שלב 4 · יצירת רשומה
Section titled “שלב 4 · יצירת רשומה”לפני שאתם שולחים — שתי החלטות שכדאי לקבל בעיניים פקוחות:
| השאלה | התשובה |
|---|---|
| לאיזו טבלה? | Accounts ללקוחות ולידים, Sales לעסקאות, Cases לפניות, Tasks למשימות. המפה המלאה: מפת הטבלאות |
| באיזה פורמט? | String וגם Number פשוטים. Pointer ו‑Date נכתבים אחרת בכל שכבה: סוגי נתונים |
curl -sS -X POST "https://api.mbapps.co.il/parse/classes/Accounts" \ -H "X-Parse-Application-Id: $APP_ID" \ -H "X-Parse-API-Key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{"Name":"בדיקה מה-API","PhoneNumber":"0500000000","IsAccount":false}'const APP_ID = "הדביקו-כאן";const API_KEY = "הדביקו-כאן";
const res = await fetch("https://api.mbapps.co.il/parse/classes/Accounts", { method: "POST", headers: { "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ Name: "בדיקה מה-API", PhoneNumber: "0500000000", IsAccount: false, }),});const data = await res.json();import requests
APP_ID = "הדביקו-כאן"API_KEY = "הדביקו-כאן"
res = requests.post( "https://api.mbapps.co.il/parse/classes/Accounts", headers={ "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, "Content-Type": "application/json", }, json={ "Name": "בדיקה מה-API", "PhoneNumber": "0500000000", "IsAccount": False, },)data = res.json()$appId = "הדביקו-כאן";$apiKey = "הדביקו-כאן";
$payload = json_encode([ "Name" => "בדיקה מה-API", "PhoneNumber" => "0500000000", "IsAccount" => false,]);$ch = curl_init();curl_setopt_array($ch, [ CURLOPT_URL => "https://api.mbapps.co.il/parse/classes/Accounts", CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "X-Parse-Application-Id: $appId", "X-Parse-API-Key: $apiKey", "Content-Type: application/json", ], CURLOPT_POSTFIELDS => $payload,]);$response = curl_exec($ch);curl_close($ch);{ "objectId": "Cpl9lrueY5", "createdAt": "2026-08-20T07:41:02.311Z" }objectId הוא תמיד מחרוזת באורך 10 תווים. שמרו אותו: הוא המפתח לכל עדכון, מחיקה או קישור עתידי.
עכשיו קשרו משהו אליו. שימו לב לצורה של ה‑Pointer:
curl -sS -X POST "https://api.mbapps.co.il/parse/classes/Tasks" \ -H "X-Parse-Application-Id: $APP_ID" \ -H "X-Parse-API-Key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "Name": "התקשר ללקוח", "Date": { "__type": "Date", "iso": "2026-09-01T08:00:00.000Z" }, "AccountId": { "__type": "Pointer", "className": "Accounts", "objectId": "Cpl9lrueY5" } }'const APP_ID = "הדביקו-כאן";const API_KEY = "הדביקו-כאן";
const res = await fetch("https://api.mbapps.co.il/parse/classes/Tasks", { method: "POST", headers: { "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ Name: "התקשר ללקוח", Date: { __type: "Date", iso: "2026-09-01T08:00:00.000Z" }, AccountId: { __type: "Pointer", className: "Accounts", objectId: "Cpl9lrueY5" }, }),});const data = await res.json();import requests
APP_ID = "הדביקו-כאן"API_KEY = "הדביקו-כאן"
res = requests.post( "https://api.mbapps.co.il/parse/classes/Tasks", headers={ "X-Parse-Application-Id": APP_ID, "X-Parse-API-Key": API_KEY, "Content-Type": "application/json", }, json={ "Name": "התקשר ללקוח", "Date": {"__type": "Date", "iso": "2026-09-01T08:00:00.000Z"}, "AccountId": {"__type": "Pointer", "className": "Accounts", "objectId": "Cpl9lrueY5"}, },)data = res.json()$appId = "הדביקו-כאן";$apiKey = "הדביקו-כאן";
$payload = json_encode([ "Name" => "התקשר ללקוח", "Date" => ["__type" => "Date", "iso" => "2026-09-01T08:00:00.000Z"], "AccountId" => ["__type" => "Pointer", "className" => "Accounts", "objectId" => "Cpl9lrueY5"],]);$ch = curl_init();curl_setopt_array($ch, [ CURLOPT_URL => "https://api.mbapps.co.il/parse/classes/Tasks", CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "X-Parse-Application-Id: $appId", "X-Parse-API-Key: $apiKey", "Content-Type: application/json", ], CURLOPT_POSTFIELDS => $payload,]);$response = curl_exec($ch);curl_close($ch);אבל רגע — אם זה טופס באתר, אל תעשו את זה
Section titled “אבל רגע — אם זה טופס באתר, אל תעשו את זה”הקריאה שלמעלה דורשת מפתח. מפתח בדפדפן = דלף. לטפסים ציבוריים יש שכבה נפרדת שנועדה בדיוק לזה, בלי סודות בכלל:
await fetch(`https://api.mbapps.co.il/functions/${APP_ID}/getlead`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Parse-Application-Id': APP_ID }, body: JSON.stringify({ Name: 'ישראל ישראלי', PhoneNumber: '0501234567' }),});ההסבר המלא: getlead ו‑web2table.
המשך מכאן
Section titled “המשך מכאן”- אימות והרשאות — ארבע שיטות האימות ומתי כל אחת נכונה
- מוסכמות המוצר — למה
Accountsמחזיקה גם לידים - סוגי נתונים — הפורמט ב‑JSON לכל טיפוס, בשלוש השכבות
- מפת הטבלאות — לאיזו טבלה אתם כותבים
- שאילתות — סינון, מיון ועימוד
- שגיאות ופתרון תקלות — מה אומר כל קוד