ממשק API

ממשק RESTful לאינטגרציה עם מערכות חיצוניות

מפתחות API של ספקי הסליקה והרכיבים של Reconciliation מנוהלים מתוך המערכת עצמה בלבד, דרך הגדרות התשלום/ה-API בפאנל הניהול — ולא דרך secrets חיצוניים.
אימות (Authentication)

כל הבקשות דורשות אימות Admin. השתמשי ב-API Key שלך בכותרת Authorization:

curl -X POST \
  "YOUR_FUNCTION_URL/apiEndpoint" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"resource": "courses", "action": "list"}'
💡 ניתן למצוא את ה-API Key בדשבורד → קוד → פונקציות → apiEndpoint
מבנה בקשה

כל הבקשות נשלחות כ-POST עם JSON body:

{
  "resource": "string (required) — שם המשאב (courses, users, etc.)",
  "action": "string (required) — list | get | create | update | delete | export | schema",
  "id": "string (optional) — מזהה רשומה (נדרש ב-get, update, delete)",
  "data": "object (optional) — נתונים ליצירה/עדכון",
  "filters": "object (optional) — סינון תוצאות",
  "sort": "string (optional) — שדה מיון עם - לסדר יורד (default: -created_date)",
  "limit": "number (optional) — מקסימום תוצאות (default: 50, max: 200, export max: 5000)",
  "format": "string (optional) — json | csv (לפעולת export בלבד)"
}
פעולות זמינות
GET
list— רשימת רשומות עם אפשרות סינון ומיון
GET
get— שליפת רשומה בודדת לפי מזהה
POST
create— יצירת רשומה חדשה (או מערך רשומות)
PUT
update— עדכון שדות ברשומה קיימת
DELETE
delete— מחיקת רשומה
EXPORT
export— ייצוא כל הנתונים כ-JSON או CSV
META
schema— קבלת הסכמה של המשאב
📋 דוגמאות

רשימה (List)

{
  "resource": "courses",
  "action": "list",
  "limit": 10,
  "sort": "-created_date"
}

סינון (Filter)

{
  "resource": "courses",
  "action": "list",
  "filters": {
    "status": "published",
    "category": "clinical"
  },
  "limit": 20
}

פריט בודד (Get)

{
  "resource": "courses",
  "action": "get",
  "id": "<RECORD_ID>"
}

יצירה (Create)

{
  "resource": "calendar_events",
  "action": "create",
  "data": {
    "title": "סדנה חדשה",
    "start_date": "2025-03-01T10:00:00",
    "sub_brand": "general"
  }
}

עדכון (Update)

{
  "resource": "courses",
  "action": "update",
  "id": "<RECORD_ID>",
  "data": {
    "status": "published"
  }
}

מחיקה (Delete)

{
  "resource": "calendar_events",
  "action": "delete",
  "id": "<RECORD_ID>"
}

ייצוא JSON (Export)

{
  "resource": "users",
  "action": "export",
  "format": "json",
  "limit": 1000
}

ייצוא CSV (Export CSV)

{
  "resource": "users",
  "action": "export",
  "format": "csv",
  "limit": 1000
}

סכמה (Schema)

{
  "resource": "courses",
  "action": "schema"
}
📤 מבנה תגובה

תגובה מוצלחת:

{
  "success": true,
  "resource": "courses",
  "count": 5,
  "data": [
    "...records"
  ]
}

שגיאה:

{
  "error": "Invalid resource",
  "message": "Resource 'xyz' not found. Available: users, courses, ..."
}
200

OK

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

500

Server Error