GET/api/global-chatbot/demo/history
يحمّل سجل الرسائل السابق لجلسة دردشة تجريبية — يُستخدم عند إعادة فتح Widget التجريبي حتى لا يُفقد السجل.
تُستخدم نقطة النهاية `GET /api/global-chatbot/demo/history` لاسترجاع الرسائل السابقة الخاصة بجلسة دردشة تجريبية عند إعادة فتح واجهة العرض أو تحديث الصفحة. لا تتطلب العملية تسجيل دخول، لكنها تعتمد على معرّفين إلزاميين في سلسلة الاستعلام: `session_id` لتحديد الجلسة و`visitor_id` لربط الطلب بالزائر الصحيح. يجب إرسال القيمتين كما استلمهما العميل عند إنشاء الجلسة الأولى؛ إنشاء قيم جديدة أو خلط معرّفات من جلسات مختلفة يؤدي إلى نتيجة فارغة أو إلى رفض الطلب بحسب حالة الجلسة. الطلب من نوع قراءة فقط، ولذلك فهو متطابق القوة ولا ينشئ رسالة جديدة ولا يغيّر حالة المحادثة. الاستخدام المعتاد يبدأ بحفظ معرّف الجلسة ومعرّف الزائر في تخزين المتصفح، ثم استدعاء المسار عند تحميل واجهة الدردشة. بعد استلام الاستجابة يعرض العميل الرسائل بالترتيب الذي يعيده الخادم، مع الحفاظ على هوية المرسل ونوع المحتوى والطابع الزمني المتاح. لا ينبغي للواجهة أن تعيد ترتيب الرسائل اعتمادًا على افتراضات محلية إذا كانت الاستجابة تحتوي على ترتيب صريح. إذا غاب `session_id` أو `visitor_id`، يجب أن يتعامل العميل مع ذلك كخطأ في معلمات الطلب، لا كجلسة بلا رسائل. وإذا كانت القيم موجودة لكن لا تتطابق مع جلسة معروفة، فلا يجوز إنشاء جلسة بديلة تلقائيًا عبر نقطة السجل؛ إنشاء جلسة جديدة يتم من خلال مسار الدردشة التجريبية المخصص لذلك. كما يجب تجنّب تسجيل المعرّفات الكاملة في سجلات الواجهة العامة، لأن هذه القيم تربط الطلب بسياق محادثة محدد حتى لو كانت بيئة العرض تجريبية. مثال عملي: يفتح الزائر العرض التجريبي، يرسل سؤالين، ثم يغلق النافذة. عند العودة، تقرأ الصفحة المعرّفين المحفوظين وتستدعي نقطة السجل. إذا كانت الجلسة ما تزال صالحة، يعاد تاريخ المحادثة وتظهر الرسائل السابقة قبل السماح بإرسال رسالة جديدة. هذا المسار لا يضمن بقاء الجلسة إلى أجل غير محدود، ولا يعرض إحصاءات أو معلومات إدارية؛ وظيفته محصورة في إعادة بناء سجل واجهة العرض التجريبي بصورة آمنة ومتسقة. كما ينبغي للعميل التمييز بين السجل الكامل الذي يُحمّل عند فتح الواجهة وبين الاستعلام الدوري عن الرسائل الجديدة. استخدام مسار السجل في حلقة قصيرة يستهلك الحد العام للطلبات بلا فائدة، بينما مسار poll مخصص للتحديثات اللاحقة. وعند عرض المحتوى، يجب ترميز النصوص بصورة آمنة حتى لا تتحول أي قيمة واردة إلى HTML تنفيذي داخل صفحة العرض.
المصادقة والأمان
لا يلزم أي مصادقة
متطابق القوة: نعم
المعلمات
session_id(query, string، إلزامي)visitor_id(query, string، إلزامي)مثال استجابة
{"ok":true,"data":{"messages":[{"id":"f248d929-c9ce-412d-aba8-43808ca1c9f7","role":"user","text":"مرحبًا، كم تكلفة Zentor؟","created_at":"2026-07-20T17:07:02.240Z"},{"id":"3c26b6a6-4ca6-47a9-9669-a052082007ac","role":"assistant","text":"Ich kann dir zeigen, wie das für deinen Anwendungsfall aussehen würde — ohne Verpflichtung.","created_at":"2026-07-20T17:07:02.329Z"}]}}رموز الأخطاء
400 PARAMS_REQUIRED — session_id و/أو visitor_id مفقودان.إثبات الاختبار المباشر
تم التحقق حيًا من النجاح (200، سجل رسائل حقيقي لجلسة أُنشئت مسبقًا عبر demo.chat) والحالة السلبية (400).