GET/api/public/widget/config/:widget_code
يوفر الإعدادات الأساسية العامة لـ Widget (التصميم، نص الترحيب، اللغة) — شرط مسبق قبل تهيئة Widget في المتصفح. لا حاجة إلى Token مصادقة، لأن هذه البيانات ستكون على أي حال مرئية للعموم في شيفرة مصدر الصفحة.
توفر نقطة النهاية `GET /api/public/widget/config/:widget_code` الإعدادات العامة اللازمة لتهيئة أداة الدردشة قبل بدء المحادثة. يُمرر `widget_code` داخل المسار، ويستخدمه الخادم لتحديد الأداة الصحيحة وإرجاع البيانات التي يمكن عرضها علنًا، مثل اللغة، نص الترحيب، عناصر المظهر، وخيارات العرض المتاحة. لا تحتاج هذه الخطوة إلى Token مصادقة لأن المعلومات المقصودة تظهر أصلًا في واجهة الموقع، لكنها تبقى خاضعة للتحقق من صحة رمز الأداة ومن حالة التهيئة في النظام. يجب استدعاء المسار عند تحميل الأداة، قبل إرسال أي رسالة. إذا نجحت الاستجابة، تطبق الواجهة الإعدادات كما يعيدها الخادم بدل الاعتماد على نسخة ثابتة مضمّنة في الموقع. بهذه الطريقة تظهر التعديلات المعتمدة عند إعادة تحميل الصفحة من دون الحاجة إلى تغيير كود العميل. مع ذلك، لا ينبغي للواجهة أن تفترض وجود كل حقل اختياري؛ يجب استخدام قيم افتراضية آمنة عندما يغيب عنصر غير إلزامي، مع عدم اختراع وظائف غير موجودة في الاستجابة. إذا كان `widget_code` مفقودًا أو غير معروف أو مرتبطًا بأداة غير متاحة، ينبغي إيقاف التهيئة وعرض حالة خطأ مناسبة بدل محاولة الاتصال بنقاط الرسائل باستخدام رمز بديل. كما لا تُرجع هذه النقطة الأسرار الخاصة بالأداة ولا Token التضمين بصورته الصريحة. Token التضمين يُدار بصورة منفصلة ويُستخدم مع نقاط الرسائل والسجل والتقييم، بينما يظل مسار الإعدادات مخصصًا للبيانات العامة اللازمة للرسم الأولي. مثال عملي: يضمّن موقع العميل سكربت الأداة ومعه رمز الأداة. عند بدء التنفيذ، يطلب السكربت `/api/public/widget/config/<widget_code>`. تعيد الخدمة إعدادات اللغة والتحية والمظهر، فتُنشأ النافذة وفقها. بعد ذلك فقط تُجهز الجلسة وتُرسل الرسائل إلى المسارات المحمية بترويسة `X-Widget-Token` وفحص الأصل. فصل الإعداد العام عن عمليات المحادثة يقلل البيانات المرسلة في كل رسالة ويمنع العميل من تثبيت إعدادات قديمة لا تطابق الحالة الحالية في Zentor App. من المهم أيضًا أن يعامل المتصفح الإعدادات المستلمة كبيانات عرض، لا كتعليمات تنفيذ مفتوحة. ألوان الواجهة والنصوص واللغة يمكن تطبيقها ضمن القيم المدعومة، أما الحقول غير المعروفة فيجب تجاهلها. ويساعد التخزين المؤقت القصير على تقليل الطلبات، لكن يجب توفير طريقة لإعادة الجلب عند تغيير إعداد الأداة في Zentor App.
المصادقة والأمان
لا يلزم أي مصادقة
متطابق القوة: نعم
المعلمات
widget_code(path, string، إلزامي)مثال استجابة
{"ok":true,"data":{"widget_code":"...","display_name":"...","welcome_message":null,"theme":{},"language":"auto","voice_enabled":false,"branding_required":false}}رموز الأخطاء
404 WIDGET_NOT_FOUND — كود Widget غير موجود أو معطّل.403 CHAT_UNAVAILABLE — الدردشة غير متاحة حاليًا (مثلاً استحقاق (entitlement) مفقود أو منتهي الصلاحية للمستأجر).إثبات الاختبار المباشر
تم التحقق مباشرة من النجاح (200) وكذلك من كلتا الحالتين السلبيتين (404 كود غير معروف، 403 بدون استحقاق نشط).