Αναφορά API
Δημιουργήστε προσαρμοσμένες ενσωματώσεις με το Asyntai REST API
Απαιτείται Επί Πληρωμή Πλάνο: Η πρόσβαση στο API είναι διαθέσιμη στα πλάνα Starter, Standard και Pro. Προβολή τιμών
Επισκόπηση
Το API Asyntai σας επιτρέπει να ενσωματώσετε υποστήριξη πελατών με τεχνητή νοημοσύνη σε οποιαδήποτε εφαρμογή. Στέλνετε μηνύματα και λαμβάνετε έξυπνες απαντήσεις εκπαιδευμένες στο περιεχόμενο της ιστοσελίδας σας και τη βάση γνώσεων.
Ταυτοποίηση
Όλα τα αιτήματα API απαιτούν ταυτοποίηση με το κλειδί API σας. Μπορείτε να λάβετε το κλειδί API σας από τη σελίδα Ρυθμίσεις API.
Συμπεριλάβετε το κλειδί API σας στα αιτήματα χρησιμοποιώντας μία από αυτές τις μεθόδους:
- Κεφαλίδα Authorization (συνιστάται):
Authorization: Bearer YOUR_API_KEY - Κεφαλίδα X-API-Key:
X-API-Key: YOUR_API_KEY
Κρατήστε το κλειδί API σας μυστικό. Όποιος έχει το κλειδί σας μπορεί να αποκτήσει πρόσβαση στον λογαριασμό σας μέσω του API. Μην το εκθέτετε ποτέ σε κώδικα από την πλευρά του πελάτη.
Βασικό URL
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 | Ναι | Το μήνυμα του χρήστη για αποστολή στην τεχνητή νοημοσύνη |
session_id |
string | Όχι | Μοναδικό αναγνωριστικό για τη συνομιλία. Χρησιμοποιήστε το ίδιο session_id για τη διατήρηση του ιστορικού συνομιλίας. |
website_id |
integer | Όχι | Συγκεκριμένο ID ιστότοπου ή αφήστε κενό για χρήση του κύριου ιστότοπου |
Απόκριση
{
"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 | Ναι | Το ID συνεδρίας για ανάκτηση ιστορικού |
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/
Λίστα των πρόσφατων συνεδριών συνομιλίας σας. Χρησιμοποιήστε το για να ανακαλύψετε τα ID συνεδριών, τα οποία μπορείτε στη συνέχεια να περάσετε στο /conversations/ για ανάκτηση του πλήρους ιστορικού μηνυμάτων.
Παράμετροι Ερωτήματος
| Παράμετρος | Τύπος | Απαιτούμενο | Περιγραφή |
|---|---|---|---|
limit |
integer | Όχι | Αριθμός πρόσφατων συνεδριών για επιστροφή (προεπιλογή: 20, μέγιστο: 100) |
website_id |
string | Όχι | Φιλτράρισμα συνεδριών βάσει συγκεκριμένου ID ιστοσελίδας |
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/
Ανάκτηση συλλεγμένων leads — διευθύνσεις email και αριθμοί τηλεφώνου που υποβλήθηκαν από επισκέπτες κατά τη διάρκεια συνομιλιών.
Παράμετροι Ερωτήματος
| Παράμετρος | Τύπος | Απαιτούμενο | Περιγραφή |
|---|---|---|---|
limit |
integer | Όχι | Αριθμός leads προς επιστροφή (προεπιλογή: 50, μέγ: 100) |
website_id |
string | Όχι | Φιλτράρισμα leads ανά συγκεκριμένο αναγνωριστικό ιστοσελίδας |
Απόκριση
{
"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 | Διεύθυνση email που παρέχεται από τον επισκέπτη, ή 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/
Λίστα των καταχωρήσεων βάσης γνώσεων σας. Αυτές είναι οι πηγές περιεχομένου που χρησιμοποιεί το chatbot τεχνητής νοημοσύνης σας για να απαντά σε ερωτήσεις.
Παράμετροι Ερωτήματος
| Παράμετρος | Τύπος | Απαιτούμενο | Περιγραφή |
|---|---|---|---|
limit |
integer | Όχι | Αριθμός καταχωρήσεων για επιστροφή (προεπιλογή: 50, μέγιστο: 100) |
website_id |
string | Όχι | Φιλτράρισμα βάσει ID ιστοσελίδας (προεπιλογή στην κύρια ιστοσελίδα σας) |
Απόκριση
{
"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/
Προσθέστε προσαρμοσμένο περιεχόμενο κειμένου στη βάση γνώσεων σας. Η τεχνητή νοημοσύνη θα το χρησιμοποιήσει για να απαντά στις ερωτήσεις των επισκεπτών.
Σώμα Αιτήματος
{
"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) στη βάση γνώσεων σας. Κάθε γραμμή γίνεται ξεχωριστή καταχώρηση γνώσης, ιδανικό για καταλόγους προϊόντων, λίστες FAQ, πίνακες τιμολόγησης και καταλόγους.
Αίτημα
Αποστολή ως multipart/form-data (μεταφόρτωση αρχείου), όχι JSON.
| Παράμετρος | Τύπος | Απαιτούμενο | Περιγραφή |
|---|---|---|---|
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 |
Η τεχνητή νοημοσύνη εκκίνησε κλιμάκωση σε ανθρώπινο εκπρόσωπο |
takeover.started |
Ένας ανθρώπινος εκπρόσωπος ανέλαβε μια συνεδρία συνομιλίας |
Σώμα Αιτήματος
{
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"website_id": "123"
}
| Παράμετρος | Τύπος | Απαιτούμενο | Περιγραφή |
|---|---|---|---|
url |
string | Ναι | Το HTTPS URL για λήψη αιτημάτων 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 στο URL σας περιλαμβάνει ένα X-Webhook-Signature header — ένα 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 περιορίζεται από το πλάνο συνδρομής σας:
- Δωρεάν: 100 μηνύματα/μήνα
- Starter ($39/μήνα): 2.500 μηνύματα/μήνα
- Standard ($139/μήνα): 15.000 μηνύματα/μήνα
- Pro ($449/μήνα): 50.000 μηνύματα/μήνα
Χρειάζεστε Βοήθεια;
Αν έχετε οποιεσδήποτε ερωτήσεις ή αντιμετωπίσετε προβλήματα, επικοινωνήστε μαζί μας στο hello@asyntai.com.