למפתחים

AllChatBoard API

REST API מלא ליצירה, קריאה, עדכון ומחיקה של רשומות בטבלאות. מתאים לחיבור אתרים, אפליקציות, Zapier, Make, ואינטגרציות מותאמות.

תחילת עבודה (3 צעדים)

  1. לך ל-מפתחות API בלוח הניהול
  2. לחץ "מפתח חדש", בחר הרשאות (קריאה / יצירה / עדכון / מחיקה), ובחר אילו טבלאות ייחשפו
  3. העתק את המפתח (מוצג פעם אחת בלבד!) והשתמש בו ב-Authorization header בכל בקשה

אותנטיקציה

כל בקשה דורשת header של Authorization:

Authorization: Bearer acb_live_abc123def456...
שמור את המפתח בסוד

אל תשים את המפתח בקוד frontend (גלוי בדפדפן). השתמש רק בקוד server-side.

Base URL

https://taskflow-ai.com/api/v1

Endpoints

POST /records — יצירת רשומה

יוצר רשומה חדשה בטבלה. השדה data מכיל את ערכי השדות לפי slug.

דוגמה ב-curl

curl -X POST https://taskflow-ai.com/api/v1/records \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "table_id": "abc123-...",
    "data": {
      "name": "דניאל לוי",
      "phone": "0501234567",
      "city": "באר שבע",
      "vehicle_type": "Tesla Model 3"
    }
  }'

דוגמה ב-JavaScript

const response = await fetch('https://taskflow-ai.com/api/v1/records', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.ALLCHAT_TOKEN}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    table_id: 'abc123-...',
    data: {
      name: 'דניאל לוי',
      phone: '0501234567'
    }
  })
});
const { record } = await response.json();
console.log('Created record:', record.id);

דוגמה ב-Python

import requests

response = requests.post(
    'https://taskflow-ai.com/api/v1/records',
    headers={'Authorization': f'Bearer {TOKEN}'},
    json={
        'table_id': 'abc123-...',
        'data': {
            'name': 'דניאל לוי',
            'phone': '0501234567'
        }
    }
)
print(response.json())

תגובה (201 Created)

{
  "record": {
    "id": "rec_xyz789",
    "data": { ... },
    "source": "api",
    "created_at": "2026-04-25T18:30:00Z"
  }
}

GET /records?table_id=xxx — שליפת רשומות

פרמטרים אופציונליים:

  • limit - מספר רשומות (ברירת מחדל 50, מקסימום 200)
  • offset - דילוג (לעימוד)
  • search - חיפוש טקסט חופשי
  • order_by - סידור לפי שדה (ברירת מחדל: created_at)
  • order_dir - asc או desc
curl "https://taskflow-ai.com/api/v1/records?table_id=abc123&limit=20&search=דניאל" \
  -H "Authorization: Bearer YOUR_TOKEN"

תגובה

{
  "records": [...],
  "total": 145,
  "limit": 20,
  "offset": 0
}

GET /records/{id} — שליפת רשומה אחת

curl https://taskflow-ai.com/api/v1/records/rec_xyz789 \
  -H "Authorization: Bearer YOUR_TOKEN"

PATCH /records/{id} — עדכון רשומה

מעדכן רק את השדות שנשלחים (merge, לא replace). דורש הרשאת update.

curl -X PATCH https://taskflow-ai.com/api/v1/records/rec_xyz789 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "data": { "status": "completed" } }'

DELETE /records/{id} — מחיקת רשומה

דורש הרשאת delete.

curl -X DELETE https://taskflow-ai.com/api/v1/records/rec_xyz789 \
  -H "Authorization: Bearer YOUR_TOKEN"

GET /tables — רשימת טבלאות עם schema

שימושי לאוטומציות שצריכות לגלות אילו שדות קיימים בכל טבלה.

curl https://taskflow-ai.com/api/v1/tables \
  -H "Authorization: Bearer YOUR_TOKEN"

תגובה

{
  "tables": [
    {
      "id": "abc123-...",
      "name": "לקוחות",
      "slug": "customers",
      "fields": [
        { "slug": "name", "name": "שם מלא", "type": "text", "is_required": true },
        { "slug": "phone", "name": "טלפון", "type": "phone" },
        { "slug": "city", "name": "עיר", "type": "city" },
        {
          "slug": "status",
          "name": "סטטוס",
          "type": "status",
          "options": [
            { "value": "new", "label": "חדש" },
            { "value": "active", "label": "פעיל" }
          ]
        }
      ]
    }
  ]
}

GET /me — אימות מפתח וזיהוי סביבה

קריאה קלה שמאמתת את המפתח. תשובת 200 אומרת שהמפתח תקף, והיא מתארת את הסביבה ואת ההרשאות שהמפתח מוגבל אליהן. שימושי במיוחד ב-Make/Zapier כדי לבדוק חיבור.

curl https://taskflow-ai.com/api/v1/me \
  -H "Authorization: Bearer acb_live_..."

# → { "workspace_id": "...", "workspace_name": "...",
#     "permissions": [...], "table_ids": [...] }

