API ואינטגרציות
חברו את Clokio למערכות הקיימות שלכם באמצעות REST API. שלפו נתוני נוכחות, הפעילו דיווחי כניסה באופן תכנותי, קבלו אירועי webhook בזמן אמת והזינו נתונים למערכת השכר שלכם.
ניהול מפתחות API
כל בקשת API חייבת לכלול מפתח API תקף לצורך אימות. המפתחות משויכים לארגון שלכם, כלומר מפתח יכול לגשת רק לנתונים השייכים לחברה שלכם.
יצירת מפתח API
- 1
נווטו למפתחות API
בלוח הבקרה, עברו אל ניהול > מפתחות API.
- 2
לחצו על "צור מפתח חדש"
תנו למפתח שם תיאורי (למשל, "אינטגרציית שכר" או "לוח בקרה HR").
- 3
העתיקו ושמרו את המפתח
המפתח מוצג פעם אחת בלבד בפורמט
clk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. העתיקו אותו מיד ושמרו במקום מאובטח (למשל, משתני סביבה, מנהל סודות).
חשוב
מפתח ה-API מוצג רק פעם אחת בעת היצירה. אם תאבדו אותו, תצטרכו ליצור מפתח חדש. המפתחות מוצפנים ב-SHA-256 במסד הנתונים, כך ש-Clokio לא יכול לשחזר את המפתח המקורי עבורכם.
מאפייני המפתח
| מאפיין | פרטים |
|---|---|
| קידומת | clk_ |
| טווח | ברמת הארגון (גישה לנתוני החברה שלכם בלבד) |
| אחסון | מוצפן ב-SHA-256 במסד הנתונים |
| מגבלת קצב (תוכנית Basic) | 100 בקשות לדקה |
| מגבלת קצב (תוכנית Pro) | 1,000 בקשות לדקה |
כותרת האימות
כללו את מפתח ה-API בכותרת X-API-Key בכל בקשה:
curl -H "X-API-Key: clk_your_api_key_here" \
-H "Content-Type: application/json" \
https://app.clokio.io/api/v1/employees נקודות קצה של ה-API
ה-Public API v1 של Clokio הוא RESTful API. כל נקודות הקצה נמצאות תחת /api/v1/ ומחזירות JSON. כל תגובה עוקבת אחרי אותו פורמט:
{
"status": "success",
"message": "Data retrieved successfully",
"data": { ... }
} נקודות קצה לקריאה (GET)
/api/v1/employees רשימת כל העובדים בארגון שלכם.
curl -H "X-API-Key: clk_your_key" \
https://app.clokio.io/api/v1/employees /api/v1/attendance/daily?date=YYYY-MM-DD קבלת כל רשומות הנוכחות לתאריך מסוים.
curl -H "X-API-Key: clk_your_key" \
"https://app.clokio.io/api/v1/attendance/daily?date=2026-02-10" דוגמת תגובה:
{
"status": "success",
"message": "Daily attendance retrieved",
"data": [
{
"employee_id": 42,
"employee_name": "Sarah Johnson",
"nip": "EMP-1042",
"clock_in": "2026-02-10T08:55:00Z",
"clock_out": "2026-02-10T17:32:00Z",
"total_hours": 7.87,
"break_minutes": 45,
"status": "present"
}
]
} /api/v1/attendance/range?start=YYYY-MM-DD&end=YYYY-MM-DD קבלת רשומות נוכחות לטווח תאריכים (מקסימום 31 ימים).
curl -H "X-API-Key: clk_your_key" \
"https://app.clokio.io/api/v1/attendance/range?start=2026-02-01&end=2026-02-28" /api/v1/attendance/employee/{nip} קבלת רשומות נוכחות של עובד ספציפי לפי מזהה העובד (NIP).
curl -H "X-API-Key: clk_your_key" \
"https://app.clokio.io/api/v1/attendance/employee/EMP-1042" /api/v1/attendance/summary?month=MM&year=YYYY קבלת סיכום נוכחות חודשי לכל העובדים.
curl -H "X-API-Key: clk_your_key" \
"https://app.clokio.io/api/v1/attendance/summary?month=02&year=2026" נקודות קצה לכתיבה (POST)
/api/v1/attendance/clock-in דיווח כניסה לעובד. שימושי לאינטגרציות קיוסק או התקני חומרה מותאמים.
curl -X POST \
-H "X-API-Key: clk_your_key" \
-H "Content-Type: application/json" \
-d '{"nip": "EMP-1042", "latitude": 32.0853, "longitude": 34.7818}' \
https://app.clokio.io/api/v1/attendance/clock-in דוגמת תגובה:
{
"status": "success",
"message": "Employee clocked in successfully",
"data": {
"attendance_id": 8847,
"employee_name": "Sarah Johnson",
"clock_in": "2026-02-12T08:55:12Z",
"location": "Main Office"
}
} /api/v1/attendance/clock-out דיווח יציאה לעובד.
curl -X POST \
-H "X-API-Key: clk_your_key" \
-H "Content-Type: application/json" \
-d '{"nip": "EMP-1042", "latitude": 32.0853, "longitude": 34.7818}' \
https://app.clokio.io/api/v1/attendance/clock-out /api/v1/attendance/break-start התחלת הפסקה לעובד שכרגע מדווח כנוכח.
curl -X POST \
-H "X-API-Key: clk_your_key" \
-H "Content-Type: application/json" \
-d '{"nip": "EMP-1042"}' \
https://app.clokio.io/api/v1/attendance/break-start /api/v1/attendance/break-end סיום הפסקה לעובד שכרגע בהפסקה.
curl -X POST \
-H "X-API-Key: clk_your_key" \
-H "Content-Type: application/json" \
-d '{"nip": "EMP-1042"}' \
https://app.clokio.io/api/v1/attendance/break-end טיפול בשגיאות
כאשר בקשה נכשלת, ה-API מחזיר קוד סטטוס HTTP מתאים יחד עם הודעת שגיאה:
// 401 Unauthorized - Invalid or missing API key
{
"status": "error",
"message": "Invalid API key",
"data": null
}
// 422 Unprocessable Entity - Validation error
{
"status": "error",
"message": "The date field is required",
"data": null
}
// 429 Too Many Requests - Rate limit exceeded
{
"status": "error",
"message": "Rate limit exceeded. Try again in 60 seconds.",
"data": null
} טיפ
בדקו תמיד גם את קוד הסטטוס HTTP וגם את שדה status בתגובת ה-JSON. קוד סטטוס 200 עם "status": "success" מעיד שהבקשה עובדה במלואה.
התראות Webhook
Webhooks מאפשרים לכם לקבל התראות בזמן אמת כאשר מתרחשים אירועי נוכחות, ללא צורך לתשאל את ה-API. כאשר עובד מדווח כניסה, יציאה או יוצא להפסקה, Clokio שולח בקשת HTTP POST לכתובת ה-URL שהגדרתם.
פלטפורמות נתמכות
אירועים נתמכים
| אירוע | מופעל כאשר |
|---|---|
| clock-in | עובד מדווח כניסה |
| clock-out | עובד מדווח יציאה |
| break-start | עובד מתחיל הפסקה |
| break-end | עובד מסיים הפסקה |
סינון
אין צורך לקבל התראות על כל אירוע. Webhooks תומכים בסינון מפורט כדי שתקבלו הודעות רק על מה שחשוב:
- לפי מיקום: קבלו אירועים רק ממיקומי עבודה ספציפיים.
- לפי עובד: עקבו אחר עובדים ספציפיים (למשל, עובדים חדשים בתקופת ניסיון).
- לפי מחלקה: הגבילו התראות למחלקות מסוימות.
- לפי יום בשבוע: שלחו התראות רק בימי עבודה.
- לפי טווח שעות: הפעילו רק בשעות מסוימות (למשל, 6:00 - 10:00 בבוקר לניטור איחורים).
תבניות הודעות מותאמות אישית
התאימו אישית את ההודעה שנשלחת לערוץ שלכם. השתמשו במשתנים כמו {employee_name}, {event_type}, {timestamp} ו-{location_name} כדי לבנות הודעות שמתאימות לסגנון הצוות שלכם.
מעקב משלוחים וניסיונות חוזרים
Clokio עוקב אחר סטטוס המשלוח של כל התראת webhook. אם משלוח נכשל (למשל, נקודת הקצה שלכם מושבתת זמנית), המערכת מנסה שוב עם השהייה מעריכית. ניתן לצפות ביומני המשלוחים בלוח הבקרה תחת Webhooks > יומן משלוחים לאבחון בעיות.
הערה
עבור נקודות קצה HTTPS גנריות, Clokio שולח בקשת POST עם מטען JSON. נקודת הקצה שלכם צריכה להחזיר קוד סטטוס 2xx לאישור קבלה. כל קוד סטטוס אחר נחשב כשגיאת משלוח ומפעיל ניסיון חוזר.
אינטגרציית שכר
אחד השימושים בעלי הערך הגבוה ביותר ב-API של Clokio הוא הזנת נתוני נוכחות למערכת השכר שלכם. בין אם אתם משתמשים בתהליך ידני או בתוכנה אוטומטית, Clokio מספק את הנתונים הדרושים.
אפשרות 1: ייצוא CSV (ידני)
הגישה הפשוטה ביותר היא לייצא את הסיכום החודשי כקובץ CSV מלוח הבקרה, ואז לייבא אותו לתוכנת השכר. ה-CSV כולל את כל השדות שמערכות שכר בדרך כלל דורשות: שם/מזהה עובד, סך שעות, שעות נוספות, ימי חופשה ומספר היעדרויות. רוב תוכנות השכר (כולל כלים פופולריים כמו ADP, Gusto ו-QuickBooks) יכולות לייבא קבצי CSV.
- 1
עברו לדוחות > סיכום חודשי
בחרו את החודש והשנה.
- 2
לחצו על "ייצוא CSV"
הקובץ יורד למחשב שלכם.
- 3
ייבאו לתוכנת השכר
השתמשו בתכונת ייבוא ה-CSV של כלי השכר שלכם. מפו את עמודות Clokio לשדות השכר.
אפשרות 2: אינטגרציית API (אוטומטית)
לארגונים שרוצים לבטל שלבים ידניים לחלוטין, השתמשו ב-API לסנכרון אוטומטי של נתוני נוכחות. הגדרה טיפוסית כוללת סקריפט לילי ש:
- 1
מושך את נוכחות אתמול
קורא ל-
GET /api/v1/attendance/daily?date=YYYY-MM-DDעבור תאריך אתמול. - 2
ממיר את הנתונים
ממפה שדות Clokio לפורמט הנדרש של מערכת השכר.
- 3
שולח למערכת השכר
שולח את הנתונים ל-API או לנקודת הייבוא של מערכת השכר.
הנה דוגמת סקריפט (Node.js) ששולף את נוכחות אתמול:
// fetch-attendance.js
const API_KEY = process.env.CLOKIO_API_KEY;
const BASE_URL = 'https://app.clokio.io/api/v1';
// Get yesterday's date
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
const dateStr = yesterday.toISOString().split('T')[0];
async function fetchAttendance() {
const response = await fetch(
`${BASE_URL}/attendance/daily?date=${dateStr}`,
{
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
}
}
);
const result = await response.json();
if (result.status === 'success') {
console.log(`Found ${result.data.length} records for ${dateStr}`);
// Transform and send to your payroll system here
return result.data;
} else {
console.error('API Error:', result.message);
}
}
fetchAttendance(); סיכום חודשי לשכר
בסוף כל חודש, השתמשו בנקודת הקצה GET /api/v1/attendance/summary כדי לשלוף סיכום מלא לכל עובד. זה נותן לכם סך שעות, שעות נוספות, ימי חופשה ומספר היעדרויות -- הכל מה שמחלקת השכר צריכה.
טיפ
אם אתם בונים אינטגרציה אוטומטית, שקלו להשתמש ב-webhooks לעדכונים בזמן אמת בשילוב עם נקודת הקצה היומית של ה-API לבדיקת התאמה לילית. זה נותן לכם גם מהירות וגם דיוק.
הערה
צריכים עזרה בהגדרת אינטגרציה מותאמת אישית? צרו קשר עם צוות התמיכה שלנו בכתובת support@matat.co.il ונעזור לכם לתכנן את הגישה הטובה ביותר לתהליך השכר שלכם.