Endpoints conversations
List, get, create, send message, takeover.
Les endpoints /conversations permettent de lire, créer et interagir avec les conversations Trustdio depuis votre stack. Tous protégés par Bearer token.
Lister les conversations
GET /conversations
Récupère une page de conversations, triées par date de dernier message décroissante.
Paramètres de requête
limit— nombre par page (1-100, défaut 20)cursor— pagination (renvoyé par l'appel précédent)status—open·closed·all(défaut open)since— ISO 8601, filtre par datecontact_id— filtrer par contacthas_tag— filtrer par tag
curl "https://api.trustdio.fr/v1/conversations?limit=10&status=open" \
-H "Authorization: Bearer tk_live_..."1{2 "data": [3 {4 "id": "conv_2k4d8x",5 "status": "open",6 "channel": "widget",7 "contact": {8 "id": "cnt_8b3...",9 "email": "client@exemple.fr",10 "name": "Sophie Dupont"11 },12 "lastMessageAt": "2026-05-20T14:32:11Z",13 "createdAt": "2026-05-20T14:15:00Z",14 "messageCount": 7,15 "leadScore": 78,16 "tags": ["hot-lead", "fr"]17 }18 ],19 "nextCursor": "cursor_eyJpZCI6...",20 "hasMore": true21}Récupérer une conversation
GET /conversations/:id
Retourne la conversation complète avec tous les messages.
curl "https://api.trustdio.fr/v1/conversations/conv_2k4d8x" \
-H "Authorization: Bearer tk_live_..."Envoyer un message
POST /conversations/:id/messages
Envoie un message dans la conversation, depuis l'opérateur.
1curl -X POST "https://api.trustdio.fr/v1/conversations/conv_2k4d8x/messages" \2 -H "Authorization: Bearer tk_live_..." \3 -H "Content-Type: application/json" \4 -d '{5 "text": "Bonjour Sophie, je prends le relais sur votre demande.",6 "operator": {7 "id": "op_marc",8 "name": "Marc, Customer Success"9 },10 "type": "operator"11 }'Reprendre la main (takeover)
POST /conversations/:id/takeover
Bascule la conversation en mode humain — l'IA stoppe d'envoyer des messages automatiques.
curl -X POST "https://api.trustdio.fr/v1/conversations/conv_2k4d8x/takeover" \
-H "Authorization: Bearer tk_live_..." \
-d '{ "operator_id": "op_marc" }'Fermer une conversation
POST /conversations/:id/close
curl -X POST "https://api.trustdio.fr/v1/conversations/conv_2k4d8x/close" \
-H "Authorization: Bearer tk_live_..." \
-d '{ "resolution": "resolved", "internal_note": "RDV pris pour mardi" }'Exemple complet — Node.js
1import { Trustdio } from "@trustdio/sdk";2 3const client = new Trustdio({ apiKey: process.env.TRUSTDIO_API_KEY });4 5// 1. Lister les conversations chaudes6const { data: hotLeads } = await client.conversations.list({7 status: "open",8 has_tag: "hot-lead",9 limit: 20,10});11 12// 2. Pour chacune, envoyer un message si silence > 30 min13for (const conv of hotLeads) {14 const lastMessage = new Date(conv.lastMessageAt);15 const minutesSince = (Date.now() - lastMessage.getTime()) / 60_000;16 17 if (minutesSince > 30) {18 await client.conversations.sendMessage(conv.id, {19 text: "Toujours dispo pour qualifier votre projet ? 👋",20 type: "ai",21 });22 }23}Pagination
Toutes les listes utilisent une pagination cursor-based (plus stable que offset/limit). Passez le nextCursor de la réponse précédente au paramètre cursor de la suivante.
Fin de pagination : hasMore: false et nextCursor: null.
Et après ?
Cette page vous a été utile ?
Modifié le · Suggérer une amélioration