Επιστροφή στον Πίνακα Ελέγχου

Τεκμηρίωση

Μάθετε πώς να χρησιμοποιείτε το Asyntai

Αναφορά API

Δημιουργήστε προσαρμοσμένες ενσωματώσεις με το Asyntai REST API

Λήψη Κλειδιού 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, υπολογιστικό φύλλο) υπόκεινται σε ημερήσιο όριο χαρακτήρων βάσει του πλάνου σας. Αυτό ισχύει για το συνολικό περιεχόμενο που μεταφορτώνεται σε όλα τα τελικά σημεία βάσης γνώσεων ανά ημέρα.

Πλάνο Χαρακτήρες/ημέρα
Starter100.000
Standard500.000
Pro2.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.