Documentation Trustdio

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)
  • statusopen · closed · all (défaut open)
  • since — ISO 8601, filtre par date
  • contact_id — filtrer par contact
  • has_tag — filtrer par tag
bash
curl "https://api.trustdio.fr/v1/conversations?limit=10&status=open" \
  -H "Authorization: Bearer tk_live_..."
jsonresponse.json
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": true
21}

Récupérer une conversation

GET /conversations/:id

Retourne la conversation complète avec tous les messages.

bash
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.

bash
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.

bash
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

bash
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

javascriptexample.js
1import { Trustdio } from "@trustdio/sdk";
2
3const client = new Trustdio({ apiKey: process.env.TRUSTDIO_API_KEY });
4
5// 1. Lister les conversations chaudes
6const { 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 min
13for (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