التثبيت
أضِف وسم سكربت واحدًا مع معرّف مساحة العمل. يُركّب الودجت نفسه داخل Shadow DOM معزول فلا يتعارض مع تنسيقات صفحتك.
وسم السكربت
أبسط طريقة للتثبيت — الصق هذا قبل وسم إغلاق الصفحة.
طابور الأوامر غير المتزامن
عرّف دالة صغيرة قبل تحميل الحزمة لتُخزَّن الأوامر المبكرة وتُنفَّذ فور تركيب الودجت.
الإعداد
عيّن window.awncareSettings قبل تحميل الحزمة لضبط الإقلاع. تتجاوز هذه القيم سمات data-* في وسم السكربت.
| الحقل | النوع | الوصف |
|---|---|---|
workspaceId | string | معرّف مساحة العمل. مطلوب ما لم يُمرَّر عبر data-workspace-id. |
locale | "ar" | "en" | لغة واجهة الودجت الأولية. |
position | "bottom-right" | "bottom-left" | الزاوية التي يظهر فيها زر الإطلاق. |
color | string | لون الزر واللون المميّز (أي لون CSS). |
zIndex | number | ترتيب طبقة الودجت. القيمة الافتراضية هي القصوى. |
hideLauncher | boolean | ابدأ وزر الإطلاق مخفيًا، ثم أظهِره لاحقًا عبر AwnCare.show(). |
baseUrl | string | تجاوز أصل الـ API الذي يتصل به الودجت. |
مرجع الواجهة
كل الدوال المتاحة على window.AwnCare. الدوال المستدعاة قبل اكتمال تركيب الودجت تُخزَّن وتُنفَّذ تلقائيًا.
version: string
نص إصدار الحزمة الدلالي، مثل "1.0.0".
open(): void
فتح نافذة المحادثة.
close(): void
إغلاق نافذة المحادثة.
toggle(): void
تبديل فتح/إغلاق نافذة المحادثة.
isOpen(): boolean
تُعيد true عندما تكون نافذة المحادثة مفتوحة.
sendMessage(text: string): void
إرسال رسالة من الزائر إلى المحادثة النشطة.
setUser(data): void
تعيين سمات جلسة خفيفة (الاسم والبريد وأي مفاتيح إضافية) للزائر الحالي.
identify(data: IdentifyData): void
حفظ سمات جهة الاتصال في سجل الزائر على الخادم ليعرف الوكلاء مع من يتحدثون.
on(event, callback): void
الاشتراك في حدث من أحداث الودجت عبر دالة استدعاء.
off(event, callback?): void
إزالة مُستمِع معيّن، أو كل المستمعين لحدث عند عدم تمرير دالة.
setLocale(locale: "ar" | "en"): void
تبديل لغة واجهة الودجت أثناء التشغيل.
getUnreadCount(): number
إرجاع عدد الرسائل غير المقروءة الحالي.
hide(): void
إخفاء الودجت تمامًا من العرض.
show(): void
استعادة الودجت بعد hide()، ويُظهر أيضًا زر إطلاق بدأ مخفيًا عبر hideLauncher.
destroy(): void
إزالة الودجت من DOM بالكامل.
logout(): void
مسح هوية الزائر الحالية — استخدمها عند تسجيل الخروج لبدء جلسة جديدة.
trackEvent(name, data?): void
تسجيل حدث زائر مخصّص مع بيانات اختيارية للسياق والأتمتة.
بيانات ()identify
السمات التي تقبلها AwnCare.identify(). جميع الحقول اختيارية؛ مرّر ما تعرفه.
| الحقل | النوع | الوصف |
|---|---|---|
name | string | الاسم المعروض لجهة الاتصال. |
email | string | البريد الإلكتروني لجهة الاتصال. |
phone | string | رقم هاتف جهة الاتصال. |
externalId | string | معرّف ثابت من نظامك لربط جهة الاتصال هذه. |
company | string | اسم شركة جهة الاتصال. |
metadata | Record<string, unknown> | أي سمات مخصّصة إضافية، تُدمج في سجل الزائر. |
الأحداث
اشترك عبر AwnCare.on(name, callback). تستقبل الدوال الحمولة الموضحة أدناه.
| الحدث | الحمولة | الوصف |
|---|---|---|
ready | — | يُطلَق بمجرد تركيب الودجت وجاهزيته للاستخدام. |
open | — | يُطلَق عند فتح نافذة المحادثة. |
close | — | يُطلَق عند إغلاق نافذة المحادثة. |
message | Message | اسم بديل قديم — يُطلَق لكل رسالة من وكيل أو بوت مع كائن الرسالة الكامل. |
message:received | { text, sender: "agent" | "bot" } | يُطلَق عند وصول رسالة من وكيل أو بوت. |
message:sent | { text } | يُطلَق عند إرسال الزائر رسالة. |
conversation:started | { conversationId } | يُطلَق عند إنشاء محادثة جديدة. |
unread | number | يُطلَق عند تغيّر عدد الرسائل غير المقروءة. |