Νήματα
Δείτε λίστα νημάτων σε ένα inbox, ανακτήστε μεμονωμένο νήμα και ανακτήστε όλα τα μηνύματα που ανήκουν σε ένα νήμα.
Επισκόπηση
Τα νήματα ομαδοποιούν σχετικά μηνύματα σε μια συνομιλία. Το AgentSend αναθέτει αυτόματα εισερχόμενα και εξερχόμενα μηνύματα σε νήματα με βάση τις κεφαλίδες email (In-Reply-To, References). Κάθε νήμα ανήκει σε ακριβώς ένα inbox.
Χρησιμοποιήστε τα endpoints Thread για να διαβάσετε ιστορικό συνομιλίας, να εμφανίσετε προβολή νήματος στο UI του πράκτορά σας ή να καθορίσετε σε ποιο νήμα πρέπει να δρομολογηθεί ένα νέο εισερχόμενο μήνυμα.
Όλα τα requests API απαιτούν κεφαλίδα x-api-key. Λάβετε το κλειδί σας από τον πίνακα ελέγχου AgentSend.
Το Αντικείμενο Νήματος
Τα endpoints που επιστρέφουν νήμα περιλαμβάνουν τα εξής πεδία.
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
id |
string (uuid) | Μοναδικό αναγνωριστικό για το νήμα. |
inboxId |
string (uuid) | ID του inbox στο οποίο ανήκει αυτό το νήμα. |
subject |
string | Γραμμή θέματος του νήματος, από το πρώτο μήνυμα. |
messageCount |
integer | Συνολικός αριθμός μηνυμάτων στο νήμα. |
lastMessageAt |
string (ISO 8601) | Χρονοσήμανση του πιο πρόσφατου μηνύματος στο νήμα. |
createdAt |
string (ISO 8601) | Χρονοσήμανση δημιουργίας του νήματος. |
Λίστα Νημάτων
Επιστρέφει λίστα με σελιδοποίηση νημάτων για το καθορισμένο inbox, ταξινομημένα κατά lastMessageAt φθίνουσα.
Παράμετροι Διαδρομής
| Παράμετρος | Τύπος | Περιγραφή |
|---|---|---|
id απαιτείται |
string (uuid) | Το ID του inbox του οποίου τα νήματα θέλετε να δείτε. |
Παράμετροι Query
| Παράμετρος | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|
limit |
integer | 20 |
Μέγιστος αριθμός νημάτων προς επιστροφή. Μέγιστη τιμή 100. |
offset |
integer | 0 |
Αριθμός νημάτων προς παράλειψη πριν την επιστροφή αποτελεσμάτων. |
Request
const inboxId = "inbox_01hx4z2k9m3p7qr8st5uvwxy"; 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 = await res.json(); console.log(data.data); // array of Thread objects
Response 200
{
"data": [
{
"id": "thr_01hx4z2k9m3p7qr8st5uvwxy",
"inboxId": "inbox_01hx4z2k9m3p7qr8st5uvwxy",
"subject": "Re: Your order has shipped",
"messageCount": 4,
"lastMessageAt": "2024-06-12T14:22:07Z",
"createdAt": "2024-06-10T09:01:33Z"
},
{
"id": "thr_02hy5a3l0n4q8rs9tu6vwxyz",
"inboxId": "inbox_01hx4z2k9m3p7qr8st5uvwxy",
"subject": "Hello from AgentSend",
"messageCount": 1,
"lastMessageAt": "2024-06-11T08:44:55Z",
"createdAt": "2024-06-11T08:44:55Z"
}
],
"total": 2,
"limit": 20,
"offset": 0
}Λήψη Νήματος
Ανακτά μεμονωμένο νήμα με το ID του. Επιστρέφει το πλήρες αντικείμενο Thread.
Παράμετροι Διαδρομής
| Παράμετρος | Τύπος | Περιγραφή |
|---|---|---|
id απαιτείται |
string (uuid) | Το ID του νήματος προς ανάκτηση. |
Request
const threadId = "thr_01hx4z2k9m3p7qr8st5uvwxy"; const res = await fetch( `https://api.agentsend.io/threads/${threadId}`, { headers: { "x-api-key": process.env.AGENTSEND_API_KEY }, } ); const thread = await res.json(); console.log(thread.subject, thread.messageCount);
Response 200
{
"id": "thr_01hx4z2k9m3p7qr8st5uvwxy",
"inboxId": "inbox_01hx4z2k9m3p7qr8st5uvwxy",
"subject": "Re: Your order has shipped",
"messageCount": 4,
"lastMessageAt": "2024-06-12T14:22:07Z",
"createdAt": "2024-06-10T09:01:33Z"
}Λήψη Μηνυμάτων Νήματος
Επιστρέφει λίστα με σελιδοποίηση μηνυμάτων που ανήκουν στο καθορισμένο νήμα, ταξινομημένα κατά createdAt αύξουσα (παλαιότερα πρώτα).
Παράμετροι Διαδρομής
| Παράμετρος | Τύπος | Περιγραφή |
|---|---|---|
id απαιτείται |
string (uuid) | Το ID του νήματος του οποίου τα μηνύματα θέλετε να ανακτήσετε. |
Παράμετροι Query
| Παράμετρος | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|
limit |
integer | 20 |
Μέγιστος αριθμός μηνυμάτων προς επιστροφή. Μέγιστη τιμή 100. |
offset |
integer | 0 |
Αριθμός μηνυμάτων προς παράλειψη πριν την επιστροφή αποτελεσμάτων. |
Request
const threadId = "thr_01hx4z2k9m3p7qr8st5uvwxy"; const res = await fetch( `https://api.agentsend.io/threads/${threadId}/messages?limit=20&offset=0`, { headers: { "x-api-key": process.env.AGENTSEND_API_KEY }, } ); const data = await res.json(); for (const msg of data.data) { console.log(msg.fromAddress, msg.subject, msg.createdAt); }
Response 200
{
"data": [
{
"id": "msg_01hx4z2k9m3p7qr8st5uvwxy",
"threadId": "thr_01hx4z2k9m3p7qr8st5uvwxy",
"inboxId": "inbox_01hx4z2k9m3p7qr8st5uvwxy",
"direction": "outbound",
"fromAddress": "agent@agentsend.io",
"toAddresses": ["customer@example.com"],
"subject": "Your order has shipped",
"bodyText": "Hi! Your order #1234 has shipped and will arrive by Friday.",
"status": "delivered",
"createdAt": "2024-06-10T09:01:33Z"
},
{
"id": "msg_02hy5a3l0n4q8rs9tu6vwxyz",
"threadId": "thr_01hx4z2k9m3p7qr8st5uvwxy",
"inboxId": "inbox_01hx4z2k9m3p7qr8st5uvwxy",
"direction": "inbound",
"fromAddress": "customer@example.com",
"toAddresses": ["agent@agentsend.io"],
"subject": "Re: Your order has shipped",
"bodyText": "Thanks! Can you share the tracking number?",
"status": "received",
"createdAt": "2024-06-10T11:17:45Z"
}
],
"total": 4,
"limit": 20,
"offset": 0
}Ο πίνακας μηνυμάτων περιέχει πλήρη αντικείμενα Message. Δείτε την αναφορά API Μηνυμάτων για την πλήρη λίστα πεδίων.