Quickchat AI mencatat setiap percakapan di seluruh kanal. Endpoint ini memungkinkan Anda menampilkan daftar dan mengambil percakapan.
Quickchat AI otomatis mencatat dan menganalisis setiap percakapan Agen AI di seluruh kanal: widget, Slack, WhatsApp, Telegram, dan lainnya. API Percakapan menyediakan akses terprogram ke kumpulan data ini untuk membuat dasbor kustom, memasok alur analitik lanjutan, memicu alur kerja CRM, atau mengintegrasikannya dengan alat intelijen bisnis Anda.
Setiap percakapan menyertakan analisis berbasis AI: deteksi sentimen, klasifikasi topik, pelacakan penyelesaian, serta penandaan otomatis percakapan yang mungkin memerlukan perhatian manusia. Bersama riwayat pesan lengkap, pelacakan klik tautan, dan metadata kustom, data ini membantu Anda memahami interaksi pengunjung dengan Agen AI.
Data percakapan tersedia melalui beberapa endpoint:
- Menampilkan Percakapan: informasi dasar, detail pengunjung, dan status. Gunakan untuk dasbor, ringkasan, dan kueri dengan filter
- Mengambil Detail Percakapan: informasi lengkap termasuk
unified_analysis(wawasan yang dihasilkan AI) danclient_metadata - Mengambil Peristiwa Percakapan: riwayat pesan lengkap, klik tautan yang dilacak, dan entri log
- Mengambil/Menetapkan Metadata: data kunci-nilai kustom yang Anda lampirkan ke percakapan (lihat Metadata Percakapan)
Menampilkan Percakapan
Section titled “Menampilkan Percakapan”GET https://app.quickchat.ai/v1/api_core/conversations
Parameter Kueri
| Parameter | Deskripsi |
|---|---|
limit integer | Item per halaman |
offset integer | Item yang dilewati |
query string | Cari berdasarkan nomor urut, UUID, atau teks pesan |
assignee_type string | "ai_assistant", "human_operator", atau "unassigned" |
source string | "widget", "slack", "telegram", "whatsapp", dan sebagainya |
resolution_status string | "open" atau "resolved" |
created_timestamp_start_date datetime | Filter berdasarkan tanggal pembuatan (awal) |
created_timestamp_end_date datetime | Filter berdasarkan tanggal pembuatan (akhir) |
last_message_at_start_date datetime | Filter berdasarkan tanggal pesan terakhir (awal) |
last_message_at_end_date datetime | Filter berdasarkan tanggal pesan terakhir (akhir) |
most_frequent_language string | Filter berdasarkan bahasa yang terdeteksi |
order string | "desc" (default, terbaru dahulu) atau "asc" (terlama dahulu). Urutan naik ditujukan untuk penelusuran maju dari percakapan yang diketahui, jadi gunakan bersama last_message_at_start_date |
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()Respons 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}| Kolom | Deskripsi |
|---|---|
id string | UUID percakapan |
ord integer | Nomor urut percakapan |
created_at string | Waktu pembuatan percakapan |
last_message_at string | Waktu pesan terbaru |
title string | Judul percakapan yang dihasilkan AI |
source string | Kanal asal percakapan (misalnya "widget", "slack", "whatsapp") |
terminated boolean | Apakah percakapan telah berakhir |
resolution_status string | "open" atau "resolved" |
has_unread_messages boolean | Apakah ada pesan yang belum dibaca |
supports_inbox_control boolean | Apakah sumber percakapan mendukung kontrol Kotak Masuk (penugasan, pengalihan) |
last_message_content string | Isi pesan terakhir dalam percakapan |
most_frequent_language string | Bahasa yang paling sering terdeteksi dalam percakapan |
assignee object | Penerima tugas saat ini (type: "ai_assistant", "human_operator", atau "unassigned") |
visitor_name string or null | Nama pengunjung (dari formulir pra-chat atau profil kanal) |
visitor_email string or null | Alamat email pengunjung |
visitor_phone_number string or null | Nomor telepon pengunjung |
visitor_label string or null | Label kustom yang diberikan kepada pengunjung |
Mengambil Detail Percakapan
Section titled “Mengambil Detail Percakapan”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()Respons 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}Respons detail menyertakan seluruh kolom respons daftar, ditambah:
| Kolom | Deskripsi |
|---|---|
url string or null | URL halaman tempat percakapan dimulai (hanya widget) |
client_metadata object or null | Pasangan kunci-nilai kustom yang dilampirkan ke percakapan |
last_visitor_message_at string | Waktu pesan pengunjung terakhir |
unified_analysis object or null | Analisis percakapan yang dihasilkan AI (lihat di bawah) |
Kolom unified_analysis:
| Kolom | Deskripsi |
|---|---|
sentiment string | Sentimen percakapan yang terdeteksi AI (misalnya "positive", "neutral", "negative") |
resolution_status string | Status penyelesaian menurut AI (dapat berbeda dari resolution_status tingkat atas) |
topic string | Topik percakapan yang terdeteksi AI |
is_flagged boolean | Apakah AI menandai percakapan ini untuk ditinjau manusia |
flag_reason string or null | Alasan percakapan ditandai |
Kolom resolution_status tingkat atas ("open" atau "resolved") adalah status utama yang ditetapkan secara manual atau melalui aturan otomatisasi.
unified_analysis.resolution_status dihitung melalui analisis AI dan dapat berbeda. Misalnya, AI mungkin mengklasifikasikan percakapan sebagai terselesaikan berdasarkan isi meskipun status tingkat atas masih "open". Gunakan kolom tingkat atas untuk pemfilteran dan alur kerja; gunakan unified_analysis untuk analitik dan wawasan.
Mengambil Peristiwa Percakapan
Section titled “Mengambil Peristiwa Percakapan”Ambil seluruh peristiwa (pesan, tautan yang dilacak, log) dalam percakapan.
Cakupan: read_allGET https://app.quickchat.ai/v1/api_core/conversations/{conversation_id}/events/
Parameter Kueri
| Parameter | Deskripsi |
|---|---|
limit integer | Item per halaman |
offset integer | Item yang dilewati |
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()Respons 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}Jenis peristiwa: message, tracked_link, log
Jenis pengirim: ai_assistant, visitor, human_operator
| Kolom | Deskripsi |
|---|---|
type string | Jenis peristiwa: "message", "tracked_link", atau "log" |
data.id string | Pengenal unik pesan |
data.ord integer | Nomor urut pesan |
data.created_at string | Waktu peristiwa |
data.content string | Isi pesan |
data.author string | "ai_assistant", "visitor", atau "human_operator" |
data.handoff_state string or null | Status pengalihan jika berlaku |
data.message_insights object or null | Wawasan pesan yang dihasilkan AI |
data.feedback object or null | Umpan balik pengguna mengenai pesan |
data.client_metadata object or null | Metadata kustom yang dilampirkan ke pesan |
data.sources_generated array | Artikel Basis Pengetahuan yang digunakan AI saat menghasilkan jawaban |
data.is_welcome boolean | Apakah ini pesan sambutan |
data.attachments array | Lampiran file |