واجهة برمجة تطبيقات الملخصات
يتوفر نوعان من الملخصات التي يكتبها الذكاء الاصطناعي عبر واجهة برمجة التطبيقات (API):
-
ملخصات الدردشة — ملخص قصير لمحادثة جهة اتصال واحدة، يتم إنشاؤه عند الطلب. وهو نفس الشيء الموجود في عنصر تحكم الملخص في الدردشة (انظر ملخص الدردشة).
-
الملخصات اليومية — ملخص شامل لمرة واحدة يومياً عبر جميع محادثاتك، وهو ما تقوم الملخصات اليومية بإنشائه كل صباح: الإحصائيات، وكتلة Markdown واحدة لكل قسم، وأي مهام أنشأها الذكاء الاصطناعي منها.
-
عنوان URL الأساسي —
https://api.dmchamp.com/v1 -
المصادقة — مفتاح واجهة برمجة التطبيقات الخاص بك (انظر المصادقة). يحتاج المفتاح ذو النطاق المحدود إلى قسم
Summaries. -
الأخطاء والترقيم — انظر الأخطاء والترقيم
توضح جميع الأمثلة أدناه نموذج الاستعلام ?apiKey= في cURL ورأس X-API-Key في JavaScript وPython — كلاهما يعمل على كل نقطة نهاية.
إنشاء ملخص دردشة
POST /summaries — أرسل phoneNumber الخاص بجهة الاتصال (مع رمز البلد) أو email؛ أحدهما مطلوب.
يقرأ الذكاء الاصطناعي أحدث محادثة مغلقة لجهة الاتصال، أو المحادثة التي لا تزال مفتوحة إذا لم يتم إغلاق أي منها بعد، ويكتب ملخصاً لها. يتم تخزين الملخص في جهة الاتصال (يظهر تحت الملخصات في لوحة جهة الاتصال في التطبيق) ويتم إرجاعه في الاستجابة، بحيث يمكنك إعادة توجيهه مباشرة إلى نظام إدارة علاقات العملاء (CRM)، أو قناة Slack، أو بريد إلكتروني.
التكلفة: نفس تكلفة رد واحد من الذكاء الاصطناعي في مستوى جودة الذكاء الاصطناعي للوكيل — Pro يكلف رصيداً واحداً، Max يكلف 0.25، Mini يكلف 0.15؛ مع ربط مفتاح Anthropic الخاص بك، تكون تكلفة Pro صفراً. يتم رفض الطلب قبل إنشاء أي شيء إذا كان الرصيد لا يغطيه.
cURL
curl -X POST "https://api.dmchamp.com/v1/summaries?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phoneNumber": "+31612345678"}'
JavaScript
const res = await fetch("https://api.dmchamp.com/v1/summaries", {
method: "POST",
headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ email: "jane@example.com" }),
});
const { summary } = await res.json();
Python
import requests
r = requests.post(
"https://api.dmchamp.com/v1/summaries",
headers={"X-API-Key": "YOUR_API_KEY"},
json={"phoneNumber": "+31612345678"},
)
print(r.json()["summary"])
الاستجابة
{
"success": true,
"message": "Chat summary generated successfully",
"summary": "Jane asked about the 10-session package for her two children (ages 6 and 9) and preferred Saturday mornings. She booked a trial lesson for Saturday at 10:00 and wants to know whether siblings get a discount."
}
| الحالة | المعنى |
|---|---|
400 |
لم يتم إرسال phoneNumber ولا email. |
404 |
لا توجد جهة اتصال مطابقة، أو ليس لدى جهة الاتصال محادثة بعد، أو لا تحتوي المحادثة على رسائل. يوضح message الخاص بالنص الأساسي السبب. |
500 |
فشل الإنشاء (على سبيل المثال، عدم كفاية الرصيد). |
وصفة الأتمتة: بريد إلكتروني للحجز مع ملخص. في أتمتة على مشغل تم حجز الموعد، أضف خطوة طلب HTTP التي تستدعي نقطة النهاية هذه باستخدام
${trigger.contact.phone_number}(أو البريد الإلكتروني لجهة الاتصال)، ثم خطوة بريد إلكتروني تدرجsummaryمن استجابة خطوة HTTP مع رابط للدردشة (عنوان تطبيقك متبوعاً بـ/chats/ومعرف جهة الاتصال من المشغل). يحصل فريقك على سياق الحجز في نفس البريد الإلكتروني، دون فتح صندوق الوارد.
قراءة الملخصات مرة أخرى. لا توجد نقطة نهاية تسرد ملخصات الدردشة المخزنة. احتفظ بالنص من الاستجابة إذا كنت بحاجة إليه لاحقاً، أو قم بإنشائه مرة أخرى (يتم محاسبتك على كل استدعاء).
بديل: حسب معرف جهة الاتصال
POST /summaries/chat-summary مع {"contactId": "..."} يقوم بنفس الإنشاء لجهة اتصال تمتلك معرفها بالفعل. إنه يؤكد النجاح فقط ({"success": true, "data": "Chat summary generated successfully"}) ولا يعيد النص، لذا استخدم POST /summaries عندما تريد الملخص نفسه. يحصل عضو الفريق الذي يقتصر مفتاحه على جهات الاتصال المخصصة له على 404 لجهة اتصال خارج هذا النطاق.
الحصول على ملخص يومي
GET /summaries/daily/{date} — date هو YYYY-MM-DD. يعيد الملخص لذلك اليوم، أو null تحت summary عندما لم يتم إنشاء أي ملخص بعد، بالإضافة إلى تكوين القسم الخاص بك.
cURL
curl "https://api.dmchamp.com/v1/summaries/daily/2026-09-08?apiKey=YOUR_API_KEY"
الاستجابة
{
"success": true,
"data": {
"summary": {
"date": "2026-09-08",
"status": "completed",
"generated_at": "2026-09-09T05:02:11.000Z",
"stats": {
"total_conversations": 42,
"total_messages_sent": 310,
"total_messages_received": 268,
"human_alerts": 3,
"bookings": 5,
"new_contacts": 11,
"sales": 2
},
"sections": {
"wins_losses_improvements": "## Wins\n- ...",
"tasks_action_items": "- Call Jane back about the sibling discount",
"human_alerts_reviews": "...",
"sentiment_analysis": "...",
"booked_meetings_sales": "..."
},
"contact_map": { "Jane Doe": "uid_whatsapp_31612345678" },
"auto_tasks": [],
"created_task_ids": []
},
"section_configs": [
{ "id": "wins_losses_improvements", "name": "Wins, Losses & Improvements", "enabled": true, "position": 0 }
]
}
}
status—pending،generating،completedأوfailed(مع ضبطerror). قم باستطلاع (poll) نقطة النهاية هذه بعد إعادة التوليد حتى تقرأcompleted.sections— سلسلة نصية بتنسيق markdown لكل قسم، مفهرسة بمعرف القسم. الأقسام الخمسة القياسية هيwins_losses_improvements،tasks_action_items،human_alerts_reviews،sentiment_analysisوbooked_meetings_sales؛ الأقسام التي تضيفها تحت Configure في صفحة Daily Summaries تحصل على معرفcustom_…. يتم تكرار الأسماء والترتيب فيsection_configs.contact_map— اسم العرض إلى معرف جهة الاتصال، حتى تتمكن من تحويل الأسماء الموجودة في النص إلى روابط.auto_tasks/created_task_ids— عناصر الإجراء التي استخرجها الذكاء الاصطناعي والمهام التي أنشأها منها (عندما يكون خيار Create task cards from action items مفعلاً).
| الحالة | المعنى |
|---|---|
400 |
date ليست YYYY-MM-DD، أو أنها في المستقبل. |
403 |
ميزة Daily Summaries معطلة للحساب. |
هل تفضل الدفع (push) بدلاً من الاستطلاع (polling)؟ يقوم حدث خطاف الويب Daily Summary Created بتسليم نفس الحمولة في اللحظة التي ينتهي فيها الملخص الصباحي.
إعادة توليد ملخص يومي
POST /summaries/daily/{date}/regenerate — يبدأ توليداً جديداً لذلك اليوم في الخلفية ويعود فوراً مع status: "generating" و sections فارغ. قم باستطلاع GET /summaries/daily/{date} حتى يكتمل. تنطبق نفس القواعد كما هو الحال بالنسبة لرابط Try again في التطبيق.
جسم اختياري {"deleteTasks": false} يحتفظ بالمهام التي أنشأها التشغيل السابق؛ افتراضياً يتم حذفها وإعادة إنشائها من الملخص الجديد. أرسل قيمة منطقية (boolean) حقيقية — السلسلة "false" يتم تجاهلها ومعاملتها كقيمة افتراضية.
curl -X POST "https://api.dmchamp.com/v1/summaries/daily/2026-09-08/regenerate?apiKey=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"deleteTasks": false}'
مرجع سريع
| المهمة | نقطة النهاية |
|---|---|
| توليد ملخص محادثة والحصول على النص | POST /summaries |
| توليد ملخص محادثة حسب معرف جهة الاتصال (لا يتم إرجاع نص) | POST /summaries/chat-summary |
| قراءة ملخص يوم | GET /summaries/daily/{date} |
| إعادة توليد ملخص يوم | POST /summaries/daily/{date}/regenerate |