Aller au contenu

Quickchat AI capture chaque conversation sur tous les canaux. Ces endpoints vous permettent de les lister et de les récupérer.

Quickchat AI capture et analyse automatiquement chaque conversation que votre AI Agent mène sur tous les canaux — widget, Slack, WhatsApp, Telegram, et plus. L’API Conversations vous donne un accès programmatique à ce riche jeu de données pour construire des dashboards personnalisés, alimenter des pipelines d’analyse en aval, déclencher des workflows CRM ou vous intégrer à vos outils de business intelligence existants.

Chaque conversation comprend une analyse propulsée par l’IA : détection du sentiment, classification des sujets, suivi de la résolution et signalement automatique des conversations qui pourraient nécessiter une attention humaine. Combinées à l’historique complet des messages, aux clics sur les liens suivis et aux métadonnées personnalisées, vous disposez de tout ce qu’il faut pour comprendre comment les visiteurs interagissent avec votre AI Agent.

Les données de conversation sont réparties sur plusieurs endpoints :

  • List Conversations — Informations de base, détails du visiteur, statut. À utiliser pour les dashboards, les vues d’ensemble et les requêtes filtrées
  • Get Conversation Details — Informations complètes, y compris unified_analysis (insights générés par l’IA) et client_metadata
  • Get Conversation Events — Historique complet des messages, clics sur les liens suivis et entrées de journal
  • Get/Set Metadata — Données clé-valeur personnalisées que vous attachez aux conversations (voir Conversation Metadata)
Scope: read_all

GET https://app.quickchat.ai/v1/api_core/conversations

Query Parameters

ParameterDescription
limit
integer
Éléments par page
offset
integer
Éléments à ignorer
query
string
Recherche par numéro de commande, UUID ou texte de message
assignee_type
string
"ai_assistant", "human_operator", ou "unassigned"
source
string
"widget", "slack", "telegram", "whatsapp", etc.
resolution_status
string
"open" ou "resolved"
created_timestamp_start_date datetimeFiltre par date de création (début)
created_timestamp_end_date datetimeFiltre par date de création (fin)
last_message_at_start_date datetimeFiltre par date du dernier message (début)
last_message_at_end_date datetimeFiltre par date du dernier message (fin)
most_frequent_language
string
Filtre par langue détectée
Fenêtre de terminal
curl 'https://app.quickchat.ai/v1/api_core/conversations?limit=10&resolution_status=open' \
-H 'Authorization: Bearer <API_TOKEN>'

Response 200 OK

{
"items": [
{
"id": "conv-uuid-1234",
"ord": 42,
"created_at": "2026-01-15T10:30:00Z",
"last_message_at": "2026-01-15T10:35:00Z",
"title": "Return policy question",
"source": "widget",
"terminated": false,
"resolution_status": "open",
"has_unread_messages": true,
"supports_inbox_control": true,
"last_message_content": "What is your return policy?",
"most_frequent_language": "en",
"assignee": {
"type": "ai_assistant"
},
"visitor_name": "John",
"visitor_email": "john@example.com",
"visitor_phone_number": null,
"visitor_label": null
}
],
"offset": 0,
"limit": 10,
"count": 42
}
FieldDescription
id
string
UUID de la conversation
ord
integer
Numéro séquentiel de la conversation
created_at
string
Horodatage de création de la conversation
last_message_at
string
Horodatage du message le plus récent
title
string
Titre de la conversation généré par l’IA
source
string
Canal d’où provient la conversation (p. ex. "widget", "slack", "whatsapp")
terminated
boolean
Si la conversation est terminée
resolution_status
string
"open" ou "resolved"
has_unread_messages
boolean
S’il y a des messages non lus
supports_inbox_control
boolean
Si la source de la conversation prend en charge le contrôle depuis l’inbox (assignation, handoff)
last_message_content
string
Contenu du dernier message de la conversation
most_frequent_language
string
Langue la plus fréquemment détectée dans la conversation
assignee
object
Assigné actuel (type : "ai_assistant", "human_operator", ou "unassigned")
visitor_name
string or null
Nom du visiteur (depuis le formulaire de pré-chat ou le profil du canal)
visitor_email
string or null
Adresse e-mail du visiteur
visitor_phone_number
string or null
Numéro de téléphone du visiteur
visitor_label
string or null
Libellé personnalisé assigné au visiteur
Scope: read_all

