מדריך API

שלבו את enuchat במערכות שלכם באמצעות Tenant API. נהלו שיחות, שלחו הודעות וגשו לנתוני חיובים באופן תכנותי.

אימות

כל בקשות ה-API מאומתות באמצעות מפתח API שנשלח בכותרת X-Api-Key.

קבלת מפתח ה-API

  1. עברו ל-הגדרות → מפתחות API בלוח הבקרה
  2. לחצו על צור מפתח API ותנו לו שם
  3. העתיקו את המפתח מיד — הוא מוצג רק פעם אחת
  4. שמרו אותו בצורה מאובטחת (משתנה סביבה, מנהל סודות)

ביצוע בקשות

כללו את המפתח בכל בקשה:

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

רשימת שיחות, ממוינות לפי ההודעה האחרונה.

פרמטרי שאילתה

פרמטרסוגתיאור
statusstringסנן לפי סטטוס: open, pending, closed
widgetIdstringסנן לפי UUID ווידג'ט
limitintegerמקסימום תוצאות (ברירת מחדל 20, מקסימום 100)
offsetintegerדלג על 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}

קבלו שיחה עם כל ההודעות.

פרמטרי שאילתה

פרמטרסוגתיאור
limitintegerמקסימום הודעות (ברירת מחדל 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"
}
שדהסוגתיאור
contentstringחובה. טקסט ההודעה.
rolestringsystem (ברירת מחדל) או 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"
}
שדהסוגתיאור
statusstringopen, pending, או closed
assignedTostring|nullUUID מפעיל לשיוך, או 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 מעריכי.

מוכנים לשלב?

צרו חשבון חינם ויצרו מפתח API תוך דקות.

התחילו בחינם