תיעוד API
בנה אינטגרציות מותאמות עם ה-API של Asyntai
נדרשת תוכנית בתשלום: גישה ל-API זמינה בתוכניות Starter, Standard ו-Pro. צפה במחירים
סקירה כללית
ה-API של Asyntai מאפשר לך לשלב תמיכת לקוחות מבוססת AI בכל אפליקציה. שלח הודעות וקבל תשובות חכמות שאומנו על תוכן האתר ומאגר הידע שלך.
אימות
כל בקשות ה-API דורשות אימות באמצעות מפתח ה-API שלך. תוכל לקבל את מפתח ה-API שלך מדף הגדרות API.
כלול את מפתח ה-API שלך בבקשות באמצעות אחת מהשיטות הבאות:
- כותרת Authorization (מומלץ):
Authorization: Bearer YOUR_API_KEY - כותרת X-API-Key:
X-API-Key: YOUR_API_KEY
שמור על סודיות מפתח ה-API שלך. כל מי שיש לו את המפתח שלך יכול לגשת לחשבונך דרך ה-API. לעולם אל תחשוף אותו בקוד צד לקוח.
כתובת בסיס
https://asyntai.com/api/v1/
נקודות קצה
POST /chat/
שלח הודעה וקבל תשובה שנוצרה על ידי AI.
גוף הבקשה
{
"message": "What are your business hours?",
"session_id": "user_123", // optional
"website_id": 1 // optional
}
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
message |
string | כן | הודעת המשתמש לשליחה ל-AI |
session_id |
string | לא | מזהה ייחודי לשיחה. השתמש באותו session_id כדי לשמור על היסטוריית השיחה. |
website_id |
integer | לא | מזהה אתר ספציפי. אם לא סופק, משתמש באתר הראשי שלך. |
תגובה
{
"success": true,
"response": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
"session_id": "user_123"
}
דוגמה (cURL)
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "What are your business hours?", "session_id": "user_123"}'
דוגמה (Python)
import requests
response = requests.post(
"https://asyntai.com/api/v1/chat/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"message": "What are your business hours?",
"session_id": "user_123"
}
)
data = response.json()
print(data["response"])
דוגמה (JavaScript)
const response = await fetch("https://asyntai.com/api/v1/chat/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
message: "What are your business hours?",
session_id: "user_123"
})
});
const data = await response.json();
console.log(data.response);
GET /websites/
הצג את כל האתרים המשויכים לחשבון שלך.
תגובה
{
"success": true,
"websites": [
{
"id": 1,
"name": "My Website",
"domain": "example.com",
"is_primary": true
}
]
}
דוגמה (cURL)
curl https://asyntai.com/api/v1/websites/ \
-H "Authorization: Bearer YOUR_API_KEY"
GET /conversations/
אחזר היסטוריית שיחות עבור מפגש ספציפי.
פרמטרי שאילתה
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
session_id |
string | כן | מזהה המפגש לאחזור היסטוריה |
limit |
integer | לא | מספר הודעות מקסימלי להחזרה (ברירת מחדל: 50, מקסימום: 100) |
תגובה
{
"success": true,
"session_id": "user_123",
"messages": [
{
"role": "user",
"content": "What are your business hours?",
"timestamp": "2024-01-15T10:30:00Z"
},
{
"role": "assistant",
"content": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
"timestamp": "2024-01-15T10:30:01Z"
}
]
}
דוגמה (cURL)
curl "https://asyntai.com/api/v1/conversations/?session_id=user_123&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /sessions/
הצג את מפגשי הצ'אט האחרונים שלך. השתמש בזה כדי לגלות מזהי מפגשים, שתוכל להעביר ל-/conversations/ כדי לאחזר את היסטוריית ההודעות המלאה.
פרמטרי שאילתה
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
limit |
integer | לא | מספר מפגשים אחרונים להחזרה (ברירת מחדל: 20, מקסימום: 100) |
website_id |
string | לא | סנן מפגשים לפי מזהה אתר ספציפי |
source |
string | לא | סנן לפי מקור הפגישה: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier |
תגובה
{
"success": true,
"sessions": [
{
"session_id": "session_abc123def",
"source": "widget",
"message_count": 5,
"first_message": "What are your business hours?",
"first_message_at": "2024-01-15T10:30:00Z",
"last_message_at": "2024-01-15T10:35:00Z",
"website_domain": "example.com"
}
]
}
דוגמה (cURL)
curl "https://asyntai.com/api/v1/sessions/?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /leads/
אחזור לידים שנאספו — כתובות דוא"ל ומספרי טלפון שהוגשו על ידי מבקרים במהלך שיחות צ'אט.
פרמטרי שאילתה
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
limit |
integer | לא | מספר הלידים להחזרה (ברירת מחדל: 50, מקסימום: 100) |
website_id |
string | לא | סנן לידים לפי מזהה אתר ספציפי |
תגובה
{
"success": true,
"leads": [
{
"session_id": "session_abc123def",
"email": "visitor@example.com",
"phone": "+1234567890",
"page_url": "https://example.com/pricing",
"started_at": "2024-01-15T10:30:00Z"
}
]
}
| שדה | סוג | תיאור |
|---|---|---|
session_id |
string | מזהה שיחת הצ'אט. העבר אותו ל-/conversations/ כדי לראות את היסטוריית הצ'אט המלאה. |
email |
מחרוזת או null | כתובת דוא"ל שסופקה על ידי המבקר, או null אם לא נאספה |
phone |
מחרוזת או null | מספר טלפון שסופק על ידי המבקר, או null אם לא נאסף |
page_url |
מחרוזת או null | כתובת ה-URL של הדף שבו המבקר שוחח |
started_at |
string | חותמת זמן ISO 8601 של מועד תחילת שיחת הצ'אט |
דוגמה (cURL)
curl "https://asyntai.com/api/v1/leads/?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
דוגמה (Python)
import requests
response = requests.get(
"https://asyntai.com/api/v1/leads/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"limit": 20}
)
leads = response.json()["leads"]
for lead in leads:
print(f"{lead['email'] or ''} | {lead['phone'] or ''}")
GET /account/
קבל את פרטי החשבון וסטטיסטיקות השימוש שלך.
תגובה
{
"success": true,
"account": {
"email": "you@example.com",
"plan": "starter",
"messages_used": 150,
"messages_limit": 2500
}
}
דוגמה (cURL)
curl https://asyntai.com/api/v1/account/ \
-H "Authorization: Bearer YOUR_API_KEY"
מספר אתרים? נקודות הקצה של מאגר הידע מוגדרות כברירת מחדל לאתר הראשי שלך. אם יש לך מספר אתרים, העבר website_id כדי לפנות לאתר ספציפי. תוכל למצוא את מזהי האתרים שלך באמצעות GET /websites/.
מגבלות העלאה יומיות: העלאות למאגר הידע (טקסט, URL, גיליון אלקטרוני) כפופות למגבלת תווים יומית על בסיס התוכנית שלך. זה חל על סך התוכן שהועלה בכל נקודות הקצה של מאגר הידע ביום.
| תוכנית | תווים/יום |
|---|---|
| Starter | 100,000 |
| Standard | 500,000 |
| Pro | 2,000,000 |
GET /knowledge/
הצג את רשומות מאגר הידע שלך. אלו מקורות התוכן שצ'אטבוט ה-AI שלך משתמש בהם כדי לענות על שאלות.
פרמטרי שאילתה
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
limit |
integer | לא | מספר רשומות להחזרה (ברירת מחדל: 50, מקסימום: 100) |
website_id |
string | לא | סנן לפי מזהה אתר (ברירת מחדל: האתר הראשי שלך) |
תגובה
{
"success": true,
"entries": [
{
"id": "abc-123-def",
"type": "text",
"title": "Business Hours",
"description": "Manual text content (150 words)",
"created_at": "2024-01-15T10:30:00Z"
},
{
"id": "ghi-456-jkl",
"type": "url",
"title": "About Us - Example",
"description": "Content from https://example.com/about",
"created_at": "2024-01-14T09:00:00Z"
}
]
}
דוגמה (cURL)
curl "https://asyntai.com/api/v1/knowledge/?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /knowledge/text/
הוסף תוכן טקסט מותאם למאגר הידע שלך. ה-AI ישתמש בזה כדי לענות על שאלות מבקרים.
גוף הבקשה
{
"title": "Return Policy",
"content": "We offer a 30-day return policy on all items. Items must be unused and in original packaging. Refunds are processed within 5-7 business days.",
"website_id": "123"
}
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
title |
string | כן | כותרת לרשומת ידע זו |
content |
string | כן | תוכן הטקסט (מינימום 10 תווים) |
website_id |
string | לא | אתר יעד (ברירת מחדל: האתר הראשי שלך) |
תגובה
{
"success": true,
"id": "abc-123-def",
"title": "Return Policy",
"chunks_created": 1
}
דוגמה (cURL)
curl -X POST "https://asyntai.com/api/v1/knowledge/text/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "Return Policy", "content": "We offer a 30-day return policy..."}'
POST /knowledge/url/
הוסף דף אינטרנט למאגר הידע שלך. התוכן ייאסף ויחולץ באופן אוטומטי.
גוף הבקשה
{
"url": "https://example.com/faq",
"website_id": "123"
}
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
url |
string | כן | כתובת ה-URL לאיסוף תוכן ממנה |
website_id |
string | לא | אתר יעד (ברירת מחדל: האתר הראשי שלך) |
תגובה
{
"success": true,
"id": "abc-123-def",
"title": "FAQ - Example",
"url": "https://example.com/faq",
"chunks_created": 5
}
דוגמה (cURL)
curl -X POST "https://asyntai.com/api/v1/knowledge/url/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/faq"}'
POST /knowledge/spreadsheet/
העלה גיליון CSV או Excel (.xlsx) למאגר הידע שלך. כל שורה הופכת לרשומת ידע נפרדת, אידיאלי לקטלוגי מוצרים, רשימות שאלות נפוצות, טבלאות מחירים וספריות.
בקשה
שלח כ-multipart/form-data (העלאת קובץ), לא JSON.
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
file |
file | כן | קובץ .csv או .xlsx. השורה הראשונה חייבת להיות כותרות עמודות. מקסימום שורות להעלאה: Starter 500, Standard 2,000, Pro 10,000. שורות עודפות נחתכות. |
website_id |
string | לא | אתר יעד (ברירת מחדל: האתר הראשי שלך) |
תגובה
{
"success": true,
"id": "abc-123-def",
"title": "products.csv",
"rows_processed": 15,
"chunks_created": 15
}
דוגמה (cURL)
curl -X POST "https://asyntai.com/api/v1/knowledge/spreadsheet/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@products.csv"
DELETE /knowledge/{id}/
מחק רשומת מאגר ידע. ניתן למצוא את ה-id מתגובת GET /knowledge/.
תגובה
{
"success": true,
"message": "Knowledge base entry deleted"
}
דוגמה (cURL)
curl -X DELETE "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
-H "Authorization: Bearer YOUR_API_KEY"
טיפ: תוכל גם לנהל webhooks מתוך הגדרות API דף ללא כתיבת קוד.
GET /webhooks/
הצג את ה-webhooks הרשומים שלך.
תגובה
{
"success": true,
"webhooks": [
{
"id": "abc-123-def",
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"is_active": true,
"created_at": "2024-01-15T10:30:00Z"
}
]
}
דוגמה (cURL)
curl "https://asyntai.com/api/v1/webhooks/" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /webhooks/
רשום webhook חדש לקבלת התראות אירועים בזמן אמת.
אירועים זמינים
| אירוע | תיאור |
|---|---|
message.received |
מבקר שלח הודעה וקיבל תגובה |
conversation.started |
מפגש צ'אט חדש הותחל |
escalation.requested |
ה-AI הפעיל העברה לנציג אנושי |
takeover.started |
נציג אנושי השתלט על מפגש צ'אט |
גוף הבקשה
{
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"website_id": "123"
}
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
url |
string | כן | כתובת HTTPS לקבלת בקשות POST של webhook |
events |
array | כן | רשימת אירועים להרשמה (ראה טבלה למעלה) |
website_id |
string | לא | אתר יעד (ברירת מחדל: האתר הראשי שלך) |
תגובה
{
"success": true,
"webhook": {
"id": "abc-123-def",
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"secret": "whsec_abc123...",
"created_at": "2024-01-15T10:30:00Z"
}
}
אימות webhooks: כל webhook כולל secret (מוצג רק בעת יצירה). כל POST לכתובת שלך כולל X-Webhook-Signature כותרת — HMAC-SHA256 של גוף הבקשה חתום עם הסוד שלך.
דוגמה (cURL)
curl -X POST "https://asyntai.com/api/v1/webhooks/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/webhook", "events": ["message.received"]}'
DELETE /webhooks/{id}/
מחק webhook. ניתן למצוא את ה-id מתגובת GET /webhooks/.
תגובה
{
"success": true,
"message": "Webhook deleted"
}
דוגמה (cURL)
curl -X DELETE "https://asyntai.com/api/v1/webhooks/abc-123-def/" \
-H "Authorization: Bearer YOUR_API_KEY"
תגובות שגיאה
כל תגובות השגיאה עוקבות אחר פורמט זה:
{
"success": false,
"error": "Error message describing what went wrong"
}
| קוד סטטוס | תיאור |
|---|---|
400 |
בקשה שגויה - פרמטרים לא תקינים או שדות חובה חסרים |
401 |
לא מורשה - מפתח API לא תקין או חסר |
429 |
יותר מדי בקשות - הגעת למגבלת ההודעות של התוכנית שלך |
503 |
שירות לא זמין - שירות ה-AI לא זמין באופן זמני |
מגבלות קצב
השימוש ב-API מוגבל לפי תוכנית המנוי שלך:
- Free: 100 הודעות/חודש
- Starter ($39/חודש): 2,500 הודעות/חודש
- Standard ($139/חודש): 15,000 הודעות/חודש
- Pro ($449/חודש): 50,000 הודעות/חודש
צריך עזרה?
אם יש לך שאלות או שנתקלת בבעיות, צור קשר איתנו ב-hello@asyntai.com.