התחלה מהירה
Base URL: https://api.mbapps.co.il/parse. אימות בשני headers: X-Parse-Application-Id ו‑X-Parse-API-Key.
כל לקוח הוא אפליקציה נפרדת עם מזהה ומפתחות משלה, שמופקים בסביבת הפיתוח ולא באפליקציית ה‑CRM: סביבות וגישה.
שלב 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. המפתח מוצג מיד בשורה חדשה. הקלידו Name, לחצו Save. אחרי רענון השורה מוצגת עם Created Date.
API Key: 38 תווים, שלוש קבוצות הקסדצימליות מופרדות במקפים. תבנית שונה מזו של ה‑Master Key.
שלב 2 · ספירה ושליפה
Section titled “שלב 2 · ספירה ושליפה”GET /parse/classes/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 · קראו את הסכימה לפני שאתם כותבים”GET /parse/schemas/<Table>. כל מערכת היא מופע נפרד עם שדות מותאמים, שדות שהוסרו ותוויות ששונו. אל תניחו שם שדה.
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 · יצירת רשומה”POST /parse/classes/<Table> עם Content-Type: application/json.
| השאלה | התשובה |
|---|---|
| לאיזו טבלה? | 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);טופס באתר: לא דרך REST
Section titled “טופס באתר: לא דרך REST”מפתח בדפדפן הוא דלף. לטפסים ציבוריים יש שכבה נפרדת, בלי סודות:
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' }),});המשך מכאן
Section titled “המשך מכאן”- אימות והרשאות — ארבע שיטות האימות
- מוסכמות המוצר — למה
Accountsמחזיקה גם לידים - סוגי נתונים — הפורמט ב‑JSON בשלוש השכבות
- מפת הטבלאות — לאיזו טבלה כותבים
- שאילתות — סינון, מיון ועימוד
- שגיאות — מה אומר כל קוד