מדריך API
שלבו את enuchat במערכות שלכם באמצעות Tenant API. נהלו שיחות, שלחו הודעות וגשו לנתוני חיובים באופן תכנותי.
אימות
כל בקשות ה-API מאומתות באמצעות מפתח API שנשלח בכותרת X-Api-Key.
קבלת מפתח ה-API
- עברו ל-הגדרות → מפתחות API בלוח הבקרה
- לחצו על צור מפתח API ותנו לו שם
- העתיקו את המפתח מיד — הוא מוצג רק פעם אחת
- שמרו אותו בצורה מאובטחת (משתנה סביבה, מנהל סודות)
ביצוע בקשות
כללו את המפתח בכל בקשה:
curl -H "X-Api-Key: tak_your_key_here" \
https://api.enuchat.com/api/v1/tenant-api/widgetsכל התגובות הן JSON. תגובות מוצלחות כוללות שדה data. שגיאות כוללות שדה error עם code ו-message.
אבטחה: מפתחות API עוברים hashing (SHA-256) במסד הנתונים שלנו. אנחנו לעולם לא שומרים את המפתח הגולמי. התייחסו למפתח כמו לסיסמה — אל תוסיפו אותו לקוד ואל תשתפו אותו בפומבי.
כתובת בסיס
https://api.enuchat.com/api/v1/tenant-apiכל ה-endpoints שלהלן הם יחסיים לכתובת בסיס זו.
Endpoints
GET /widgets
רשימת כל הווידג'טים בחשבון שלכם.
תגובה
{'{'}
"data": [
{'{'}
"id": "019d19c6-7e0b-...",
"name": "Main Website Chat",
"isActive": true,
"aiEnabled": true,
"translationEnabled": true,
"primaryColor": "#2563eb",
"position": "bottom-right"
}
]
}GET /conversations
רשימת שיחות, ממוינות לפי ההודעה האחרונה.
פרמטרי שאילתה
| פרמטר | סוג | תיאור |
|---|---|---|
status | string | סנן לפי סטטוס: open, pending, closed |
widgetId | string | סנן לפי UUID ווידג'ט |
limit | integer | מקסימום תוצאות (ברירת מחדל 20, מקסימום 100) |
offset | integer | דלג על N תוצאות |
דוגמה
curl -H "X-Api-Key: tak_..." \
"https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"תגובה
{'{'}
"data": [
{'{'}
"id": "019d6724-000e-...",
"widgetId": "019d19c6-7e0b-...",
"visitorId": "v-abc123",
"visitorName": "John",
"visitorEmail": "john{'@'}example.com",
"visitorLanguage": "en",
"status": "open",
"assignedTo": null,
"lastMessageAt": "2026-04-11T14:30:00+00:00",
"startedAt": "2026-04-11T14:25:00+00:00"
}
]
}GET /conversations/{'{'}id}
קבלו שיחה עם כל ההודעות.
פרמטרי שאילתה
| פרמטר | סוג | תיאור |
|---|---|---|
limit | integer | מקסימום הודעות (ברירת מחדל 50, מקסימום 200) |
תגובה
{'{'}
"data": {'{'}
"id": "019d6724-000e-...",
"visitorLanguage": "en",
"status": "open",
"messages": [
{'{'}
"id": "019d6724-1234-...",
"role": "visitor",
"content": "Hello, how much does it cost?",
"contentLanguage": "en",
"translatedContent": "Cześć, ile to kosztuje?",
"translatedLanguage": "pl",
"isAutoReply": false,
"createdAt": "2026-04-11T14:25:30+00:00"
},
{'{'}
"id": "019d6724-5678-...",
"role": "ai",
"content": "Our plans start at €19/month...",
"isAutoReply": true,
"createdAt": "2026-04-11T14:25:32+00:00"
}
]
}
}POST /conversations/{'{'}id}/messages
שלחו הודעה לשיחה. ההודעה תועבר למבקר בזמן אמת דרך ווידג'ט הצ'אט.
גוף הבקשה
{'{'}
"content": "Thanks for reaching out! We'll process your request.",
"role": "system"
}| שדה | סוג | תיאור |
|---|---|---|
content | string | חובה. טקסט ההודעה. |
role | string | system (ברירת מחדל) או operator |
תגובה (201 Created)
{'{'}
"data": {'{'}
"id": "019d6725-abcd-...",
"role": "system",
"content": "Thanks for reaching out!",
"createdAt": "2026-04-11T14:35:00+00:00"
}
}PATCH /conversations/{'{'}id}
עדכנו סטטוס שיחה או שיוך.
גוף הבקשה
{'{'}
"status": "closed"
}| שדה | סוג | תיאור |
|---|---|---|
status | string | open, pending, או closed |
assignedTo | string|null | UUID מפעיל לשיוך, או null לביטול שיוך |
GET /billing/balance
קבלו את התוכנית הנוכחית ויתרת הקרדיטים.
תגובה
{'{'}
"data": {'{'}
"plan": "pro",
"creditBalance": 4500000,
"totalCreditsAdded": 10000000
}
}טיפול בשגיאות
שגיאות מחזירות קוד סטטוס שאינו 2xx עם גוף JSON:
{'{'}
"error": {'{'}
"code": "NOT_FOUND",
"message": "Conversation not found."
}
}| סטטוס HTTP | משמעות |
|---|---|
401 | מפתח API לא חוקי, פג תוקף או חסר |
400 | גוף בקשה או פרמטרים לא חוקיים |
404 | משאב לא נמצא (או שייך לדייר אחר) |
500 | שגיאת שרת |
שימושים נפוצים
אינטגרציית CRM
שלפו שיחות חדשות וסנכרנו נתוני מבקרים (שם, אימייל, שפה) ל-CRM שלכם. השתמשו במזהה השיחה כהפניה חיצונית.
מעקבים אוטומטיים
לאחר סגירת שיחה, שלחו הודעת מעקב דרך ה-API: "תודה ששוחחתם! יש עוד משהו שנוכל לעזור בו?"
חלופה ל-Webhook
עד שיהיו webhook-ים יוצאים זמינים, שלפו מ-endpoint השיחות באופן תקופתי כדי לזהות הודעות חדשות או שינויי סטטוס.
פעולות מרובות
סגרו את כל השיחות הישנות מ-7 ימים, שייכו שיחות למפעילים על סמך לוגיקה חיצונית, או ייצאו היסטוריית שיחות לאנליטיקה.
הגבלות קצב
ה-API מאפשר עד 60 בקשות לדקה למפתח API. אם תעברו מגבלה זו, תקבלו תגובת 429 Too Many Requests. המתינו ונסו שוב עם backoff מעריכי.