#
Analytics
Über die Analytics-Endpunkte fragen Sie die Konversationsdaten Ihres Chatbots ab: Sie suchen Konversationen nach Zeitraum und weiteren Kriterien und rufen alle Events einer einzelnen Konversation ab. Damit können Sie z. B. Konversationen in eigene Auswertungs- oder BI-Systeme übernehmen oder gezielt Konversationen mit negativem Feedback oder Weiß-nicht-Antworten weiterverarbeiten.
Voraussetzungen für alle Anfragen (Basis-URL, Authorization- und kauz-chatbot-Header) finden Sie im
Überblick
.
#
POST /partner/v1/conversations/search
Sucht die Konversationen des Chatbots, die im angegebenen Zeitraum begonnen haben. Alle weiteren Filter sind optional und werden miteinander kombiniert (UND-Verknüpfung). Lassen Sie einen Filter weg, wird nicht danach gefiltert.
#
Anfrage
#
Leere Konversationen
Beim Öffnen des Kauz-Chatfensters entsteht eine Konversation mit zwei Events: dem Trigger für die Begrüßung
(CR:firstGreeting) und der Begrüßung selbst. Findet danach keine Interaktion statt, bleibt eine solche quasi leere
Konversation in den Daten bestehen. Mit includeEmptyConversations: false schließen Sie Konversationen mit weniger
als drei Events aus. Zusätzlich wird CR:firstGreeting dann nicht in eventCount und userInputCount mitgezählt.
Maßgeblich ist allein die Zahl der Events. Sendet Ihr eigenes Frontend keine Begrüßung, wird auch eine Konversation aus genau einer Frage und einer Antwort ausgeschlossen.
#
Nach Labels filtern
Labels vergeben Sie im aiStudio über den Conversation-Labeler . Jedes innere Array steht für eine Label-Kategorie: Innerhalb eines Arrays werden die Label-IDs mit ODER verknüpft, zwischen den Arrays mit UND.
{
"semanticLabelIdsPerCategory": [
["label-id-a", "label-id-b"],
["label-id-c"]
]
}
Dieses Beispiel liefert Konversationen, die mit label-id-a oder label-id-b und mit label-id-c gelabelt sind.
Ein leeres äußeres Array ([]) filtert nicht, ein leeres inneres Array ([[]]) trifft auf keine Konversation zu.
Die Partner-API arbeitet ausschließlich mit Label-IDs. Welche IDs einer Konversation zugeordnet sind, sehen Sie in
semanticLabelIds der Antwort.
#
Antwort
Felder je Konversation:
#
Blättern
Die Suche liefert höchstens 50 Konversationen pro Seite, die neuesten zuerst. Geblättert wird über einen Cursor statt
über limit und offset:
- Senden Sie die erste Anfrage ohne
cursorunddirection. - Für die nächste, ältere Seite senden Sie dieselben Filter erneut, zusammen mit
cursor=nextCursorder letzten Antwort unddirection: "next". - Für die vorherige, neuere Seite senden Sie
cursor=previousCursorunddirection: "previous".
Übernehmen Sie den Cursor unverändert und lassen Sie die Filter zwischen den Seiten gleich. Fehlt nextCursor in der
Antwort, ist die letzte Seite erreicht. Senden Sie direction ohne cursor, erhalten Sie den Fehler 400.
curl --location --request POST "https://example.kauz.ai/partner/v1/conversations/search" \
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." \
--header "kauz-chatbot: helpdesk" \
--header "Content-Type: application/json" \
--data-raw "{
\"fromDate\":\"2026-10-01T00:00:00.000Z\",
\"toDate\":\"2026-10-31T23:59:59.999Z\",
\"referrers\":[\"https://example.com/hilfe\"],
\"includeEmptyConversations\":false
}"
{
"conversations": [
{
"id": "a311a62f-8e01-445a-89e2-186ebf016d55",
"createdAt": "2026-10-09T14:30:09.938Z",
"referrers": ["https://example.com/hilfe"],
"deviceTypes": ["desktop"],
"eventCount": 6,
"userInputCount": 2,
"semanticLabelIds": ["0b6c1f2e-7d4a-4f0e-9c1a-3e5d7f9b2a11"],
"userRating": "negative",
"userComment": "Meine Frage wurde nicht beantwortet."
}
],
"totalFoundConversations": 154,
"nextCursor": [1774882326648, "028d64dd-e5e4-4d17-8b6d-58f5c0a80e1e"]
}
curl --location --request POST "https://example.kauz.ai/partner/v1/conversations/search" \
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." \
--header "kauz-chatbot: helpdesk" \
--header "Content-Type: application/json" \
--data-raw "{
\"fromDate\":\"2026-10-01T00:00:00.000Z\",
\"toDate\":\"2026-10-31T23:59:59.999Z\",
\"referrers\":[\"https://example.com/hilfe\"],
\"includeEmptyConversations\":false,
\"cursor\":[1774882326648,\"028d64dd-e5e4-4d17-8b6d-58f5c0a80e1e\"],
\"direction\":\"next\"
}"
#
GET `/partner/v1/events/by-conversation/
Liefert die Events einer Konversation in zeitlicher Reihenfolge, die ältesten zuerst. Die conversationId erhalten Sie
aus der Konversationssuche oder aus der
Antwortgenerierung
. Die eventId
einer Bot-Nachricht entspricht der id der Antwort aus der Antwortgenerierung.
Für eine unbekannte conversationId antwortet der Endpunkt mit 200 und einer leeren Liste ({"events": []}), nicht
mit 404.
#
Antwort
Felder, die jedes Event enthält:
Je nach Event zusätzlich, sofern vorhanden:
Zusätzliche Felder bei Bot-Nachrichten:
Zusätzliche Felder bei Analytics-Events:
Als eigene Analytics-Events erscheinen nur Link-Klicks und Sprachwechsel. Die Bewertung einer Antwort steht als
userRating an der bewerteten Bot-Nachricht. Andere
Analytics-Events
, z. B.
kauz_livechat_offer, sind in der Liste nicht enthalten, werden in der Konversationssuche aber in eventCount
mitgezählt.
curl --location "https://example.kauz.ai/partner/v1/events/by-conversation/a311a62f-8e01-445a-89e2-186ebf016d55" \
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." \
--header "kauz-chatbot: helpdesk"
{
"events": [
{
"conversationId": "a311a62f-8e01-445a-89e2-186ebf016d55",
"eventId": "27bd97d3-6f96-47d2-a371-e9382c28c29c",
"type": "Message",
"senderType": "USER",
"date": "2026-10-09T14:30:09.938Z",
"referrer": "https://example.com/hilfe",
"deviceType": "desktop",
"content": "Wie lange dauert der Versand?"
},
{
"conversationId": "a311a62f-8e01-445a-89e2-186ebf016d55",
"eventId": "51a156da-9393-4a0a-af1e-e76d4d5dbfc7",
"type": "Message",
"senderType": "BOT",
"date": "2026-10-09T14:30:12.534Z",
"referrer": "https://example.com/hilfe",
"deviceType": "desktop",
"content": "Der Versand dauert 2–3 Werktage. <hyperlink destination=\"https://example.com/versand\">Mehr zum Versand</hyperlink>",
"answerType": "GENERATED",
"language": "DE",
"userRating": "positive",
"agent": "Standardagent",
"agentType": "rag",
"searchMethod": "hybridSearch",
"alphaValue": 0.5,
"model": "GPT-4.1 mini",
"modelSelection": "automatic",
"promptLength": 5168
},
{
"conversationId": "a311a62f-8e01-445a-89e2-186ebf016d55",
"eventId": "4098db68-17d9-4216-bf41-4a3e751637f4",
"type": "Analytics",
"senderType": "USER",
"date": "2026-10-09T14:30:20.101Z",
"referrer": "https://example.com/hilfe",
"action": "openLink",
"clickedLinks": ["https://example.com/versand"]
}
]
}