Quickchat AI rejestruje każdą rozmowę we wszystkich kanałach. Te endpointy pozwalają je listować i pobierać.
Quickchat AI automatycznie rejestruje i analizuje każdą rozmowę prowadzoną przez Twojego AI Agenta we wszystkich kanałach — widget, Slack, WhatsApp, Telegram i inne. Conversations API daje Ci programistyczny dostęp do tego bogatego zbioru danych, abyś mógł budować własne dashboardy, zasilać pipeline’y analityczne, wyzwalać workflow w CRM lub integrować się z istniejącymi narzędziami business intelligence.
Każda rozmowa zawiera analizę wspomaganą przez AI: wykrywanie sentymentu, klasyfikację tematu, śledzenie rozwiązania oraz automatyczne flagowanie rozmów, które mogą wymagać uwagi człowieka. W połączeniu z pełną historią wiadomości, śledzonymi kliknięciami w linki i niestandardowymi metadanymi masz wszystko, czego potrzebujesz, aby zrozumieć, jak odwiedzający wchodzą w interakcję z Twoim AI Agentem.
Dane rozmów są rozłożone na kilka endpointów:
- List Conversations — Podstawowe informacje, dane odwiedzającego, status. Używaj do dashboardów, przeglądów i zapytań z filtrami
- Get Conversation Details — Pełne informacje, w tym
unified_analysis(insighty generowane przez AI) iclient_metadata - Get Conversation Events — Pełna historia wiadomości, śledzone kliknięcia w linki i wpisy logów
- Get/Set Metadata — Niestandardowe dane klucz-wartość, które dołączasz do rozmów (zobacz Conversation Metadata)
List Conversations
Dział zatytułowany „List Conversations”GET https://app.quickchat.ai/v1/api_core/conversations
Query Parameters
| Parameter | Description |
|---|---|
limit integer | Elementów na stronę |
offset integer | Elementów do pominięcia |
query string | Wyszukaj według numeru porządkowego, UUID lub treści wiadomości |
assignee_type string | "ai_assistant", "human_operator" lub "unassigned" |
source string | "widget", "slack", "telegram", "whatsapp" itd. |
resolution_status string | "open" lub "resolved" |
created_timestamp_start_date datetime | Filtruj według daty utworzenia (początek) |
created_timestamp_end_date datetime | Filtruj według daty utworzenia (koniec) |
last_message_at_start_date datetime | Filtruj według daty ostatniej wiadomości (początek) |
last_message_at_end_date datetime | Filtruj według daty ostatniej wiadomości (koniec) |
most_frequent_language string | Filtruj według wykrytego języka |
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()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}| Field | Description |
|---|---|
id string | UUID rozmowy |
ord integer | Kolejny numer rozmowy |
created_at string | Znacznik czasu utworzenia rozmowy |
last_message_at string | Znacznik czasu najnowszej wiadomości |
title string | Tytuł rozmowy wygenerowany przez AI |
source string | Kanał, z którego pochodzi rozmowa (np. "widget", "slack", "whatsapp") |
terminated boolean | Czy rozmowa się zakończyła |
resolution_status string | "open" lub "resolved" |
has_unread_messages boolean | Czy są nieprzeczytane wiadomości |
supports_inbox_control boolean | Czy źródło rozmowy obsługuje sterowanie z Inboksa (przypisywanie, handoff) |
last_message_content string | Treść ostatniej wiadomości w rozmowie |
most_frequent_language string | Najczęściej wykrywany język w rozmowie |
assignee object | Aktualnie przypisany (type: "ai_assistant", "human_operator" lub "unassigned") |
visitor_name string or null | Imię odwiedzającego (z formularza pre-chat lub profilu kanału) |
visitor_email string or null | Adres e-mail odwiedzającego |
visitor_phone_number string or null | Numer telefonu odwiedzającego |
visitor_label string or null | Niestandardowa etykieta przypisana do odwiedzającego |
Get Conversation Details
Dział zatytułowany „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()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}Odpowiedź ze szczegółami zawiera wszystkie pola z odpowiedzi listy oraz dodatkowo:
| Field | Description |
|---|---|
url string or null | URL strony, na której rozpoczęła się rozmowa (tylko widget) |
client_metadata object or null | Niestandardowe pary klucz-wartość dołączone do rozmowy |
last_visitor_message_at string | Znacznik czasu ostatniej wiadomości odwiedzającego |
unified_analysis object or null | Analiza rozmowy wygenerowana przez AI (zobacz poniżej) |
Pola unified_analysis:
| Field | Description |
|---|---|
sentiment string | Sentyment rozmowy wykryty przez AI (np. "positive", "neutral", "negative") |
resolution_status string | Status rozwiązania oceniony przez AI (może różnić się od resolution_status najwyższego poziomu) |
topic string | Temat rozmowy wykryty przez AI |
is_flagged boolean | Czy AI oflagowało tę rozmowę do przeglądu przez człowieka |
flag_reason string or null | Powód oflagowania rozmowy |
Get Conversation Events
Dział zatytułowany „Get Conversation Events”Pobierz wszystkie zdarzenia (wiadomości, śledzone linki, logi) dla rozmowy.
Scope: read_allGET https://app.quickchat.ai/v1/api_core/conversations/{conversation_id}/events/
Query Parameters
| Parameter | Description |
|---|---|
limit integer | Elementów na stronę |
offset integer | Elementów do pominięcia |
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()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}Typy zdarzeń: message, tracked_link, log
Typy autorów: ai_assistant, visitor, human_operator
| Field | Description |
|---|---|
type string | Typ zdarzenia: "message", "tracked_link" lub "log" |
data.id string | Unikalny identyfikator wiadomości |
data.ord integer | Kolejny numer wiadomości |
data.created_at string | Znacznik czasu zdarzenia |
data.content string | Treść wiadomości |
data.author string | "ai_assistant", "visitor" lub "human_operator" |
data.handoff_state string or null | Stan handoffu, jeśli dotyczy |
data.message_insights object or null | Insighty wiadomości wygenerowane przez AI |
data.feedback object or null | Opinia użytkownika na temat wiadomości |
data.client_metadata object or null | Niestandardowe metadane dołączone do wiadomości |
data.sources_generated array | Artykuły Bazy Wiedzy, których AI użyło, generując swoją odpowiedź |
data.is_welcome boolean | Czy jest to wiadomość powitalna |
data.attachments array | Załączone pliki |