GET https://app.quickchat.ai/v1/api_core/conversations/{conversation_id}/

Fenêtre de terminal
curl https://app.quickchat.ai/v1/api_core/conversations/conv-uuid-1234/ \
-H 'Authorization: Bearer <API_TOKEN>'

Response 200 OK

{
"id": "conv-uuid-1234",
"ord": 42,
"created_at": "2026-01-15T10:30:00Z",
"last_message_at": "2026-01-15T10:35:00Z",
"title": "Return policy question",
"source": "widget",
"terminated": false,
"resolution_status": "open",
"has_unread_messages": true,
"supports_inbox_control": true,
"last_message_content": "What is your return policy?",
"most_frequent_language": "en",
"assignee": {
"type": "ai_assistant"
},
"url": null,
"client_metadata": {"userId": 12},
"last_visitor_message_at": "2026-01-15T10:34:00Z",
"unified_analysis": {
"sentiment": "neutral",
"resolution_status": "open",
"topic": "Return policy",
"is_flagged": false,
"flag_reason": null
},
"visitor_name": "John",
"visitor_email": "john@example.com",
"visitor_phone_number": null,
"visitor_label": null
}

La réponse détaillée inclut tous les champs de la réponse de liste, plus :

FieldDescription
url
string or null
URL de la page où la conversation a démarré (widget uniquement)
client_metadata
object or null
Paires clé-valeur personnalisées attachées à la conversation
last_visitor_message_at
string
Horodatage du dernier message du visiteur
unified_analysis
object or null
Analyse de la conversation générée par l’IA (voir ci-dessous)

Champs de unified_analysis :

FieldDescription
sentiment
string
Sentiment de la conversation détecté par l’IA (p. ex. "positive", "neutral", "negative")
resolution_status
string
Statut de résolution évalué par l’IA (peut différer du resolution_status de premier niveau)
topic
string
Sujet de la conversation détecté par l’IA
is_flagged
boolean
Si l’IA a signalé cette conversation pour révision humaine
flag_reason
string or null
Raison du signalement de la conversation

Récupérez tous les événements (messages, liens suivis, journaux) d’une conversation.

Scope: read_all

GET https://app.quickchat.ai/v1/api_core/conversations/{conversation_id}/events/

Query Parameters

ParameterDescription
limit
integer
Éléments par page
offset
integer
Éléments à ignorer
Fenêtre de terminal
curl 'https://app.quickchat.ai/v1/api_core/conversations/conv-uuid-1234/events/?limit=20' \
-H 'Authorization: Bearer <API_TOKEN>'

Response 200 OK

{
"items": [
{
"type": "message",
"data": {
"id": "msg-uuid-001",
"ord": 1,
"created_at": "2026-01-15T10:30:00Z",
"content": "Hello! How can I help you today?",
"author": "ai_assistant",
"handoff_state": null,
"message_insights": null,
"feedback": null,
"client_metadata": null,
"sources_generated": [],
"is_welcome": true,
"attachments": []
}
},
{
"type": "message",
"data": {
"id": "msg-uuid-002",
"ord": 2,
"created_at": "2026-01-15T10:31:00Z",
"content": "What is your return policy?",
"author": "visitor",
"handoff_state": null,
"message_insights": null,
"feedback": null,
"client_metadata": null,
"sources_generated": [],
"is_welcome": false,
"attachments": []
}
}
],
"offset": 0,
"limit": 20,
"count": 2
}

Types d’événements : message, tracked_link, log

Types d’auteur : ai_assistant, visitor, human_operator

FieldDescription
type
string
Type d’événement : "message", "tracked_link", ou "log"
data.id
string
Identifiant unique du message
data.ord
integer
Numéro séquentiel du message
data.created_at
string
Horodatage de l’événement
data.content
string
Contenu du message
data.author
string
"ai_assistant", "visitor", ou "human_operator"
data.handoff_state
string or null
État du handoff le cas échéant
data.message_insights
object or null
Insights du message générés par l’IA
data.feedback
object or null
Retour de l’utilisateur sur le message
data.client_metadata
object or null
Métadonnées personnalisées attachées au message
data.sources_generated
array
Articles de la Knowledge Base utilisés par l’IA pour générer sa réponse
data.is_welcome
boolean
S’il s’agit d’un message de bienvenue
data.attachments
array
Fichiers joints