Quickchat AI erfasst jede Konversation über alle Kanäle hinweg. Mit diesen Endpunkten können Sie sie auflisten und abrufen.
Quickchat AI erfasst und analysiert automatisch jede Konversation, die Ihr KI-Agent über alle Kanäle hinweg führt — Widget, Slack, WhatsApp, Telegram und mehr. Die Conversations API bietet Ihnen programmatischen Zugriff auf diesen umfangreichen Datensatz, um eigene Dashboards zu bauen, nachgelagerte Analytics-Pipelines zu speisen, CRM-Workflows auszulösen oder mit Ihren bestehenden Business-Intelligence-Tools zu integrieren.
Jede Konversation enthält KI-gestützte Analyse: Stimmungserkennung, Themenklassifizierung, Auflösungs-Tracking und automatisches Markieren von Konversationen, die möglicherweise menschliche Aufmerksamkeit benötigen. In Kombination mit dem vollständigen Nachrichtenverlauf, erfassten Link-Klicks und benutzerdefinierten Metadaten haben Sie alles, was Sie brauchen, um zu verstehen, wie Besucher mit Ihrem KI-Agenten interagieren.
Konversationsdaten sind auf mehrere Endpunkte verteilt:
- List Conversations — Grundlegende Informationen, Besucherdetails, Status. Für Dashboards, Übersichten und gefilterte Abfragen
- Get Conversation Details — Vollständige Informationen einschließlich
unified_analysis(KI-generierte Insights) undclient_metadata - Get Conversation Events — Vollständiger Nachrichtenverlauf, erfasste Link-Klicks und Log-Einträge
- Get/Set Metadata — Benutzerdefinierte Schlüssel-Wert-Daten, die Sie Konversationen anhängen (siehe Conversation Metadata)
List Conversations
Abschnitt betitelt „List Conversations“GET https://app.quickchat.ai/v1/api_core/conversations
Query-Parameter
| Parameter | Description |
|---|---|
limit integer | Elemente pro Seite |
offset integer | Zu überspringende Elemente |
query string | Suche nach Bestellnummer, UUID oder Nachrichtentext |
assignee_type string | "ai_assistant", "human_operator" oder "unassigned" |
source string | "widget", "slack", "telegram", "whatsapp" usw. |
resolution_status string | "open" oder "resolved" |
created_timestamp_start_date datetime | Nach Erstellungsdatum filtern (Start) |
created_timestamp_end_date datetime | Nach Erstellungsdatum filtern (Ende) |
last_message_at_start_date datetime | Nach Datum der letzten Nachricht filtern (Start) |
last_message_at_end_date datetime | Nach Datum der letzten Nachricht filtern (Ende) |
most_frequent_language string | Nach erkannter Sprache filtern |
curl 'https://app.quickchat.ai/v1/api_core/conversations?limit=10&resolution_status=open' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api_core/conversations", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"limit": 10, "resolution_status": "open"},)data = response.json()Antwort 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}| Field | Description |
|---|---|
id string | Konversations-UUID |
ord integer | Fortlaufende Konversationsnummer |
created_at string | Zeitstempel der Konversationserstellung |
last_message_at string | Zeitstempel der neuesten Nachricht |
title string | KI-generierter Konversationstitel |
source string | Kanal, aus dem die Konversation stammt (z. B. "widget", "slack", "whatsapp") |
terminated boolean | Ob die Konversation beendet wurde |
resolution_status string | "open" oder "resolved" |
has_unread_messages boolean | Ob ungelesene Nachrichten vorhanden sind |
supports_inbox_control boolean | Ob die Konversationsquelle Inbox-Steuerung unterstützt (Zuweisen, Handoff) |
last_message_content string | Inhalt der letzten Nachricht in der Konversation |
most_frequent_language string | Am häufigsten erkannte Sprache in der Konversation |
assignee object | Aktuell zuständige Person (type: "ai_assistant", "human_operator" oder "unassigned") |
visitor_name string or null | Name des Besuchers (aus dem Pre-Chat-Formular oder dem Kanalprofil) |
visitor_email string or null | E-Mail-Adresse des Besuchers |
visitor_phone_number string or null | Telefonnummer des Besuchers |
visitor_label string or null | Dem Besucher zugewiesenes benutzerdefiniertes Label |
Get Conversation Details
Abschnitt betitelt „Get Conversation Details“GET https://app.quickchat.ai/v1/api_core/conversations/{conversation_id}/
curl https://app.quickchat.ai/v1/api_core/conversations/conv-uuid-1234/ \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api_core/conversations/conv-uuid-1234/", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Antwort 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}Die Detailantwort enthält alle Felder der Listenantwort, plus:
| Field | Description |
|---|---|
url string or null | URL der Seite, auf der die Konversation gestartet wurde (nur Widget) |
client_metadata object or null | Benutzerdefinierte Schlüssel-Wert-Paare, die der Konversation angehängt sind |
last_visitor_message_at string | Zeitstempel der letzten Besuchernachricht |
unified_analysis object or null | KI-generierte Analyse der Konversation (siehe unten) |
unified_analysis-Felder:
| Field | Description |
|---|---|
sentiment string | KI-erkannte Stimmung der Konversation (z. B. "positive", "neutral", "negative") |
resolution_status string | KI-bewerteter Auflösungsstatus (kann vom übergeordneten resolution_status abweichen) |
topic string | KI-erkanntes Konversationsthema |
is_flagged boolean | Ob die KI diese Konversation zur menschlichen Überprüfung markiert hat |
flag_reason string or null | Grund, warum die Konversation markiert wurde |
Get Conversation Events
Abschnitt betitelt „Get Conversation Events“Alle Events (Nachrichten, erfasste Links, Logs) für eine Konversation abrufen.
Scope: read_allGET https://app.quickchat.ai/v1/api_core/conversations/{conversation_id}/events/
Query-Parameter
| Parameter | Description |
|---|---|
limit integer | Elemente pro Seite |
offset integer | Zu überspringende Elemente |
curl 'https://app.quickchat.ai/v1/api_core/conversations/conv-uuid-1234/events/?limit=20' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api_core/conversations/conv-uuid-1234/events/", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"limit": 20},)data = response.json()Antwort 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}Event-Typen: message, tracked_link, log
Autor-Typen: ai_assistant, visitor, human_operator
| Field | Description |
|---|---|
type string | Event-Typ: "message", "tracked_link" oder "log" |
data.id string | Eindeutiger Identifier der Nachricht |
data.ord integer | Fortlaufende Nachrichtennummer |
data.created_at string | Zeitstempel des Events |
data.content string | Nachrichteninhalt |
data.author string | "ai_assistant", "visitor" oder "human_operator" |
data.handoff_state string or null | Handoff-Status, falls zutreffend |
data.message_insights object or null | KI-generierte Nachrichten-Insights |
data.feedback object or null | Nutzer-Feedback zur Nachricht |
data.client_metadata object or null | Benutzerdefinierte Metadaten, die der Nachricht angehängt sind |
data.sources_generated array | Artikel der Wissensdatenbank, die die KI beim Generieren ihrer Antwort verwendet hat |
data.is_welcome boolean | Ob es sich um eine Willkommensnachricht handelt |
data.attachments array | Dateianhänge |