Quickchat AI は、AI Agent がすべてのチャネル(widget、Slack、WhatsApp、Telegram など)で行うすべての会話を自動的に記録・分析します。Conversations API は、このリッチなデータセットへのプログラムからのアクセスを提供し、カスタムダッシュボードの構築、下流の分析パイプラインへの供給、CRM ワークフローのトリガー、既存の BI ツールとの連携などに活用できます。
すべての会話には AI による分析が含まれます:感情検出、トピック分類、解決状況のトラッキング、人間の対応が必要かもしれない会話の 自動フラグ付け です。完全なメッセージ履歴、追跡されたリンククリック、カスタムメタデータと組み合わせることで、訪問者が AI Agent とどのようにやり取りしているかを理解するために必要なすべてが揃います。
会話データは複数のエンドポイントにまたがっています:
- List Conversations — 基本情報、訪問者の詳細、ステータス。ダッシュボード、概要、フィルタリングされたクエリに使用します
- Get Conversation Details —
unified_analysis(AI が生成したインサイト)やclient_metadataを含む完全な情報 - Get Conversation Events — 完全なメッセージ履歴、追跡されたリンククリック、ログエントリ
- Get/Set Metadata — 会話に付与するカスタムキーバリューデータ(Conversation Metadata を参照)
List Conversations
Section titled “List Conversations”GET https://app.quickchat.ai/v1/api_core/conversations
Query Parameters
| Parameter | Description |
|---|---|
limit integer | 1 ページあたりのアイテム数 |
offset integer | スキップするアイテム数 |
query string | 注文番号、UUID、またはメッセージテキストで検索 |
assignee_type string | "ai_assistant"、"human_operator"、または "unassigned" |
source string | "widget"、"slack"、"telegram"、"whatsapp" など |
resolution_status string | "open" または "resolved" |
created_timestamp_start_date datetime | 作成日でフィルタ(開始) |
created_timestamp_end_date datetime | 作成日でフィルタ(終了) |
last_message_at_start_date datetime | 最終メッセージ日でフィルタ(開始) |
last_message_at_end_date datetime | 最終メッセージ日でフィルタ(終了) |
most_frequent_language string | 検出された言語でフィルタ |
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 |
ord integer | 連番の会話番号 |
created_at string | 会話の作成タイムスタンプ |
last_message_at string | 最新メッセージのタイムスタンプ |
title string | AI が生成した会話タイトル |
source string | 会話の発生元チャネル(例:"widget"、"slack"、"whatsapp") |
terminated boolean | 会話が終了したかどうか |
resolution_status string | "open" または "resolved" |
has_unread_messages boolean | 未読メッセージがあるかどうか |
supports_inbox_control boolean | 会話のソースが inbox 制御(割当、handoff)をサポートするかどうか |
last_message_content string | 会話内の最後のメッセージの内容 |
most_frequent_language string | 会話内で最も頻繁に検出された言語 |
assignee object | 現在の担当者(type:"ai_assistant"、"human_operator"、または "unassigned") |
visitor_name string or null | 訪問者の名前(プリチャットフォームまたはチャネルプロフィールから) |
visitor_email string or null | 訪問者のメールアドレス |
visitor_phone_number string or null | 訪問者の電話番号 |
visitor_label string or null | 訪問者に割り当てられたカスタムラベル |
Get Conversation Details
Section titled “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}詳細レスポンスには、list レスポンスのすべてのフィールドに加えて、次が含まれます:
| Field | Description |
|---|---|
url string or null | 会話が開始されたページの URL(widget のみ) |
client_metadata object or null | 会話に付与されたカスタムキーバリューペア |
last_visitor_message_at string | 最後の訪問者メッセージのタイムスタンプ |
unified_analysis object or null | AI が生成した会話の分析(下記を参照) |
unified_analysis のフィールド:
| Field | Description |
|---|---|
sentiment string | AI が検出した会話の感情(例:"positive"、"neutral"、"negative") |
resolution_status string | AI が評価した解決状況(トップレベルの resolution_status と異なる場合があります) |
topic string | AI が検出した会話のトピック |
is_flagged boolean | AI がこの会話を人間のレビュー用にフラグ付けしたかどうか |
flag_reason string or null | 会話がフラグ付けされた理由 |
Get Conversation Events
Section titled “Get Conversation Events”会話のすべてのイベント(メッセージ、追跡されたリンク、ログ)を取得します。
Scope: read_allGET https://app.quickchat.ai/v1/api_core/conversations/{conversation_id}/events/
Query Parameters
| Parameter | Description |
|---|---|
limit integer | 1 ページあたりのアイテム数 |
offset integer | スキップするアイテム数 |
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}Event types: message、tracked_link、log
Author types: ai_assistant、visitor、human_operator
| Field | Description |
|---|---|
type string | イベントタイプ:"message"、"tracked_link"、または "log" |
data.id string | メッセージの一意の識別子 |
data.ord integer | 連番のメッセージ番号 |
data.created_at string | イベントのタイムスタンプ |
data.content string | メッセージの内容 |
data.author string | "ai_assistant"、"visitor"、または "human_operator" |
data.handoff_state string or null | 該当する場合の handoff の状態 |
data.message_insights object or null | AI が生成したメッセージのインサイト |
data.feedback object or null | メッセージに対するユーザーのフィードバック |
data.client_metadata object or null | メッセージに付与されたカスタムメタデータ |
data.sources_generated array | AI が応答を生成する際に使用した Knowledge Base の記事 |
data.is_welcome boolean | これがウェルカムメッセージかどうか |
data.attachments array | ファイル添付 |