POST /messages — שליחת הודעת WhatsApp

שולח הודעה מהמספר המחובר של הסביבה. השדה to מקבל ספרות (972501234567) או chatId מלא. הפורמט מותאם אוטומטית לספק שבשימוש.

curl -X POST https://taskflow-ai.com/api/v1/messages \
  -H "Authorization: Bearer acb_live_..." \
  -H "Content-Type: application/json" \
  -d '{"to": "972501234567", "text": "ההזמנה שלך יצאה לדרך"}'
שים לב: אין להשתמש ב-endpoint הזה כדי לשלוח לתפוצה. בחיבור וואטסאפ אישי המגבלה היא 3 נמענים, והיא נאכפת בשרת. שליחה בלולאה להרבה מספרים עלולה לגרום לחסימת המספר העסקי. קרא על דיוור ותפוצות.

Webhooks — טריגרים מיידיים

במקום לבצע polling, אפשר להירשם לאירועים ולקבל אותם ב-push. זה מה שמפעיל את הטריגרים המיידיים של Make.com.

  • record.created — רשומה חדשה נוצרה (אפשר לסנן לפי table_id)
  • message.received — התקבלה הודעת WhatsApp
# הרשמה
curl -X POST https://taskflow-ai.com/api/v1/webhooks \
  -H "Authorization: Bearer acb_live_..." \
  -H "Content-Type: application/json" \
  -d '{"target_url": "https://hook.make.com/xxx",
       "event_type": "record.created",
       "table_id": "abc123"}'
# → { "id": "wh_..." }

# רשימת המנויים הקיימים
curl https://taskflow-ai.com/api/v1/webhooks -H "Authorization: Bearer acb_live_..."

# ביטול מנוי
curl -X DELETE https://taskflow-ai.com/api/v1/webhooks/wh_... \
  -H "Authorization: Bearer acb_live_..."

קודי שגיאה

קודמשמעותתיקון
200/201הצליח
400בקשה לא תקינהבדוק שכל השדות החובה נשלחו ושהפורמט תקין
401חסרה אותנטיקציה / מפתח לא תקיןבדוק את ה-Authorization header
403אין הרשאה לפעולה / לטבלההוסף הרשאה למפתח בלוח הניהול
404רשומה / טבלה לא נמצאהבדוק את ה-ID
500שגיאת שרתנסה שוב, אם חוזר - פנה לתמיכה

כל תשובת שגיאה כוללת שדה error עם מחרוזת קבועה — עליה כדאי לבסס את הטיפול בקוד, ולא על טקסט ההודעה:

errorמתי
missing_authorizationלא נשלח Authorization header
invalid_tokenהמפתח לא קיים, בוטל, או פג
forbiddenלמפתח אין הרשאה לפעולה הזו
forbidden_tableלמפתח אין גישה לטבלה שביקשת
missing_field / missing_requiredחסר שדה חובה בגוף הבקשה
missing_paramחסר פרמטר ב-query (למשל table_id)
invalid_jsonגוף הבקשה אינו JSON תקין
invalid_event_typeסוג אירוע לא נתמך ב-webhook
invalid_target_urlכתובת ה-webhook אינה תקינה
no_instanceאין חיבור WhatsApp פעיל בסביבה
send_failedספק ה-WhatsApp דחה את השליחה

פורמט שדות

כל ערך בשדה data נשלח לפי הסוג של השדה:

סוג שדהפורמטדוגמה
text / longtextstring"שם מלא"
number / currencynumber15000
datestring ISO"2026-04-25"
datetimestring ISO"2026-04-25T14:30:00Z"
checkboxbooleantrue
select / statusstring (value)"active"
multiselectarray of strings["tag1", "tag2"]
phone / email / url / citystring"0501234567"
relationUUID של רשומה אחרת"abc123-..."

מגבלות ושימוש

  • גודל בקשה מקסימלי: 1MB
  • limit מקסימלי בקריאת רשומות: 200
  • אין כרגע rate limiting קשיח, אבל שימוש חריג ינוטר
  • כל הקריאות מתועדות ב-לוח הניהול → לשונית "בקשות"

מקרי שימוש פופולריים

אתר אינטרנט עם טופס פנייה

כל פנייה באתר נכנסת ישירות לטבלת "לידים":

// בקוד האתר (Node.js endpoint, לא frontend!)
app.post('/contact', async (req, res) => {
  await fetch('https://taskflow-ai.com/api/v1/records', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.ALLCHAT_TOKEN}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      table_id: process.env.LEADS_TABLE_ID,
      data: {
        name: req.body.name,
        phone: req.body.phone,
        message: req.body.message
      }
    })
  });
  res.json({ success: true });
});

חיבור Zapier / Make

בחר אקשן "Webhooks → Custom Request → POST", הדבק את ה-URL וה-headers, ו-Zapier יישלח כל אירוע מ-1000+ אפליקציות אחרות.

תמיכה

בעיות? פנה ל-support@allchatboard.com. כדאי לצרף את ה-X-Request-ID מהתגובה אם רלוונטי.