Συνδέσεις API
Συνδέστε τα εξωτερικά API σας στο enuchat ώστε το AI και οι κανόνες να μπορούν να ανακτούν δεδομένα σε πραγματικό χρόνο από τα συστήματά σας.
Πώς λειτουργεί
Οι συνδέσεις API σάς επιτρέπουν να ενσωματώνετε το enuchat με τα δικά σας backend συστήματα — μηχανές κρατήσεων, CRMs, διαχείριση παραγγελιών, απόθεμα και άλλα. Όταν ένας επισκέπτης κάνει μια ερώτηση, το enuchat μπορεί να καλέσει το API σας για να λάβει πραγματικά δεδομένα και να τα συμπεριλάβει στην απάντηση.
Η ροή
- Ρυθμίστε μια σύνδεση — το base URL του API σας και η πιστοποίηση
- Προσθέστε endpoints — συγκεκριμένες κλήσεις API με πρότυπα διαδρομής και χαρτογράφηση απάντησης
- Δημιουργήστε έναν κανόνα — έναν κανόνα AI ή στατικό με ενέργεια CALL_API
- Ο επισκέπτης κάνει μια ερώτηση — ο κανόνας ενεργοποιείται, καλεί το API σας, χαρτογραφεί την απάντηση σε μεταβλητές συνεδρίας
- Το AI απαντά με πραγματικά δεδομένα — οι μεταβλητές συνεδρίας είναι διαθέσιμες στο AI για τη δημιουργία ακριβούς απάντησης
Παράδειγμα: Διαθεσιμότητα δωματίου ξενοδοχείου
Επισκέπτης: «Είναι διαθέσιμο το δωμάτιο 205 την επόμενη εβδομάδα;»
Ο κανόνας AI ταιριάζει: «Όταν ο επισκέπτης ρωτά για διαθεσιμότητα δωματίου»
Ενέργεια CALL_API: GET https://api.hotel.com/rooms/205/availability
Απάντηση χαρτογραφημένη: room_available = true, price = «120€/νύχτα»
Το AI απαντά: «Το δωμάτιο 205 είναι διαθέσιμο την επόμενη εβδομάδα στα 120€/νύχτα. Θα θέλατε να το κλείσετε;»
Ρύθμιση μιας σύνδεσης
Μεταβείτε στις Ρυθμίσεις → Συνδέσεις API στον πίνακά σας.
1. Δημιουργία σύνδεσης
Μια σύνδεση αντιπροσωπεύει ένα εξωτερικό API. Χρειάζεστε:
| Πεδίο | Περιγραφή | Παράδειγμα |
|---|---|---|
| Όνομα | Μια ετικέτα για αυτή τη σύνδεση | Hotel Booking API |
| Base URL | Το root URL του API | https://api.hotel.com/v1 |
| Τύπος Auth | Πώς να πιστοποιηθεί | Bearer Token, OAuth2, κ.λπ. |
2. Τύποι πιστοποίησης
Κανένα
Για δημόσια API που δεν απαιτούν πιστοποίηση.
Κλειδί API
Στέλνει ένα στατικό κλειδί ως κεφαλίδα ή παράμετρο ερωτήματος.
| Πεδίο | Περιγραφή |
|---|---|
| Κλειδί | Η τιμή του κλειδιού API σας |
| Όνομα κεφαλίδας | Κεφαλίδα προς χρήση (προεπιλογή: X-Api-Key) |
Το κλειδί αποστέλλεται ως: X-Api-Key: your_key_here
Bearer Token
Στέλνει ένα στατικό token στην κεφαλίδα Authorization.
Αποστέλλεται ως: Authorization: Bearer your_token_here
Basic Auth
Στέλνει username και password, κωδικοποιημένα σε base64.
Αποστέλλεται ως: Authorization: Basic dXNlcjpwYXNz
OAuth 2.0 (Client Credentials)
Λαμβάνει αυτόματα ένα access token και το αποθηκεύει σε cache μέχρι τη λήξη. Καλύτερο για σύγχρονα API όπως Salesforce, Google ή προσαρμοσμένους OAuth servers.
| Πεδίο | Περιγραφή |
|---|---|
| Token URL | OAuth token endpoint (π.χ. https://auth.example.com/oauth/token) |
| Client ID | Το OAuth client ID σας |
| Client Secret | Το OAuth client secret σας |
| Scope | Scopes χωρισμένα με κενά (π.χ. read write) |
Το enuchat χειρίζεται τον κύκλο ζωής token αυτόματα — ανάκτηση στην πρώτη κλήση, cache μέχρι λήξη, ανανέωση όταν χρειάζεται.
Ασφάλεια: Όλα τα credentials είναι κρυπτογραφημένα σε rest χρησιμοποιώντας libsodium. Δεν εκτίθενται ποτέ σε απαντήσεις API — μόνο masked τιμές εμφανίζονται στον πίνακα.
Διαμόρφωση endpoints
Κάθε σύνδεση μπορεί να έχει πολλαπλά endpoints — συγκεκριμένες κλήσεις API που θέλετε να κάνετε.
| Πεδίο | Περιγραφή | Παράδειγμα |
|---|---|---|
| Όνομα | Ετικέτα για αυτό το endpoint | Έλεγχος διαθεσιμότητας |
| Μέθοδος | Μέθοδος HTTP | GET, POST, PUT, DELETE |
| Διαδρομή | Διαδρομή URL (προστίθεται στο base URL). Χρησιμοποιήστε {'{'}variable} για δυναμικές τιμές | /rooms/{'{'}roomId}/availability |
| Query Params | Παράμετροι URL ως ζευγάρια κλειδιού-τιμής. Οι τιμές υποστηρίζουν {'{'}variable} | date={'{'}checkIn} |
| Πρότυπο σώματος | JSON σώμα για POST/PUT. Υποστηρίζει interpolation {'{'}variable} | {'{'}"guest": "{'{'}name}"} |
| Χαρτογράφηση απάντησης | Χαρτογραφήστε πεδία JSON απάντησης σε μεταβλητές συνεδρίας χρησιμοποιώντας dot notation | data.available → room_available |
| Περιγραφή | Πλαίσιο για το AI (ποια δεδομένα επιστρέφει αυτό το endpoint) | Επιστρέφει διαθεσιμότητα και τιμολόγηση δωματίου |
Interpolation μεταβλητών
Χρησιμοποιήστε {'{'}variableName} σε διαδρομές, query params και πρότυπα σωμάτων. Οι μεταβλητές προέρχονται από:
- Μεταβλητές συνεδρίας — ορισμένες από προηγούμενους κανόνες (ενέργεια SET_VARIABLE)
- Παράμετροι ενέργειας — hardcoded στην ενέργεια κανόνα CALL_API
Χαρτογράφηση απάντησης
Χαρτογραφήστε πεδία JSON απάντησης σε μεταβλητές συνεδρίας χρησιμοποιώντας dot notation:
// API returns:
{'{'}
"data": {'{'}
"available": true,
"price": {'{'} "amount": 120, "currency": "EUR" }
}
}
// Mapping:
data.available → room_available // "true"
data.price.amount → room_price // "120"
data.price.currency → room_currency // "EUR"Οι χαρτογραφημένες μεταβλητές αποθηκεύονται ως μεταβλητές συνεδρίας στη συνομιλία και είναι διαθέσιμες στο AI για τη δημιουργία απαντήσεων.
Χρήση με κανόνες
Οι κλήσεις API ενεργοποιούνται από την ενέργεια CALL_API στους κανόνες. Μπορείτε να τις συνδυάσετε με άλλες ενέργειες.
Συνταγή: Αναζήτηση κατάστασης παραγγελίας
Σύνδεση: Order Management API — https://api.shop.com/v2 — Bearer Token
Endpoint: GET /orders/{'{'}orderId} → χαρτογραφεί data.status → order_status, data.eta → delivery_eta
Κανόνας (τύπος AI): «Όταν ο επισκέπτης ρωτά για την κατάσταση παραγγελίας του ή την παράδοση»
Ενέργειες:
- CALL_API → Endpoint κατάστασης παραγγελίας
- REPLY_AI → Το AI χρησιμοποιεί
order_statusκαιdelivery_etaγια να απαντήσει
Αποτέλεσμα: Επισκέπτης: «Πού είναι η παραγγελία μου #4521;» — AI: «Η παραγγελία σας #4521 αποστέλλεται αυτή τη στιγμή και πρέπει να φτάσει μέχρι την Πέμπτη.»
Συνταγή: Τιμολόγηση σε πραγματικό χρόνο
Σύνδεση: Pricing API — https://pricing.example.com — Κλειδί API
Endpoint: GET /products/{'{'}productId}/price → χαρτογραφεί price → current_price, currency → price_currency
Κανόνας (στατικός): MESSAGE_MATCHES_REGEX: /\b(price|cost|how much)\b/i
Ενέργειες:
- CALL_API → Endpoint τιμολόγησης
- REPLY_TEXT → «Η τρέχουσα τιμή είναι {'{'}current_price} {'{'}price_currency}.»
Δοκιμή
Δοκιμάζετε πάντα τις συνδέσεις και τα endpoints σας πριν τα χρησιμοποιήσετε σε κανόνες:
- Δοκιμή σύνδεσης — επαληθεύει ότι η πιστοποίηση λειτουργεί (για OAuth2: ανακτά ένα token)
- Δοκιμή endpoint — κάνει μια πραγματική κλήση API με δείγμα μεταβλητών και εμφανίζει την απάντηση
- Δοκιμή κανόνα (dry-run) — στη σελίδα Κανόνες, δοκιμάστε αν ένας κανόνας θα ταίριαζε και ποιες ενέργειες θα εκτελούνταν
Συμβουλή: Ξεκινήστε δοκιμάζοντας τη σύνδεση, μετά κάθε endpoint, μετά τον πλήρη κανόνα. Έτσι μπορείτε να απομονώσετε προβλήματα σε κάθε επίπεδο.
Ασφάλεια
- Κρυπτογράφηση σε rest — όλα τα credentials κρυπτογραφούνται χρησιμοποιώντας libsodium πριν την αποθήκευση
- Ποτέ εκτεθειμένα — οι απαντήσεις API δεν περιλαμβάνουν ποτέ αποκρυπτογραφημένα credentials, μόνο masked τιμές
- Προστασία SSRF — το enuchat μπλοκάρει κλήσεις σε localhost, ιδιωτικές IPs και εσωτερικά hostnames
- Timeout — οι εξωτερικές κλήσεις API έχουν timeout 5 δευτερολέπτων για να αποτραπεί το hanging
- Caching OAuth2 token — τα access tokens αποθηκεύονται με ασφάλεια και ανανεώνονται αυτόματα
- Απομόνωση tenant — οι συνδέσεις είναι scoped στο tenant σας, μη προσβάσιμες σε άλλους
Έτοιμοι να συνδέσετε τα API σας;
Αρχίστε να ενσωματώνετε τα συστήματά σας με το enuchat σήμερα.
Ξεκινήστε δωρεάν