تطبيقات لوحة التحكم

integrations dashboard-apps

آخر تحديث في Oct 14, 2026

تطبيق لوحة التحكم يضع صفحةً من عندك أمام وكيل الدعم، كتبويب بجانب المحادثة. فعندما يفتح الوكيل ذلك التبويب تُحمَّل صفحتك في إطار وتُسلَّم المحادثة التي ينظر إليها — من العميل، وأي محادثة، وأي وكيل، وتعريفات الخصائص المخصصة في الحساب.

وهو الجواب عن "وكلاؤنا يحتاجون رؤية شيء من نظامنا أثناء الإجابة". وهو ليس نظام إضافات: فصفحتك تعمل في إطارها الخاص، على خادمك الخاص، ولينوميا تشات يخبرها من على الشاشة فقط.

متى تستخدمه

عندما تكون المعلومة التي يحتاجها وكلاؤك في نظام من أنظمتك وتستطيع أن تضع صفحة ويب أمامها: بحث عن طلب، أو فحص ضمان، أو تتبّع توصيل، أو رصيد ولاء. فكل ما يستطيع مطوّروك إظهاره لعميل معيّن يستطيع الوكلاء رؤيته دون مغادرة المحادثة.

متى لا تستخدمه

  • للكتابة في المحادثة. فتطبيق لوحة التحكم لا يستطيع إرسال رسالة ولا تغيير حالة ولا إضافة وسم ولا إسناد أحد. وهو للقراءة فقط بالنسبة إلى لينوميا تشات. وللتصرّف في محادثة من الخارج، استخدم الواجهة البرمجية.
  • لرؤية ما اشتراه العميل من متجر مربوط. فذلك مبني أصلاً — راجع عرض العميل 360 وما يمنحه ربط متجر. وتطبيق لوحة التحكم للأنظمة التي لا يعرفها لينوميا تشات.
  • للتفاعل مع الأحداث. فالصفحة تُخبَر بما على الشاشة عند فتح الوكيل للتبويب. وإن احتجت أن تُخبَر عند حدوث شيء، فذلك Webhook.
  • لتعويض عرض الرسائل. ففتح تبويب التطبيق يخفي الرسائل ما دام مفتوحاً. والوكيل الذي يحتاج الاثنين معاً سيبقى يتنقّل بين التبويبين.

ما تحتاجه أولاً

  • حساب مدير لإنشائه.
  • صفحة تُقدَّم عبر HTTPS، ويمكن الوصول إليها من متصفحات وكلائك. والعنوان http:// مقبول في النموذج، لكن لوحة التحكم نفسها تُقدَّم عبر HTTPS، والمتصفح يرفض تحميل إطار غير آمن داخل صفحة آمنة، فعملياً HTTPS مطلوب.
  • صفحة تسمح بتضمينها في إطار. فإن أرسل خادمك ترويسات تمنع التضمين، كان التبويب فارغاً ولا شيء في لينوميا تشات يستطيع تجاوز ذلك.

الخطوات

  1. اذهب إلى الإعدادات ← التكاملات ← Dashboard Apps وأضف واحداً.
  2. أعطه عنواناً. وهذا هو اسم التبويب الذي سيراه الوكلاء، فسمّه لهم لا لبنيتك التقنية.
  3. أعطه رابط صفحتك.
  4. احفظ. فيظهر التبويب في كل محادثة فوراً، ولكل وكيل.

وأضف ما تحتاج؛ فيصبح كل واحد تبويباً خاصاً، بترتيب إنشائها.

أين يظهر

يظهر صفٌّ من التبويبات أعلى لوح المحادثة بمجرد وجود تطبيق واحد. والتبويب الأول الرسائل؛ وبعده تبويب لكل تطبيق، يحمل عنوانه.

ولا تظهر التبويبات إلا عند فتح محادثة — فلا شيء يُقال لتطبيق عن لوح فارغ. ولا يُحمَّل الإطار قبل أن يفتح وكيلٌ التبويب للمرة الأولى، فالتطبيق الذي لا يستخدمه أحد لا يكلّف شيئاً.

ما تُخبَر به صفحتك

المصافحة تبدأ منك. فعندما تصبح صفحتك مستعدة، أرسل رسالةً إلى النافذة الأمّ:

chatwoot-dashboard-app:fetch-info

ويجيب لينوميا تشات بنصّ JSON يحمل حدث appContext وكائن data:

المفتاح ما يحمله
conversation المحادثة التي على الشاشة، بمعرّفها وحالتها وقناتها والمُسنَد إليه والوسوم والخصائص المخصصة
contact العميل — الاسم والبريد ورقم الهاتف والمعرّف والخصائص المخصصة والإضافية
currentAgent ‏id‏ و‏name‏ و‏email‏ لوكيل الدعم المسجَّل، ولا شيء غير ذلك
customAttributes تعريفات الخصائص المخصصة في الحساب، لا قيم عميل واحد
theme ‏light‏ أو ‏dark‏، تبعاً للوحة تحكم الوكيل

