Νήματα
Τα νήματα ομαδοποιούν σχετικά μηνύματα σε συνομιλίες. Το AgentSend ομαδοποιεί αυτόματα μηνύματα με βάση τις τυπικές κεφαλίδες email ώστε οι πράκτορές σας να έχουν πάντα το πλήρες πλαίσιο μιας συνομιλίας.
Επισκόπηση
Κάθε συνομιλία email στο AgentSend οργανώνεται σε ένα νήμα. Ένα νήμα συλλέγει όλα τα σχετικά μηνύματα — το αρχικό email, κάθε απάντηση και κάθε απάντηση σε απάντηση — σε ένα ενιαίο, διατεταγμένο αντικείμενο συνομιλίας. Αυτό διευκολύνει τους πράκτορες να διαβάσουν το πλήρες ιστορικό πριν συντάξουν μια απάντηση.
Τα νήματα δημιουργούνται αυτόματα. Όταν το AgentSend λαμβάνει ή στέλνει ένα μήνυμα που ξεκινά νέα συνομιλία, δημιουργείται ένα νήμα. Όταν φτάνει μια απάντηση, το AgentSend την αντιστοιχίζει στο υπάρχον νήμα και προσαρτά το νέο μήνυμα.
Τα νήματα περιορίζονται σε ένα εισερχόμενο. Η ίδια αλυσίδα email που λαμβάνεται από δύο διαφορετικά εισερχόμενα θα παράγει δύο ξεχωριστά αντικείμενα νήματος.
Πώς Λειτουργεί το Threading
Το AgentSend ακολουθεί το τυπικό μοντέλο email threading που χρησιμοποιείται από κάθε σημαντικό email client. Όταν φτάνει μια απάντηση, το AgentSend ελέγχει τις κεφαλίδες In-Reply-To και References για να προσδιορίσει σε ποιο υπάρχον νήμα ανήκει το μήνυμα. Αν βρεθεί αντιστοιχία, το μήνυμα προσαρτάται σε αυτό το νήμα. Αν δεν βρεθεί αντιστοιχία, δημιουργείται νέο νήμα.
Μπορείτε επίσης να συσχετίσετε ρητά ένα μήνυμα με ένα νήμα συμπεριλαμβάνοντας το πεδίο threadId κατά την αποστολή. Αυτό είναι χρήσιμο όταν ξεκινάτε ένα follow-up από την πλευρά του πράκτορά σας και θέλετε να το κρατήσετε ομαδοποιημένο με προηγούμενη συνομιλία, ακόμη και αν ο παραλήπτης ξεκινήσει νέα αλυσίδα απάντησης.
Πάντα διαβάστε το threadId από εισερχόμενα payloads webhook και περάστε το πίσω κατά την απάντηση. Αυτό εγγυάται σωστή ομαδοποίηση ακόμη και όταν οι παραλήπτες αλλάζουν τη γραμμή θέματός τους.
Αλγόριθμος αντιστοίχισης
- Ελέγξτε την κεφαλίδα
In-Reply-Toέναντι όλων των γνωστών message ID στα εισερχόμενα. - Αν δεν υπάρχει αντιστοιχία, σαρώστε τη λίστα κεφαλίδων
Referencesαπό δεξιά (πιο πρόσφατο) προς αριστερά. - Αν εξακολουθεί να μην υπάρχει αντιστοιχία, δημιουργήστε νέο νήμα για αυτό το μήνυμα.
Ιδιότητες Νήματος
Κάθε αντικείμενο νήματος έχει τα εξής πεδία:
| Ιδιότητα | Τύπος | Περιγραφή |
|---|---|---|
id |
string | Μοναδικό αναγνωριστικό για το νήμα. |
inboxId |
string | Τα εισερχόμενα στα οποία ανήκει αυτό το νήμα. |
subject |
string | Γραμμή θέματος του πρώτου μηνύματος στο νήμα. |
messageCount |
integer | Συνολικός αριθμός μηνυμάτων σε αυτό το νήμα. |
lastMessageAt |
string (ISO 8601) | Χρονοσήμανση του πιο πρόσφατου μηνύματος. |
createdAt |
string (ISO 8601) | Χρονοσήμανση της πρώτης δημιουργίας του νήματος. |
Λίστα Νημάτων
Ανακτήστε όλα τα νήματα για ένα εισερχόμενο με ένα request GET. Τα αποτελέσματα διατάσσονται κατά lastMessageAt φθίνουσα, ώστε οι πιο ενεργές συνομιλίες να εμφανίζονται πρώτες.
// GET /inboxes/{id}/threads?limit=20&offset=0 const res = await fetch( `https://api.agentsend.io/inboxes/${inboxId}/threads?limit=20&offset=0`, { headers: { "x-api-key": process.env.AGENTSEND_API_KEY } } ); const { data, total } = await res.json(); for (const thread of data) { console.log(thread.id, thread.subject, thread.messageCount); }
Παράμετροι query
| Παράμετρος | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|
limit |
integer | 20 | Μέγιστος αριθμός νημάτων προς επιστροφή. Μέγιστο 100. |
offset |
integer | 0 | Αριθμός νημάτων προς παράλειψη για σελιδοποίηση. |
Λήψη Μηνυμάτων Νήματος
Ανακτήστε κάθε μήνυμα σε ένα νήμα με χρονολογική σειρά. Αυτό δίνει στον πράκτορά σας το πλήρες ιστορικό συνομιλίας που χρειάζεται για να συντάξει μια απάντηση με επίγνωση του πλαισίου.
// GET /threads/{id}/messages const res = await fetch( `https://api.agentsend.io/threads/${threadId}/messages`, { headers: { "x-api-key": process.env.AGENTSEND_API_KEY } } ); const { data } = await res.json(); // Build a conversation history for your LLM const history = data.map(msg => ({ role: msg.direction === "outbound" ? "assistant" : "user", content: msg.bodyText, })); console.log(`Loaded ${history.length} messages from thread`);
Τα μηνύματα εντός ενός νήματος επιστρέφονται σε αύξουσα χρονολογική σειρά (sentAt παλαιότερα πρώτα). Αυτό ταιριάζει με τη φυσική σειρά που αναμένεται από τα περισσότερα API συνομιλίας LLM.
Απάντηση σε Νήμα
Για να συνεχίσετε μια υπάρχουσα συνομιλία, συμπεριλάβετε το threadId κατά την αποστολή μηνύματος. Το AgentSend θα ορίσει αυτόματα τις σωστές κεφαλίδες In-Reply-To και References ώστε η απάντηση να εμφανίζεται στον email client του παραλήπτη ως μέρος της ίδιας συνομιλίας.
// POST /inboxes/{id}/messages — reply within an existing thread await fetch(`https://api.agentsend.io/inboxes/${inboxId}/messages`, { method: "POST", headers: { "x-api-key": process.env.AGENTSEND_API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ to: ["customer@example.com"], subject: "Re: Your support request", bodyText: "Thanks for reaching out! Here is the information you requested...", threadId: "thrd_abc123", // ties this message to the existing conversation }), });
Αν παραλείψετε το threadId, το εξερχόμενο μήνυμα θα ξεκινήσει νέο νήμα ακόμη και αν χρησιμοποιήσετε την ίδια γραμμή θέματος. Πάντα να περνάτε το threadId όταν συνεχίζετε μια συνομιλία.
Περιπτώσεις Χρήσης
Τα νήματα ξεκλειδώνουν ένα σύνολο ροών εργασίας που απαιτούν μνήμη σε πολλαπλές ανταλλαγές email.
- Υποστήριξη πελατών — Φορτώστε το πλήρες νήμα πριν δημιουργήσετε απάντηση ώστε ο πράκτορας υποστήριξής σας να έχει όλο το προηγούμενο πλαίσιο. Αναθέστε νήματα σε ανθρώπινους πράκτορες μόνο όταν χρειάζεται.
- Follow-ups πωλήσεων — Παρακολουθήστε ακολουθίες προσέγγισης πολλαπλών επαφών. Μάθετε πότε απάντησε τελευταία ένας υποψήφιος πελάτης και πόσα μηνύματα υπάρχουν σε μια αλυσίδα πριν κλιμακώσετε.
- Προγραμματισμός & συντονισμός — Εκτελέστε διαπραγματεύσεις πέρα-δώθε (ώρες συναντήσεων, όροι συμβολαίου) μέσα σε ένα ενιαίο νήμα ώστε το ιστορικό συνομιλίας να είναι πάντα προσβάσιμο.
- Συλλογή έρευνας — Στείλτε ένα αρχικό ερώτημα, συλλέξτε απαντήσεις και κάντε follow-up με διευκρινιστικές ερωτήσεις — όλα εντός ενός οργανωμένου νήματος ανά επαφή.