Skip to main content
الودجت هو زر المحادثة الذي يكلّمه زوارك، وتصل محادثاته إلى صندوق وارد لينكياسوفت بجانب واتساب وماسنجر وبقية القنوات. إعداده داخل التطبيق مشروح في محادثة الموقع — وهذه الصفحة هي الجزء الذي يدخل شيفرة موقعك.

الكود

ضعه قبل وسم </body> في كل صفحة تريد ظهور الزر فيها. تجد data-website-id الخاص بك في تبويب التثبيت للقناة. هذا هو التركيب كله. كل ما يلي اختياري.
معرّف الموقع علني بطبيعته. فهو موجود في صفحة يستطيع أي أحد قراءة مصدرها. ما يجعله آمنًا هو قائمة النطاقات في القناة: يرفض الودجت العمل على أي نطاق لم يُدرجه صاحب القناة، فلا ينفع المعرّف المنسوخ في مكان آخر.لا تضع مفتاح API في صفحة أبدًا؛ فمفتاح لينكياسوفت يحمل صلاحيات على مساحة العمل كاملة — راجع المصادقة.

ماذا يكلّف صفحتك

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

مناداته قبل تحميله

إن احتجت مخاطبة الودجت من شيفرتك — تعريف مستخدم مسجّل، فتحه من زرك أنت، الاستماع للأحداث — أضف طابور الأوامر قبل وسم السكربت:
تُحفَظ المناداة التي تسبق وصول المُحمِّل ثم تُعاد عند وصوله، فلا يضيع شيء ولا ينتظر شيء حدث onload. قائمة الأوامر كاملة في واجهة الجافاسكربت.
إن كان موقعك يضبط script-src مع nonce، فالسكربت المضمّن أعلاه يحتاج ذلك الـ nonce. أما الكود المكوّن من سطر واحد فلا يحتاجه — لأنه بلا سكربت مضمّن أصلًا، ولهذا هو الخيار الافتراضي.

تجاوز الإعدادات في صفحة واحدة

لوحة التحكم تحمل الإعدادات الافتراضية، ويمكن لصفحة واحدة تجاوز الشكل والزر ورسالة الترحيب قبل الإقلاع:
اضبطه قبل تشغيل المُحمِّل، أو مرّر نفس الكائن عبر Linkia('init', …). بقية النصوص تبقى في الخادم عمدًا: هكذا يستطيع الدعم إصلاح خطأ إملائي في رسالة عدم التوفر دون أن يعيد العميل نشر موقعه.

زر خاص بك

أي عنصر يحمل data-linkia-open يفتح الودجت، وأي عنصر يحمل data-linkia-unread يستقبل عدد الرسائل غير المقروءة كنص له:
كلاهما يعمل مع العناصر المُضافة لاحقًا أيضًا، فينفع مع أي إطار عمل يرسم الزر بعد الإقلاع. اضبط hideLauncher: true إن كنت لا تريد زرّنا كذلك.

تطبيقات الصفحة الواحدة

يصمد الودجت أمام التنقل من جهة العميل بنفسه — فهو غير مرتبط بمسار، ويتجاهل المُحمِّل أي حقن ثانٍ. لذلك:
  • احقن السكربت مرة واحدة في التخطيط الجذري أو index.html، لا داخل مكوّن صفحة.
  • لا تُعِد تركيبه مع كل مسار. وإن أردت إزالته كليًا فنادِ Linkia('destroy').
  • أعد التعريف عند تغيّر المستخدم فقط، لا مع كل تنقل.

سياسة أمان المحتوى (CSP)

إن كان موقعك يرسل CSP، فاسمح بنطاقنا في أربعة توجيهات:
يغطي connect-src طلبات الودجت وبثّ EventSource معًا. ويحتاج img-src إلى النطاق الذي يخدم شعارك وأي صور يرسلها زوارك — وهو شبكة الوسائط لدينا ما لم تضبط شبكتك.
التوجيه المحجوب يظهر في وحدة تحكم المتصفح كمخالفة CSP تذكر اسم التوجيه الذي رفض. تلك الرسالة أسرع طريق إلى الحل، فاقرأها قبل تغيير أي شيء آخر.

ماذا يخزّن الودجت

يعيش الرمز في مساحة صفحتك لا في الإطار عمدًا: فسفاري وفَيَرفُكس يعزلان التخزين داخل الإطارات عابرة النطاق، ولو حُفظ هناك لضاع مع كل إعادة تحميل ولبدا كل زائر عائد وكأنه جديد. لا تُضبط أي كوكيز، ولا يُشارَك شيء مع أي موقع آخر.
نادِ Linkia('logout') في المكان الذي يعمل فيه تسجيل خروج موقعك. على جهاز مشترك، سيقرأ الشخص التالي محادثة من سبقه لولا ذلك.

الحدود

تجاوز أي حد يعطي 429، ويعرض الودجت الرسالة كغير مُرسَلة مع زر إعادة محاولة بدل أن يفقدها.

عندما لا يظهر

اعمل بالترتيب — أول أربع نقاط تغطي الغالبية:
  1. وحدة التحكم. يكتب الودجت سطرًا يبدأ بـ [Linkia chat] عند رفضه العمل، ويذكر السبب.
  2. قائمة النطاقات. رمز 403 من /boot يعني أن هذا النطاق غير مُدرج. acme.com يشمل www.acme.com، أما النطاق الفرعي فيحتاج *.acme.com.
  3. معرّف الموقع. رمز 401 يعني معرّفًا مجهولًا أو قناة موقوفة.
  4. CSP. المخالفة في وحدة التحكم تذكر التوجيه الناقص.
  5. مانعات الإعلانات. كثير منها يحجب ودجتات المحادثة. جرّب في متصفح نظيف.

التالي

واجهة الجافاسكربت

افتحه وأغلقه، وعرّف الزوار، واستمع للأحداث.

التحقق من الهوية

وقّع معرّف المستخدم في خادمك حتى لا يدّعي متصفح هوية غيره.