ويُرسل السياق مرة أخرى عند عودة الوكيل إلى التبويب، وقيمة theme تتبع لوحة التحكم، فالصفحة التي تُعيد الرسم عند appContext تبقى متوافقة.

وخاصيتان في هذا التبادل تهمّان من يكتب الصفحة:

  • تُرسل الإجابة دون تقييد الأصل المستقبِل. فتعامل مع الرسالة كمُدخَل غير موثوق في صفحتك: تحقّق أنها جاءت من النافذة التي تتوقّعها قبل التصرّف عليها.
  • والحِمل غير قابل للتهيئة. فتحصل على تلك المفاتيح الخمسة. ولا تستطيع طلب أكثر ولا أقل.

مثال عملي

يشغّل متجر تجزئة في الكويت نظام مستودعات خاصاً به لا يعرف لينوميا تشات عنه شيئاً. فيرفع مطوّر صفحةً على ‏https://tools.example.com/agent/delivery‏ تقرأ رقم هاتف العميل، وتبحث عن توصيلاته المفتوحة، وتعرضها في جدول قصير.

ويضيف المدير تطبيق لوحة تحكم بعنوان التوصيلات يشير إلى تلك الصفحة. ومن ثَمّ يفتح كل وكيل يجيب عن سؤال "أين طلبي؟" تبويب التوصيلات ويقرأ الجواب، في المحادثة، دون أن يسأل فريق المستودع على Slack.

من يستطيع فعل ذلك

الإنشاء والتعديل والحذف للمديرين وحدهم. وقائمة صلاحيات الدور المخصص لا تحتوي بنداً للتكاملات، فلا يمكن تفويض ذلك — راجع الأدوار والصلاحيات.

ورؤية التبويبات للجميع في الحساب. فلا طريقة لإظهار تطبيق لبعض الوكلاء دون بعض.

الحدود

  • وهو إطار، لا إضافة. فصفحتك لا تستطيع الاتصال بلوحة التحكم، ولا قراءة ما لم يُرسل إليها، ولا تغيير أي شيء.
  • ولا ظهور لكل قناة تواصل ولا لكل فريق ولا لكل دور. فالتطبيق على مستوى الحساب ومرئي للجميع.
  • ويجب أن يبدأ الرابط بـ http:// أو https://، وعملياً HTTPS كما سبق.
  • رابط واحد لكل تطبيق. ولتقديم صفحتين، أنشئ تطبيقين.
  • ولا تُمرَّر أي مصادقة. فصفحتك لا تُخبَر بمن هو المسجَّل أكثر من اسم الوكيل وبريده، ولا تستقبل أي رمز. وإن احتاجت صفحتك مصادقةً، فهي تتولّاها بنفسها.
  • ولا تحكّم في الارتفاع ولا واجهة لتغيير الحجم. فالإطار يملأ اللوح.
  • وفتح تبويب يخفي الرسائل. فهما لا يُعرضان جنباً إلى جنب.
  • ورفض التضمين يظهر كتبويب فارغ. فلا شيء يُبلّغ عنه في لوحة التحكم؛ ووحدة التحكم (Console) في متصفحك هي التي تُبلّغ.
  • ولا يُسجَّل شيء. فاستخدام تطبيق لوحة تحكم لا يظهر في سجلات التدقيق، وإنشاؤه لا يظهر كذلك.

مواضيع ذات صلة

إذا لم ينجح الأمر

التبويب غير موجود. فلا يوجد تطبيق لوحة تحكم بعد، أو لا توجد محادثة مفتوحة. فصفّ التبويبات لا يظهر إلا بوجودهما.

التبويب موجود لكنه فارغ. وهذا في الغالب رفضُ صفحتك للتضمين، أو رابط http:// داخل لوحة تحكم على HTTPS. تحقّق من وحدة التحكم (Console) في المتصفح على جهاز الوكيل.

صفحتي لا تستقبل السياق أبداً. فعليها أن تطلبه. أرسل chatwoot-dashboard-app:fetch-info إلى النافذة الأمّ بعد أن تصبح صفحتك مستعدة؛ فلا يُرسل شيء قبل ذلك.

قيم الخصائص المخصصة للعميل غائبة. فـ customAttributes يحمل تعريفات خصائص الحساب. وقيم هذا العميل على كائن contact — راجع الخصائص المخصصة.

‏Dashboard Apps‏ غير موجود في الإعدادات ← التكاملات. فأنت مسجَّل كوكيل دعم أو بدور مخصص. والصفحة للمديرين وحدهم.