تسجل Quickchat AI تلقائيًا كل محادثة يجريها وكيل AI وتحللها عبر جميع القنوات، مثل Widget وSlack وWhatsApp وTelegram وغيرها. تمنحك API المحادثات وصولًا برمجيًا إلى هذه البيانات الغنية لبناء لوحات مخصصة أو تغذية مسارات تحليل لاحقة أو تشغيل سير عمل CRM أو التكامل مع أدوات ذكاء الأعمال الحالية.
تتضمن كل محادثة تحليلًا مدعومًا بـ AI: اكتشاف المشاعر وتصنيف الموضوع وتتبع الحل ووضع علامات تلقائيًا على المحادثات التي قد تحتاج إلى اهتمام بشري. مع سجل الرسائل الكامل ونقرات الروابط المتتبعة والبيانات الوصفية المخصصة، يتوفر كل ما تحتاجه لفهم تفاعل الزوار مع وكيل AI.
تتوزع بيانات المحادثة على عدة نقاط:
- سرد المحادثات: المعلومات الأساسية وبيانات الزائر والحالة. للوحات التحكم والنظرات العامة والاستعلامات المصفاة
- جلب تفاصيل المحادثة: المعلومات الكاملة بما فيها
unified_analysis(تحليلات يولدها AI) وclient_metadata - جلب أحداث المحادثة: سجل الرسائل الكامل ونقرات الروابط المتتبعة وإدخالات السجل
- جلب البيانات الوصفية وتعيينها: بيانات مفتاح وقيمة مخصصة ترفقها بالمحادثات (راجع البيانات الوصفية للمحادثة)
سرد المحادثات
Section titled “سرد المحادثات”GET https://app.quickchat.ai/v1/api_core/conversations
معلمات الاستعلام
| المعلمة | الوصف |
|---|---|
limit عدد صحيح | العناصر في الصفحة |
offset عدد صحيح | العناصر المتجاوزة |
query سلسلة نصية | البحث برقم الطلب أو UUID أو نص الرسالة |
assignee_type سلسلة نصية | "ai_assistant" أو "human_operator" أو "unassigned" |
source سلسلة نصية | "widget" أو "slack" أو "telegram" أو "whatsapp" وغيرها |
resolution_status سلسلة نصية | "open" أو "resolved" |
created_timestamp_start_date تاريخ ووقت | التصفية بتاريخ الإنشاء (البداية) |
created_timestamp_end_date تاريخ ووقت | التصفية بتاريخ الإنشاء (النهاية) |
last_message_at_start_date تاريخ ووقت | التصفية بتاريخ آخر رسالة (البداية) |
last_message_at_end_date تاريخ ووقت | التصفية بتاريخ آخر رسالة (النهاية) |
most_frequent_language سلسلة نصية | التصفية باللغة المكتشفة |
order سلسلة نصية | "desc" (الافتراضي، الأحدث أولًا) أو "asc" (الأقدم أولًا). يُقصد بالتصاعدي التقدم من محادثة معروفة، لذا استخدمه مع 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()الاستجابة 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}| الحقل | الوصف |
|---|---|
id سلسلة نصية | UUID المحادثة |
ord عدد صحيح | رقم المحادثة التسلسلي |
created_at سلسلة نصية | الطابع الزمني لإنشاء المحادثة |
last_message_at سلسلة نصية | الطابع الزمني لأحدث رسالة |
title سلسلة نصية | عنوان المحادثة الذي يولده AI |
source سلسلة نصية | القناة التي بدأت منها المحادثة (مثل "widget" أو "slack" أو "whatsapp") |
terminated قيمة منطقية | هل انتهت المحادثة |
resolution_status سلسلة نصية | "open" أو "resolved" |
has_unread_messages قيمة منطقية | هل توجد رسائل غير مقروءة |
supports_inbox_control قيمة منطقية | هل يدعم مصدر المحادثة التحكم من صندوق الوارد (الإسناد والتحويل) |
last_message_content سلسلة نصية | محتوى آخر رسالة في المحادثة |
most_frequent_language سلسلة نصية | اللغة الأكثر اكتشافًا في المحادثة |
assignee كائن | المسند إليه الحالي (type: "ai_assistant" أو "human_operator" أو "unassigned") |
visitor_name سلسلة نصية أو null | اسم الزائر (من نموذج ما قبل الدردشة أو ملف القناة) |
visitor_email سلسلة نصية أو null | عنوان بريد الزائر |
visitor_phone_number سلسلة نصية أو null | رقم هاتف الزائر |
visitor_label سلسلة نصية أو null | تسمية مخصصة للزائر |
جلب تفاصيل المحادثة
Section titled “جلب تفاصيل المحادثة”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()الاستجابة 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}تتضمن استجابة التفاصيل كل حقول استجابة القائمة، بالإضافة إلى:
| الحقل | الوصف |
|---|---|
url سلسلة نصية أو null | رابط الصفحة التي بدأت فيها المحادثة (Widget فقط) |
client_metadata كائن أو null | أزواج مفتاح وقيمة مخصصة مرفقة بالمحادثة |
last_visitor_message_at سلسلة نصية | الطابع الزمني لآخر رسالة زائر |
unified_analysis كائن أو null | تحليل المحادثة الذي يولده AI (انظر أدناه) |
حقول unified_analysis:
| الحقل | الوصف |
|---|---|
sentiment سلسلة نصية | مشاعر المحادثة التي يكتشفها AI (مثل "positive" أو "neutral" أو "negative") |
resolution_status سلسلة نصية | حالة الحل التي يقيّمها AI (قد تختلف عن resolution_status في المستوى الأعلى) |
topic سلسلة نصية | موضوع المحادثة الذي يكتشفه AI |
is_flagged قيمة منطقية | هل وضع AI علامة على المحادثة للمراجعة البشرية |
flag_reason سلسلة نصية أو null | سبب وضع علامة على المحادثة |
حقل resolution_status في المستوى الأعلى ("open" أو "resolved") هو الحالة المعتمدة التي تُحدد يدويًا أو بقواعد الأتمتة.
تُحسب unified_analysis.resolution_status بتحليل AI وقد تختلف؛ مثلًا قد يصنف AI المحادثة محلولة بناءً على المحتوى رغم بقاء الحالة العليا "open". استخدم الحقل الأعلى للتصفية وسير العمل، واستخدم unified_analysis للإحصاءات والتحليلات.
جلب أحداث المحادثة
Section titled “جلب أحداث المحادثة”اجلب جميع أحداث المحادثة (الرسائل والروابط المتتبعة والسجلات).
نطاق الصلاحيات: read_allGET https://app.quickchat.ai/v1/api_core/conversations/{conversation_id}/events/
معلمات الاستعلام
| المعلمة | الوصف |
|---|---|
limit عدد صحيح | العناصر في الصفحة |
offset عدد صحيح | العناصر المتجاوزة |
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()الاستجابة 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}أنواع الأحداث: message, tracked_link, log
أنواع المؤلفين: ai_assistant, visitor, human_operator
| الحقل | الوصف |
|---|---|
type سلسلة نصية | نوع الحدث: "message" أو "tracked_link" أو "log" |
data.id سلسلة نصية | معرف الرسالة الفريد |
data.ord عدد صحيح | رقم الرسالة التسلسلي |
data.created_at سلسلة نصية | الطابع الزمني للحدث |
data.content سلسلة نصية | محتوى الرسالة |
data.author سلسلة نصية | "ai_assistant" أو "visitor" أو "human_operator" |
data.handoff_state سلسلة نصية أو null | حالة التحويل إن انطبقت |
data.message_insights كائن أو null | تحليلات الرسالة التي يولدها AI |
data.feedback كائن أو null | ملاحظات المستخدم على الرسالة |
data.client_metadata كائن أو null | بيانات وصفية مخصصة مرفقة بالرسالة |
data.sources_generated مصفوفة | مقالات قاعدة المعرفة التي استخدمها AI لتوليد الرد |
data.is_welcome قيمة منطقية | هل هذه رسالة ترحيب |
data.attachments مصفوفة | مرفقات الملفات |