البدء
الإعداد والاستخدام

الإعداد والاستخدام

توفر واجهة برمجة التطبيقات JavaScript مجموعة من الدوال والأحداث التي تدعم معظم وظائف Alfchatbot. لبدء استخدام واجهة برمجة التطبيقات JavaScript، اتبع الدليل أدناه.

الاستخدام

تأكد من تحميل الدردشة عن طريق تضمين النص البرمجي التالي في الصفحة التي تريد استخدام واجهات البرمجة فيها. تأكد من أن الروابط صحيحة. إذا كنت تستخدم نسخة WordPress، فهذه الخطوة غير مطلوبة.

                                <script src="alfchatbot/js/min/jquery.min.js"></script>
                                <script id="sbinit" src="alfchatbot/js/main.js"></script>
                            

أدخل مقاطع الشيفرة البرمجية، والدوال، والأساليب من هذه الوثائق في الدالة أدناه.

                                (function ($) {
                                    $(document).on("SBInit", function () {
                                        // أدخل شيفرتك هنا
                                    });
                                }(jQuery));
                            

معلمات الدالة

أدخل معلمات الدالة بنفس ترتيب هذه الوثائق. مثال: SBChat.sendMessage(user_id, message, attachments).

التصحيح

تحقق من وحدة التحكم في المتصفح للأخطاء ومعلومات التصحيح.


البدء
الكائنات

الكائنات

الكائنات البرمجية في JavaScript المستخدمة من قبل Alfchatbot مذكورة أدناه. في بعض الحالات، ستحتاج إلى استخدام هذه الكائنات لاستخدام وظيفة معينة.


SBUser

يمثل مستخدمًا.


الاستخدام

new SBUser(settings, extra)
  • settings هو مصفوفة تحتوي على تفاصيل المستخدم. مثال: { first_name: "", last_name: "", profile_image: "", email: "", user_type: "" }
  • extra هو مصفوفة تحتوي على تفاصيل إضافية للمستخدم. مثال: { phone: "", city: "", language: "", country: "", birthday: "" }

طرق

id
يعيد معرف المستخدم.
type
يعيد نوع المستخدم. القيم المتاحة: زائر، عميل محتمل، مستخدم، وكيل، مدير.
name
يعيد الاسم الكامل للمستخدم: الاسم الأول واسم العائلة.
nameBeautified
يعيد الاسم الكامل للمستخدم إذا كان متاحًا، وإلا يعيد الاسم الافتراضي للزائر.
image
يعيد صورة الملف الشخصي للمستخدم.
get(key)
يعيد تفاصيل المستخدم للمفتاح المعطى إذا كانت متاحة، وإلا يعيد سلسلة فارغة. مثال: get("email").
getExtra(key)
يعيد التفاصيل الإضافية للمستخدم للمفتاح المعطى إذا كانت متاحة، وإلا يعيد سلسلة فارغة. مثال: get("phone").
set(key, value)
تحديث تفاصيل المستخدم أو إضافة تفاصيل جديدة. مثال: set("phone", "(02) 123 456789").
setExtra(key, value)
تحديث تفاصيل المستخدم الإضافية أو إضافة تفاصيل جديدة.
update(function(){})
الاتصال بقاعدة البيانات وتحديث تفاصيل المستخدم والتفاصيل الإضافية للمستخدم ببيانات جديدة من قاعدة البيانات. يمكن تشغيل وظيفة عند الانتهاء. هذه الطريقة غير متزامنة وتحتاج إلى معرف المستخدم لتعمل.
getConversations(function(conversations){}, exclude_id)
الاتصال بقاعدة البيانات والحصول على محادثات المستخدم، كل محادثة تشمل مقتطفًا من آخر رسالة. يمكن تشغيل وظيفة عند الانتهاء. المعامل exclude_id يمكن أن يكون أي معرف محادثة وسيتجاهل المحادثة ذات المعرف المذكور من القيمة المعادة. هذه الطريقة غير متزامنة وتحتاج إلى معرف المستخدم لتعمل.
getConversationsCode(conversations)
يعيد الشيفرة البرمجية HTML لقائمة المحادثات. يقبل اختياريًا مصفوفة من SBConversation الكائنات.
getFullConversation(conversation_id, function(conversation){})
الاتصال بقاعدة البيانات وإعادة محادثة كاملة، بما في ذلك جميع الرسائل. يمكن تشغيل وظيفة عند الانتهاء. هذه الطريقة غير متزامنة وتحتاج إلى معرف المحادثة لتعمل.
getConversationByID(conversation_id, index)
البحث عن محادثة بالمعرف المعطى وإعادته، وإلا تعيد القيمة false. اضبط index على true لإرجاع موضع مصفوفة المحادثات.
addConversation(conversation)
إضافة محادثة جديدة إلى كائن المستخدم، يجب أن يكون المعامل conversation كائنًا من نوع SBConversation. هذه الطريقة لا تحدث قاعدة البيانات.
removeConversation(conversation_id)
إزالة محادثة.
getLastConversation()
يعيد آخر محادثة إذا وجدت، وإلا يعيد القيمة false.
isConversationsEmpty()
يعيد true إذا كان لدى المستخدم على الأقل محادثة واحدة، وإلا يعيد false.
isExtraEmpty()
يعيد true إذا كانت التفاصيل الإضافية للمستخدم قد تم تعيينها بالفعل، وإلا يعيد false. تعيد هذه الطريقة true أيضًا إذا كانت قائمة التفاصيل الإضافية فارغة، ولكنها مُعينة.
delete(function(){})
حذف المستخدم من قاعدة البيانات وجميع المحادثات والرسائل المرتبطة به بشكل دائم. يمكن تشغيل وظيفة عند الانتهاء. هذه الطريقة غير متزامنة وتحتاج إلى معرف المستخدم لتعمل.
language()
يعيد لغة المستخدم.

المتغيرات

details
مصفوفة تحتوي على تفاصيل المستخدم.
extra
مصفوفة تحتوي على تفاصيل إضافية للمستخدم.
conversations
مصفوفة تحتوي على محادثات المستخدم. تحتوي كل محادثة على آخر رسالة فقط.

SBMessage

تمثل رسالة في محادثة.


الاستخدام

new SBMessage(details)
  • details هي مصفوفة تحتوي على تفاصيل الرسالة. مثال: { "id": "2319", "user_id": "377", "message": "مرحبا بك في دردشة الدعم الخاصة بنا!", "creation_time": "2020-05-12 18:04:50", "attachments": "", "status_code": "0", "payload": "", "conversation_id": "1004", "first_name": "الوكيل", "last_name": "الافتراضي", "profile_image": "https://alfchatbot.com/bot.svg", "user_type": "bot" }

الطرق

id
يعيد معرف الرسالة.
attachments
يعيد مصفوفة المرفقات.
message
يعيد نص الرسالة.
get(key)
يعيد محتوى المفتاح المعطى إذا كان متاحاً، وإلا يعيد سلسلة فارغة. مثال: get("message").
set(key, value)
تحديث تفاصيل الرسالة أو إضافة تفاصيل جديدة. مثال: set("message", "مرحبا!").
payload(key, value)
تعيين أو الحصول على الحمولة. الحمولة هي مصفوفة ترابطية تحتوي على بيانات إضافية. مثال: {"rich-messages":{"123":{"type":"buttons","result":"خطة مميزة"}}}، تحتوي على استجابة Dialogflow الكاملة إذا كانت الرسالة من روبوت Dialogflow. إذا تم تعيين value، تقوم الطريقة بإضافة أو تحديث المفتاح بالقيمة المعطاة.
getCode(translation)
يعيد الكود HTML للرسالة، جاهز للإدراج في عنصر DOM للدردشة. تقوم هذه الطريقة بمعالجة المرفقات، والرسائل الغنية، وتنسيق النصوص. قم بتعيين translation إلى true للحصول على الرسالة المترجمة إذا كانت متاحة.
render(message)
عرض الرسالة وتنسيقها بإضافة أنماط مثل الخط العريض والمائل، وتحويل الروابط إلى روابط قابلة للنقر. يمكن قبول سلسلة كخيار وعرضها بدلاً منها.
strip(message)
إزالة تنسيق النصوص. يمكن قبول سلسلة كخيار وإزالة تنسيق النصوص منها بدلاً منها.

المتغيرات

details
مصفوفة تحتوي على تفاصيل الرسالة.

SBConversation

تمثل محادثة.


الاستخدام

new SBConversation(messages, details)
  • messages هي مصفوفة من كائنات SBMessage.
  • details اختياري وهو مصفوفة تحتوي على تفاصيل المحادثة. مثال: { conversation_status_code: "2", conversation_time: "2020-05-18 11:48:09", department: null, first_name: "Don", last_name: "John", id: "102", profile_image: "https://alfchatbot.com/user.jpg", title: "", user_id: "897", user_type: "lead" }

الطرق

id
يعيد معرف المحادثة.
get(key)
يعيد محتوى المفتاح المعطى إذا كان متاحاً، وإلا يعيد سلسلة فارغة. مثال: get("conversation_status_code").
set(key, value)
تحديث تفاصيل المحادثة أو إضافة تفاصيل جديدة. مثال: set("conversation_status_code", 2).
getMessage(ID)
يعيد الرسالة ذات المعرف المعطى. يعيد false إذا لم يتم العثور على الرسالة.
getLastMessage()
يعيد آخر رسالة في المحادثة. يعيد false إذا لم تكن هناك رسائل.
getLastUserMessage(index, agent)
يعيد آخر رسالة في المحادثة أرسلها المستخدم، هذه الطريقة تستثني الرسائل المرسلة من قبل الروبوت، أو الوكلاء، أو المسؤولين. يمكن قبول فهرس كخيار لبدء البحث عن الرسالة، يتم البحث بترتيب معكوس، من آخر رسالة إلى أول رسالة. يعيد false إذا لم تكن هناك رسائل. قم بتعيين الوسيط agent إلى true لإرجاع آخر رسالة من الوكلاء أو المسؤولين، إلى bot لإرجاع آخر رسالة من الروبوت، إلى no-bot لإرجاع آخر رسالة من المستخدم أو الوكيل باستثناء الروبوت، إلى all لإرجاع آخر رسالة من الوكيل أو الروبوت.
updateMessage(ID, message)
تحديث الرسالة ذات المعرف المعطى. يجب أن يكون الوسيط message كائن SBMessage.
addMessages(messages)
إضافة رسائل جديدة إلى المحادثة. يجب أن يكون الوسيط messages كائن واحد من نوع SBMessage أو مصفوفة من SBMessage كائنات.
getCode()
يعيد الكود HTML للرسالة.
deleteMessage(ID)
إزالة الرسالة ذات المعرف المعطى من كائن المحادثة. هذه الطريقة لا تحدث قاعدة البيانات.
searchMessages(search, exact_match)
البحث عن سلسلة البحث في جميع رسائل المحادثة ويعيد مصفوفة بالرسائل التي تطابق البحث. قم بتعيين الوسيط exact_match إلى true للحصول فقط على الرسائل التي تحتوي بالضبط على نفس محتوى البحث.
getUserMessages(user_type)
يعيد مصفوفة تحتوي فقط على الرسائل المرسلة من قبل المستخدم، أو الروبوت، أو الوكلاء. القيم المقبولة لـ user_type: user، agents، bot. الافتراضي: user.
getAttachments()
يعيد مصفوفة تحتوي على جميع المرفقات في المحادثة. كل عنصر هو مصفوفة تحتوي على التفاصيل التالية: اسم الملف، الرابط، امتداد الملف، معرف الرسالة. مثال: [["image.jpg", "https://alfchatbot.com/image.jpg", "jpg", "5132"], ["file.txt", "https://alfchatbot.com/file.txt", "txt", "5135"], ...].
getLastConversationID()
يعيد معرف آخر محادثة إذا كان هناك أي، وإلا يعيد false.
updateMessagesStatus(ids)
تحديث رمز الحالة لعدة رسائل إلى مقروءة. الوسيط ids هو مصفوفة من معرفات الرسائل وهو اختياري، إذا تم توفيره، يتم إضافة رمز التحقق إلى الرسالة ولكن حالة الرسائل لا يتم تحديثها في قاعدة البيانات.

المتغيرات

details
مصفوفة تحتوي على تفاصيل المحادثة.

البدء
المتغيرات

المتغيرات

المتغيرات في القائمة أدناه متاحة للوصول إليها عبر JavaScript.


المتغير الوصف
SB_ARTICLES_PAGE
قم بتعيينها إلى true لعرض صفحة المقالات بدلاً من الدردشة.
SB_LOCAL_SETTINGS
تجاوز إعدادات العميل الافتراضية. القيمة هي مصفوفة من المفاتيح والقيم، كل مفتاح هو إعداد، على سبيل المثال { registration-required: false }. احصل على قائمة الإعدادات من resources/json/settings.json وملفات settings.json داخل مجلدات التطبيق. قد يختلف اسم الإعداد عن الموجود في ملف JSON، تحقق من الدالة sb_front_settings() في include/functions.php إذا لم يتم تطبيق إعداد. تؤثر الإعدادات على جانب العميل فقط، لتجاوز جميع الإعدادات استخدم طريقة PHP هنا.
SB_DISABLED
قم بتعيينها إلى true وأدرجها في صفحة لمنع تحميل الدردشة أو منطقة التذاكر.
SB_REGISTRATION_REQUIRED
قم بتعيينها إلى true وأدرجها في صفحة لتعطيل التسجيل الإلزامي، قم بتعيينها إلى false لتعطيل التسجيل.
SB_TICKETS
قم بتعيينها إلى true وأدرجها في صفحة لفرض تحميل منطقة التذاكر بدلاً من الدردشة. تطبيق التذاكر مطلوب.
SB_DEFAULT_USER
قم بتعيين تفاصيل المستخدم الافتراضية التي سيتم استخدامها عندما يدخل زائر جديد إلى الموقع. إذا زار مستخدم مسجل من Alfchatbot الموقع وتختلف تسجيل الدخول عن تفاصيل المستخدم الافتراضية، يتم تسجيل خروجه وتسجيل الدخول بالتفاصيل الجديدة. إذا كان المستخدم مسجلاً بالفعل، فإنه يسجل الدخول تلقائيًا. تأكد من تضمين البريد الإلكتروني وتجزئة كلمة المرور في مصفوفة تفاصيل المستخدم لضمان عملها بشكل صحيح، إذا لم يكن لدى المستخدم بريد إلكتروني، يرجى تضمين بريد إلكتروني عشوائي ولكن فريد، إذا لم يكن لدى المستخدم تجزئة كلمة مرور، قم بتضمين سلسلة أبجدية رقمية عشوائية ولكن فريدة. لتوليد تجزئة لكلمة المرور الخاصة بك، قم بزيارة https://phppasswordhash.com/. مثال على المصفوفة: var SB_DEFAULT_USER = { first_name: 'Don', last_name: 'Jhon', email: 'don.jhon@email.com', profile_image: 'https://example.com/image.jpg', password: '$2y$10$10EN6YKw...', extra: { phone: ['0125345978', 'Phone'], country: ['US', 'Country'] } };
SB_DEFAULT_DEPARTMENT
قم بتعيينها إلى معرف القسم وأدرجها في صفحة لتعيين جميع المحادثات الجديدة التي يتم إنشاؤها من الصفحة إلى القسم بالمعرف المعين.
SB_DEFAULT_AGENT
قم بتعيينها إلى معرف الوكيل وأدرجها في صفحة لتعيين جميع المحادثات الجديدة التي يتم إنشاؤها من الصفحة إلى الوكيل بالمعرف المعين. استخدم هذا المتغير بالاشتراك مع الخيار الإعدادات > متنوع > إخفاء المحادثات الخاصة بالوكيلين الآخرين .
SBChat.initialized
true إذا كانت الدردشة قد تم تهيئتها، وإلا false.
SBChat.conversation
المحادثة النشطة. القيمة هي false إذا لم تكن هناك محادثة نشطة.
SBChat.is_busy
true إذا كانت الدردشة في وضع مشغول، وإلا false. عندما تكون الدردشة في وضع مشغول لا يمكن إرسال الرسائل أو المرفقات.
SBChat.chat_open
true إذا كانت الدردشة مفتوحة، وإلا false.
SBChat.agent_id
معرف الوكيل النشط في المحادثة النشطة. القيمة هي -1 إذا لم يكن هناك أي وكيل نشط.
SBChat.agent_online
true إذا كان الوكيل النشط متصلاً بالإنترنت، وإلا false.
SBChat.user_online
true إذا كان المستخدم متصلاً بالإنترنت، وإلا false.
SBChat.timetable
true إذا كان الوقت الحالي ضمن ساعات العمل، وإلا false.
SBChat.dashboard
true إذا كانت لوحة التحكم نشطة ومرئية، وإلا false.

واجهة برمجة التطبيقات الخاصة بـ JAVASCRIPT
الدوال

الدوال

دوال لإدارة الدردشة، المستخدمين، المحادثات، والرسائل.


SBChat.submit()

تشغيل حدث النقر على زر الإرسال في محرر الدردشة، إرسال رسالة بالمحتويات المدخلة من قبل المستخدم (الرسالة و/أو المرفقات)، ومسح المحرر.


SBChat.sendMessage()

إضافة رسالة جديدة إلى المحادثة النشطة.


الوسائط

user_id
معرف المستخدم الذي يرسل الرسالة. استخدم الدالة SBF.setting("bot-id") للحصول على معرف الروبوت. الافتراضي: -1 (معرف المستخدم النشط).
message
نص الرسالة.
attachments
مصفوفة من المرفقات. صيغة المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link بالرابط الكامل للمرفق. الافتراضي: [].
onSuccess
دالة للتنفيذ عند اكتمال الدالة. الصيغة: function(response) { ... }. الاستجابة هي نفسها SBMessageSent الحدث. الافتراضي: false.
payload
مصفوفة مرتبطة تحتوي على بيانات إضافية. مثال: { "event": "delete-message" }.
conversation_status_code
رمز حالة المحادثة، إذا تم إنشاء محادثة جديدة. رموز الحالة: live = 0، انتظار رد من المستخدم = 1، انتظار رد من الوكيل = 2، أرشيف = 3، سلة المهملات = 4. قم بتعيينه إلى skip لترك حالة المحادثة الحالية.

المعلومات

  • المتطلبات. يجب أن يكون المستخدم نشطًا.

SBChat.updateMessage()

تغيير نص رسالة موجودة.


الوسائط

message_id
معرف الرسالة.
message
نص الرسالة.

المعلومات

  • المتطلبات. يجب أن يكون المستخدم نشطًا.
  • إذا كان المستخدم النشط وكيلًا أو مسؤولًا، يمكن تحديث رسائل أي مستخدم. إذا كان المستخدم النشط مستخدمًا، يمكن فقط تحديث رسائل المستخدم النشط.

SBChat.sendEmail()

إرسال بريد إلكتروني إلى المستخدمين أو الوكلاء الذين يتم إرجاعهم بواسطة getRecipientUserID().


الوسائط

message
نص الرسالة.
attachments
مصفوفة من المرفقات. صيغة المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link بالرابط الكامل للمرفق. يمكن لـ Dialogflow قراءة هذه المصفوفة.
send_to_active_user
قم بتعيينه إلى true لإرسال البريد الإلكتروني إلى المستخدم النشط.

SBChat.sendSMS()

إرسال رسالة نصية إلى المستخدمين أو الوكلاء الذين يتم إرجاعهم بواسطة getRecipientUserID().


الوسائط

message
نص الرسالة.

SBChat.desktopNotification()

إرسال إشعار سطح المكتب (إشعار ويب) إلى المستخدم، أو الوكيل المسجل إذا تم إرسال الإشعار من منطقة الإدارة.


الوسائط

title
عنوان الإشعار.
message
نص الرسالة.
icon
أيقونة الإشعار.
conversation_id
معرف المحادثة لفتحها عندما ينقر المستخدم على الإشعار.

SBChat.getRecipientUserID()

إذا كان المستخدم النشط مستخدمًا، يُرجع معرف الوكيل الأخير الذي أجاب على المحادثة، بخلاف ذلك يُرجع معرف الوكيل المعين للمحادثة، بخلاف ذلك يُرجع معرف القسم المعين للمحادثة، بخلاف ذلك يُرجع agents (بمعنى جميع الوكلاء). إذا كان المستخدم النشط مسؤولًا أو وكيلًا، يُرجع معرف المستخدم النشط.


SBChat.initChat()

تهيئة الدردشة وعرض زر الدردشة.


المعلومات

  • استخدم هذه الوظيفة بالاقتران مع الإعداد Manual initialization من منطقة Settings > Chat.
  • يجب عدم إدراج هذه الطريقة في الحدث $(document).on("SBInit", function () { ... });. استخدم بدلاً من ذلك $(document).on("SBReady", function () { ... });.

SBChat.open()

فتح أو إغلاق نافذة الدردشة.


الوسائط

open
قم بتعيينه إلى false لإغلاق الدردشة. الافتراضي: true.

SBChat.openConversation()

فتح محادثة وعرضها في نافذة الدردشة.


الوسائط

conversation_id
معرف المحادثة لفتحها. يمكن فقط فتح محادثات المستخدم النشط. استخدم الوظيفة SBF.activeUser().conversations للحصول على قائمة المحادثات.

SBChat.update()

تحديث المحادثة النشطة والتحقق مما إذا كانت هناك رسائل جديدة. يتم استدعاء هذه الوظيفة تلقائيًا كل 1000 مللي ثانية.


المعلومات

  • المتطلبات. يجب أن تكون المحادثة نشطة.
  • المتطلبات. يجب أن يكون المستخدم نشطًا.

SBChat.populateConversations()

تعبئة قائمة محادثات المستخدم في لوحة القيادة بجميع المحادثات الخاصة بالمستخدم.


الوسائط

onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(conversations) { ... }.

المعلومات

  • المتطلبات. يجب أن يكون المستخدم نشطًا.

SBChat.updateConversations()

تحديث قائمة محادثات المستخدم في لوحة القيادة والتحقق مما إذا كانت هناك محادثات جديدة. يتم استدعاء هذه الوظيفة تلقائيًا كل 10000 مللي ثانية.


المعلومات

  • المتطلبات. يجب أن يكون المستخدم نشطًا.

SBChat.newConversation()

إنشاء محادثة جديدة وإضافة الرسالة الأولى إليها بشكل اختياري.


الوسائط

status_code
رمز الحالة للمحادثة. الافتراضي: 0. رموز الحالة: مباشر = 0، في انتظار إجابة من المستخدم = 1، في انتظار إجابة من الوكيل = 2، أرشيف = 3، سلة المهملات = 4.
user_id
معرف المستخدم المرتبط بالمحادثة الجديدة. الافتراضي: -1 (معرف المستخدم النشط).
message
نص الرسالة.
attachments
مصفوفة من المرفقات. صيغة المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link بالرابط الكامل للمرفق.
department
معرف القسم. يمكنك الحصول على المعرفات من Settings > Miscellaneous > Departments. الافتراضي: NULL.
agent_id
معرف الوكيل المعين للمحادثة. الافتراضي: NULL.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(conversation) { ... }. الافتراضي: false.

المعلومات

  • المتطلبات. يجب أن يكون المستخدم نشطًا.

SBChat.setConversation()

تعيين محادثة موجودة كمحادثة نشطة.


الوسائط

conversation
المحادثة. يجب أن تكون كائنًا من نوع SBConversation. استخدم الوظيفة SBF.activeUser().conversations للحصول على قائمة المحادثات.

المعلومات

  • المتطلبات. يجب أن يكون المستخدم نشطًا.

SBChat.startRealTime()

بدء التحقق من الرسائل الجديدة في الوقت الحقيقي للمحادثة النشطة كل 1000 مللي ثانية.


SBChat.stopRealTime()

إيقاف التحقق من الرسائل الجديدة في الوقت الحقيقي.


SBChat.busy()

عرض أو إخفاء رمز التحميل وتمكين أو تعطيل وضع الانشغال في الدردشة. عندما تكون الدردشة في وضع الانشغال، لا يمكن إرسال الرسائل أو المرفقات.


الوسائط

value
Boolean. true أو false.

المعلومات

  • يظهر رمز التحميل فقط في منطقة المحادثة، وليس في لوحة القيادة أو في لوحات أخرى.
  • المتطلبات. يجب أن يكون المستخدم نشطًا.

SBChat.lastAgent()

يُرجع آخر وكيل في المحادثة النشطة.


الوسائط

bot
Boolean. قم بتعيينه إلى false لاستبعاد الروبوت. الافتراضي: true.

الاستجابة

    {
        "user_id": "123456",
        "full_name": "Don John",
        "profile_image": "https://alfchatbot.com/agent.svg"
    }

SBChat.scrollBottom()

تمرير الدردشة إلى الأسفل.


الوسائط

top
Boolean. قم بتعيينه إلى true للتمرير إلى الأعلى. الافتراضي: false.

SBChat.isBottom()

تحقق مما إذا كانت الدردشة في الأسفل.


SBChat.showDashboard()

عرض لوحة القيادة.


SBChat.hideDashboard()

إخفاء لوحة القيادة.


SBChat.showPanel()

عرض المنطقة المحددة داخل أداة الدردشة.


الوسائط

name
اسم اللوحة. القيم المتاحة: articles.

SBChat.hidePanel()

إخفاء اللوحة النشطة داخل أداة الدردشة.


SBChat.clear()

مسح منطقة المحادثة في أداة الدردشة وتعطيل المحادثة النشطة.


SBChat.updateNotifications()

تحديث عداد الإشعارات الحمراء لزر الدردشة الذي ينبه المستخدم بالرسائل الجديدة والمحادثات الجديدة.


الوسائط

action
أدخل add لزيادة العداد بواحد، أدخل remove لتقليل العداد بواحد. الافتراضي: add.
conversation_id
معرف المحادثة المرتبط بتحديث العداد. استخدم الوظيفة SBF.activeUser().conversations للحصول على قائمة المحادثات للمستخدم النشط.

SBChat.setConversationStatus()

تحديث رمز الحالة لمحادثة.


الوسائط

status_code
رمز الحالة الذي سيتم تعيينه للمحادثة. رموز الحالة: live = 0، انتظار الرد من المستخدم = 1، انتظار الرد من الوكيل = 2، أرشيف = 3، مهملات = 4.

المعلومات

  • المتطلبات. يجب أن يكون المستخدم نشطًا.

SBChat.typing()

إدارة التسمية "جاري الكتابة ..." في رأس الدردشة.


الوسائط

user_id
معرف المستخدم النشط (أو معرف الوكيل النشط إذا كنت في منطقة الإدارة). استخدم الوظيفة SBF.activeUser().id للحصول على معرف المستخدم النشط (استخدم المتغير SB_ACTIVE_AGENT["id"] للحصول على معرف الوكيل النشط إذا كنت في منطقة الإدارة). استخدم المتغير SBChat.agent_id للحصول على معرف آخر وكيل في المحادثة. الافتراضي: -1.
action

القيم المتاحة:

  • check - تحقق مما إذا كان المستخدم بالمعرف المحدد يكتب وقم بتحديث رأس الدردشة.
  • set - تعيين حالة الكتابة للمستخدم بالمعرف المحدد وتحديث رأس الدردشة.
  • start - عرض حالة الكتابة في رأس الدردشة.
  • stop - إخفاء حالة الكتابة من رأس الدردشة.

المعلومات

  • يظهر ملصق الكتابة فقط عندما تكون المحادثة مفتوحة.

SBChat.showArticles()

عرض منطقة المقالات أو مقال واحد.


الوسائط

id
معرف مقال لعرضه. استخدم الوظيفة SBChat.getArticles() للحصول على قائمة المقالات. الافتراضي: -1.

SBChat.getArticles()

يُرجع قائمة المقالات أو محتوى مقال واحد.


الوسائط

id
معرف مقال لعرضه. أضف معرفات متعددة مفصولة بفواصل. استخدم الوظيفة SBChat.getArticles() للحصول على قائمة المقالات. الافتراضي: false.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }. الافتراضي: false.
category
إرجاع فقط المقالات من معرف الفئة المحددة. إذا تم تعيينه على true إرجاع أيضًا قائمة الفئات. الافتراضي: true.
count
الحد الأقصى لعدد المقالات التي سيتم إرجاعها. الافتراضي: true.

الاستجابة

                                [
                                    {
                                        "id": "6P2Oq",
                                        "title": "What's new with the API V2?p",
                                        "content": "The API V2 is the new iteration of our developer API ...",
                                        "link": "https://alfchatbot.com",
                                        "categories": ["Nv9PG"]
                                    },
                                    {
                                        "title": "Which API version am I currently using?",
                                        "content": "The API version is configured separately for each ...",
                                        "link": "",
                                        "id": "IDkft",
                                        "categories": []
                                    },
                                    ...
                                ]
                            

إذا كان مقالًا واحدًا، تكون القيمة المُرجعة هي المقال:

                                {
                                    "id": "6P2Oq",
                                    "title": "What's new with the API V2?p",
                                    "content": "The API V2 is the new iteration of our developer API. The new API integrates Google Cloud Spe API V2 is the new iteration of our developer API. ",
                                    "link": "https://alfchatbot.com"
                                }
                            

المعلومات

  • يحتوي كل مقال في القائمة على مقتطف فقط من المحتوى.

SBChat.searchArticles()

عرض المقالات التي تطابق البحث في صندوق مقالات لوحة القيادة.


الوسائط

search
سلسلة تحتوي على مصطلحات البحث. تدعم وظيفة البحث العنوان والمحتوى.
button
كائن زر البحث.
target
كائن HTML لإدخال المقالات فيه.

المعلومات

  • المتطلبات. يجب أن تكون لوحة القيادة نشطة.
  • المتطلبات. يجب أن تكون المقالات نشطة.

SBChat.setArticleRating()

تعيين تقييم لمقال.


الوسائط

article_id
معرف المقال.
rating
التقييم الذي سيتم إضافته. أدخل 1 لتقييم إيجابي أو 0 لتقييم سلبي.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }. الافتراضي: false.

SBChat.categoryEmoji()

اختيار فئة من صندوق الرموز التعبيرية.


الوسائط

category
اسم الفئة. القيم المتاحة: Smileys، People، Animals، Food، Travel، Activities، Objects، Symbols.

SBChat.searchEmoji()

البحث عن الرموز التعبيرية التي تطابق مصطلحات البحث وعرضها في صندوق الرموز التعبيرية.


الوسائط

search
نص البحث.

SBChat.insertText()

إدراج سلسلة في محرر الدردشة.


الوسائط

text
السلسلة التي سيتم إدراجها في المحرر.

المعلومات

  • المتطلبات. يجب أن تكون المحادثة نشطة ومفتوحة.

SBChat.privacy()

عرض رسالة الخصوصية وإجبار المستخدم على قبول الشروط قبل بدء الدردشة.


عرض رسالة منبثقة أو إغلاقها.


الوسائط

close
منطقية. اضبطها على true لإغلاق الرسالة المنبثقة. الافتراضي: false.
content
مصفوفة تحتوي على محتوى الرسالة المنبثقة. صيغة المصفوفة: { image: "", title: "", message: "" }. الافتراضي: المحتوى المدرج في منطقة Settings > Chat > Popup message.

المعلومات

  • المتطلبات. يجب إغلاق الدردشة.

SBChat.slackMessage()

إرسال رسالة إلى Slack.


الوسائط

user_id
معرف المستخدم النشط (أو معرف الوكيل النشط إذا كنت في منطقة الإدارة). استخدم الوظيفة SBF.activeUser().id للحصول على معرف المستخدم النشط (استخدم المتغير SB_ACTIVE_AGENT["id"] للحصول على معرف الوكيل النشط إذا كنت في منطقة الإدارة). استخدم المتغير SBChat.agent_id للحصول على معرف آخر وكيل في المحادثة. الافتراضي: -1.
full_name
اسم المرسل، سيظهر في Slack على يسار الرسالة. يجب أن يكون اسم وكيل إذا كانت الرسالة من وكيل، وإلا اسم المستخدم.
profile_image
صورة ملف تعريف المرسل، ستظهر في Slack على يسار الرسالة. يجب أن تكون صورة ملف تعريف وكيل إذا كانت الرسالة من وكيل، وإلا صورة ملف تعريف المستخدم. الصيغ المدعومة: PNG و JPG.
message
نص الرسالة.
attachments
مصفوفة من المرفقات بتنسيق JSON. صيغة المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link برابط المرفق الكامل.

المعلومات

  • المتطلبات. يجب أن تكون المحادثة نشطة.

SBChat.deleteMessage()

حذف رسالة من قاعدة البيانات ومن المحادثة النشطة إذا كانت متاحة.


الوسائط

message_id
معرف الرسالة التي سيتم حذفها. استخدم الوظيفة SBChat.conversation.messages للحصول على قائمة الرسائل في المحادثة النشطة.

المعلومات

  • يمكن فقط حذف رسائل محادثات المستخدم النشط.
  • المتطلبات. يجب أن تكون المحادثة نشطة.

SBChat.registration()

عرض منطقة التسجيل أو تسجيل الدخول أو التحقق مما إذا كان التسجيل مطلوبًا.


الوسائط

check
اضبطها على true للتحقق مما إذا كان التسجيل مطلوبًا. الافتراضي: false.
type
أدخل registration لعرض نموذج التسجيل، أدخل login لعرض نموذج تسجيل الدخول.

SBChat.addUserAndLogin()

تسجيل مستخدم جديد كـ زائر وتسجيل الدخول تلقائيًا بعد التسجيل. اختياريًا، تنفيذ وظيفة عند الانتهاء.


الوسائط

onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }. الافتراضي: false.

الاستجابة

                                [
                                    {
                                        "id": "913",
                                        "profile_image": "https://alfchatbot.com/user.svg",
                                        "first_name": "Don",
                                        "last_name": "John",
                                        "email": "hello@example.com",
                                        "user_type": "user",
                                        "token": "9b25351047ee758aa97ee4868d130cc1ceb8decf"
                                    },
                                    "YXNkWGNSeTdtRTdDYVkxVG8wckN4YWF6V2s0Tk1mczBSVHdQbHBpOWdmejVUTTdOUUxEUENhdUVoYmROWn..."
                                ]
                            

القيمة الأخيرة هي بيانات تسجيل الدخول المشفرة جاهزة للتخزين في تخزين الويب لمتصفح المستخدم. استخدم الوظيفة SBF.loginCookie(response[1]); لتخزينها.


المعلومات

  • إذا كان المستخدم قد سجل الدخول بالفعل، يلزم إعادة تحميل الصفحة لتفعيل المستخدم الجديد.

SBChat.getDepartmentCode()

يعيد رمز HTML مع تفاصيل القسم المعطى أو جميع الأقسام. تفاصيل القسم: id, color, image, name.


الوسائط

department_id
معرف القسم. إذا لم يتم تعيين هذا المعامل أو كان null، تعيد الوظيفة رمز جميع الأقسام.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

الاستجابة

                                <div data-color="red"><img src="sales.jpg" /><div>Sales<div></div>
                            

SBChat.offlineMessage()

يتحقق مما إذا كانت الرسالة غير المتصلة يمكن إرسالها ثم يرسلها.


المعلومات

  • المتطلبات. يجب أن تكون المحادثة نشطة.

SBChat.isInitDashboard()

يتحقق مما إذا كان يتم عرض لوحة القيادة افتراضيًا عند تهيئة أداة الدردشة.


SBChat.closeChat()

أرشفة محادثة وإخفائها من أداة الدردشة.


الوسائط

update_conversation_status
اضبطها على false لإخفاء المحادثة من أداة الدردشة فقط دون تعيين حالتها إلى الأرشيف. الافتراضي: true.

SBChat.flashNotification()

بدء إشعار الفلاش.


SBChat.playSound()

تشغيل الصوت الذي يُشغل عند تلقي رسالة جديدة.


الوسائط

repeat
اضبطها على true لتكرار الصوت بعدد المرات التي تم تعيينها في الإعدادات. الافتراضي: false.

SBChat.automations.runAll()

يتحقق من جميع الأتمتة ويشغلها إذا تم التحقق من شروط التفعيل.


JAVASCRIPT API
التطبيقات

التطبيقات

قائمة الوظائف لتطبيقات Alfchatbot.


SBApps.is()

يتحقق مما إذا كان التطبيق متاحًا.


الوسائط

name
اسم التطبيق، على سبيل المثال: dialogflow.

SBApps.wordpress.ajax()

إجراء مكالمة AJAX لوردبريس.


الوسائط

action
الإجراء. القيم المتاحة: wp-login، wp-registration، button-purchase. قد تكون هناك قيم أخرى متاحة، تحقق من ملف main.js للحصول على جميع القيم.
data
معلمات الإجراء، تحقق من ملف main.js لمزيد من التفاصيل.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }. الافتراضي: false.

SBApps.dialogflow.message()

إرسال رسالة إلى Dialogflow وإضافة رد Dialogflow إلى المحادثة النشطة كرسالة جديدة.


الوسائط

message
نص الرسالة.
attachments
مصفوفة من المرفقات. صيغة المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link برابط URL الكامل للمرفق. يمكن لـ Dialogflow قراءة هذه المصفوفة.
delay
تأخير رد البوت بالميلي ثانية.
parameters
مصفوفة من المعلومات الاختيارية. صيغة المصفوفة: { "name": "value", "name": "value", ...}.

المعلومات

  • المتطلبات. يتطلب تطبيق Dialogflow ويجب أن يكون Dialogflow نشطًا في منطقة الإعدادات.
  • المتطلبات. يجب أن يكون المستخدم نشطًا.
  • استخدم SBApps.dialogflow.project_id = AGENT_ID لتغيير وكيل Dialogflow الافتراضي.

SBApps.dialogflow.active()

تحقق مما إذا كان Dialogflow نشطًا أو قم بإيقاف تشغيله.


الوسائط

active
اضبطها على false لتعطيل Dialogflow وإيقاف البوت.

الاستجابة

تعيد true إذا كان بوت Dialogflow نشطًا، خلاف ذلك، تعيد false.


SBApps.dialogflow.welcome()

يشغل Intent الترحيب الخاص بـ Dialogflow ويعرض رسالة الترحيب من Dialogflow.


المعلومات

  • المتطلبات. يتطلب تطبيق Dialogflow ويجب أن يكون Dialogflow نشطًا في منطقة الإعدادات.

SBApps.dialogflow.openAI()

يرسل رسالة إلى OpenAI (ChatGPT)، يعيد الرد، ويضيف الرد كرسالة جديدة إذا رغبت.


الوسائط

message
الرسالة.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

المعلومات

  • المتطلبات. يتطلب تطبيق Dialogflow ويجب أن يكون الإعدادات > Dialogflow > OpenAI > نشط نشطًا.
  • إذا كانت المحادثة نشطة، يتم تلقائيًا إضافة رد OpenAI كرسالة جديدة.

SBApps.dialogflow.typing()

يبدأ حركة الكتابة في عنصر واجهة الدردشة.


SBApps.dialogflow.humanTakeover()

يبدأ استيلاء الإنسان على Dialogflow من الإعدادات > Dialogflow > استيلاء الإنسان.


SBApps.dialogflow.humanTakeoverActive()

تحقق مما إذا كان استيلاء الإنسان نشطًا للمحادثة النشطة.


SBApps.dialogflow.translate()

ترجمة عدة نصوص عبر Google Translate.


الوسائط

strings
مصفوفة من النصوص لترجمتها، مثل ["Hello world", "How are you?"].
language_code
رمز اللغة المكون من حرفين للغة التي ترغب في الترجمة إليها.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

SBApps.woocommerce.updateCart()

تحديث سلة التسوق للمستخدم النشط.


الوسائط

action
الإجراءات المتاحة: cart-add, cart-remove
product_id
معرف المنتج للإضافة أو الإزالة.

SBApps.woocommerce.waitingList()

عرض رسالة قائمة الانتظار.


الوسائط

action
اضبطه على request. تُستخدم الإجراءات الأخرى داخليًا بواسطة السكربت.
product_id
معرف المنتج لإضافته إلى قائمة الانتظار.

جافا سكريبت API
التذاكر

التذاكر

قائمة الدوال لتطبيق التذاكر.


SBTickets.showPanel()

عرض لوحة أو منطقة المحادثة.


الوسائط

name
اسم اللوحة لعرضها. الأسماء المتاحة: new-ticket, privacy, articles, edit-profile, login, registration. اتركه فارغًا لعرض منطقة المحادثة الرئيسية.
title
العنوان الذي يتم عرضه كاسم اللوحة.

SBTickets.showSidePanels()

عرض أو إخفاء اللوحات الجانبية.


الوسائط

show
اضبطه على false لإخفاء اللوحات.

SBTickets.setAgent()

الحصول على تفاصيل الوكيل وملء منطقة ملف تعريف الوكيل في اللوحة اليمنى.


الوسائط

agent_id
معرف الوكيل.

SBTickets.activateConversation()

تنشيط وعرض محادثة.


الوسائط

conversation
المحادثة التي سيتم تنشيطها ككائن SBConversation.

SBTickets.selectConversation()

تعيين نمط محادثة في اللوحة اليسرى كمحادثة نشطة.


الوسائط

conversation_id
معرف المحادثة.

SBTickets.getActiveConversation()

يعيد عنصر HTML DOM للمحادثة النشطة.


الوسائط

type
اضبطه على ID للحصول فقط على معرف المحادثة.

جافا سكريبت API
Pusher

Pusher

قائمة الدوال لـ Pusher. لمزيد من التفاصيل، انظر pusher.com.


SBPusher.init()

تهيئة Pusher وتنفيذ وظيفة اختيارية عند اكتمال التهيئة.


الوسائط

onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

SBPusher.start()

بدء Pusher وإرسال الإشعارات. قم بتشغيل هذه الوظيفة بعد SBPusher.init() وبعد أن يكون المستخدم نشطًا.


SBPusher.subscribe()

الاشتراك في قناة Pusher للمستخدم النشط.


الوسائط

channel_name
اسم القناة.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

المعلومات

  • إذا لم يتم تهيئة Pusher، فإن الوظيفة تقوم تلقائيًا بتهيئته.
  • يمكنك الوصول إلى القناة من SBPusher.channels['CHANNEL NAME'].

SBPusher.event()

الاشتراك في حدث من قناة Pusher وتنفيذ الوظيفة المعطاة عند تلقي الحدث.


الوسائط

event
اسم الحدث.
callback
وظيفة للتنفيذ عند تلقي الحدث. الصيغة: function(response) { ... }.
channel
اسم القناة. الافتراضي: private-user-[معرف المستخدم النشط].

المعلومات

  • إذا لم يتم تهيئة Pusher، فإن الوظيفة تقوم تلقائيًا بتهيئته.
  • إذا لم يكن المستخدم مشتركًا في القناة، فإن الوظيفة تقوم تلقائيًا بالاشتراك.

SBPusher.trigger()

تفعيل حدث على قناة Pusher.


الوسائط

event
اسم الحدث.
data
مصفوفة من القيم. الصيغة: { "name": "value" }.
channel
اسم القناة. الافتراضي: private-user-[معرف المستخدم النشط].

SBPusher.presence()

الاشتراك في قناة الحضور المستخدمة لحالة الاتصال بالإنترنت للمستخدمين والمديرين.


الوسائط

index
فهرس قناة الحضور. الافتراضي: 1.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

المعلومات

  • إذا لم يتم تهيئة Pusher، فإن الوظيفة تقوم تلقائيًا بتهيئته.

SBPusher.presenceUnsubscribe()

إلغاء الاشتراك في قناة الحضور.


SBPusher.pushNotification()

إرسال إشعار دفع إلى آخر وكيل في المحادثة، أو إلى جميع الوكلاء إذا لم يرد أي وكيل بعد.


الوسائط

message
نص الرسالة.

المعلومات

  • تعمل هذه الوظيفة فقط إذا كانت إشعارات الدفع مفعلة في منطقة الإعدادات.
  • حاليًا، تدعم إشعارات الدفع فقط على أجهزة Mac وWindows وAndroid. لا تدعم أجهزة iPhone وiOS.
  • لمزيد من التفاصيل انقر هنا.

جافا سكريبت API
وظائف أخرى

وظائف أخرى

قائمة بالوظائف المتنوعة التي تقوم بمهام مختلفة.


SBF.translate()

ترجمة سلسلة إلى لغة المستخدم النشط.


الوسائط

string
السلسلة المراد ترجمتها.

المعلومات

  • يعيد السلسلة المترجمة إذا كانت متوفرة، وإلا يعيد السلسلة الأصلية.
  • تعمل هذه الوظيفة فقط للترجمات الخاصة بالواجهة الأمامية.
  • لمزيد من التفاصيل حول اللغة النشطة تحقق من وثائق الترجمات.

SBF.activeUser()

يعيد المستخدم النشط ككائن SBUser، ويعيد false إذا لم يتم العثور على المستخدم النشط.


تمثيل JSON للمستخدم النشط

        {
            "details": {
                "id": "914",
                "profile_image": "https://alfchatbot.com/user.svg",
                "first_name": "User",
                "last_name": "#23262",
                "email": null,
                "user_type": "visitor",
                "token": "bc308e274473fb685a729abe8a4bf82d3c49cd2f"
            },
            "extra": {},
            "conversations": []
        }
    

المعلومات

  • لطرق المستخدم والمزيد من التفاصيل، راجع وثائق SBUser.

SBF.getActiveUser()

تفعيل المستخدم المسجل وإعادة تفاصيل المستخدم.


الوسائط

db
اضبطه على true للتحقق من أن المستخدم موجود في قاعدة البيانات.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

الاستجابة

    {
        "id": "914",
        "profile_image": "https://alfchatbot.com/user.svg",
        "first_name": "Don",
        "last_name": "John",
        "email": "hello@example.com",
        "user_type": "user",
        "token": "bc308e274473fb685a729abe8a4bf82d3c49cd2f"
    }

المعلومات

  • لطرق المستخدم والمزيد من التفاصيل، راجع وثائق SBUser.

SBF.cors()

تنفيذ طلب HTTP POST أو GET إلى عنوان URL وإرجاع الاستجابة.


الوسائط

method
أدخل POST أو GET. الافتراضي: GET.
url
أدخل عنوان URL الكامل للطلب.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

SBF.null()

تحقق مما إذا كانت متغير موجودًا أو فارغًا.


الوسائط

variable
المتغير للتحقق منه.

المعلومات

  • يعيد true إذا كان المتغير سلسلة فارغة، null، 'null'، غير معرف.

SBF.deactivateAll()

إخفاء جميع النوافذ المنبثقة والنوافذ. تُستخدم هذه الوظيفة بشكل أساسي في منطقة الإدارة.


SBF.getURL()

البحث عن معلمة في عنوان URL وإرجاع قيمتها أو إرجاع مصفوفة بجميع المعلمات.


الوسائط

name
المعلمة للبحث. يُعاد false إذا لم يتم العثور على المعلمة. إذا لم يتم توفير اسم المعلمة، تُعاد مصفوفة بجميع المعلمات بدلاً من ذلك. الافتراضي: false.
url
عنوان URL الذي سيتم استخراج المعلمات منه. الافتراضي: العنوان الحالي.

SBF.restoreJson()

تحويل سلسلة مشفرة بصيغة JSON إلى نص عادي.


الوسائط

value
السلسلة للتحويل.

SBF.stringToSlug()

تحويل سلسلة إلى شريحة (slug) عن طريق إزالة جميع الأحرف الخاصة، واستبدال جميع المسافات بالحرف -، وجعل السلسلة بالحروف الصغيرة.


الوسائط

value
السلسلة للتحويل.

المعلومات

  • استخدم الوظيفة slugToString(slug) لتحويل شريحة (slug) إلى سلسلة مرة أخرى.

SBF.settingsStringToArray()

تحويل سلسلة إلى مصفوفة من القيم. صيغة السلسلة: name:value,name:value,....


الوسائط

value
السلسلة للتحويل.

الاستجابة

    {
        "name": "value",
        "name": "value",
        ...
    }

SBF.random()

يعيد سلسلة عشوائية تتكون من أحرف وأرقام.


SBF.isAgent()

تحقق مما إذا كان نوع المستخدم وكيلًا. يعيد true فقط إذا كان نوع المستخدم هو agent، أو admin، أو bot.


الوسائط

user_type
سلسلة نوع المستخدم للتحقق.

SBF.error()

تفعيل خطأ JavaScript مخصص من Alfchatbot.


الوسائط

message
سلسلة تحتوي على رسالة الخطأ أو كائن Error.

SBF.errorValidation()

تحقق مما إذا كانت الاستجابة من مكالمة AJAX هي خطأ في التحقق.


الوسائط

response
الاستجابة من مكالمة AJAX.

SBF.login()

تسجيل دخول مستخدم أو وكيل. يمكن إتمام تسجيل الدخول بطريقتين: عبر البريد الإلكتروني وكلمة المرور، أو عبر معرّف المستخدم ورمز التوثيق.


الوسائط

email
البريد الإلكتروني للمستخدم لتسجيل الدخول. إذا تم تعيين هذه الخاصية، يجب تعيين كلمة المرور أيضًا. الافتراضي: سلسلة فارغة.
password
كلمة المرور للمستخدم لتسجيل الدخول. إذا تم تعيين هذه الخاصية، يجب تعيين البريد الإلكتروني أيضًا. الافتراضي: سلسلة فارغة.
user_id
معرّف المستخدم لتسجيل الدخول. إذا تم تعيين هذه الخاصية، يجب تعيين الرمز أيضًا. الافتراضي: سلسلة فارغة.
token
رمز التوثيق للمستخدم لتسجيل الدخول. إذا تم تعيين هذه الخاصية، يجب تعيين معرّف المستخدم أيضًا. يمكنك الحصول على الرمز من منطقة Users بفتح صندوق الملف الشخصي للمستخدم، فقط إذا كنت مشرفًا. الافتراضي: سلسلة فارغة.
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }. الافتراضي: false.

الاستجابة

                                [
                                    {
                                        "id": "913",
                                        "profile_image": "https://alfchatbot.com/user.svg",
                                        "first_name": "Don",
                                        "last_name": "John",
                                        "email": "support@alfchatbot.com",
                                        "user_type": "user",
                                        "token": "9b25351047ee758aa97ee4868d130cc1ceb8decf"
                                    },
                                    "YXNkWGNSeTdtRTdDYVkxVG8wckN4YWF6V2s0Tk1mczBSVHdQbHBpOWdmejVUTTdOUUxEUENhdUVoYmROWn..."
                                ]
                            

يعيد false إذا كان تسجيل الدخول غير ناجح.


SBF.logout()

تسجيل خروج المستخدم المسجل حاليًا وإعادة تحميل الصفحة.


SBF.loginCookie()

إنشاء أو تحديث ملف تعريف الارتباط لتسجيل الدخول.


الوسائط

value
سلسلة تسجيل الدخول المشفرة.

SBF.reset()

تسجيل خروج المستخدم المسجل حاليًا، إزالة جميع البيانات المخزنة في Alfchatbot، وإعادة تحميل الصفحة.


عرض المحتوى المقدم في نافذة منبثقة (lightbox).


الوسائط

content
المحتوى للعرض. يمكن أن يكون أي محتوى HTML، لعرض صورة استخدم الكود <img src="image.jpg" >.

SBF.storage()

إدارة التخزين المحلي لـ Alfchatbot. التخزين المحلي هو تقنية تحفظ أي بيانات في المتصفح، بشكل دائم.


الوسائط

key
معرّف القيمة للتعيين أو الاسترجاع.
value
القيمة للحفظ. إذا لم يتم تعيينها، تعيد الوظيفة قيمة المفتاح المعطى.

SBF.storageTime()

حفظ مفتاح وتاريخ ووقت الحاليين في التخزين المحلي للتحقق في المستقبل مما إذا كان ضمن عدد الساعات المعطاة أو إذا كان قد انتهت صلاحيته.


الوسائط

key
المفتاح للحفظ أو التحقق.
hours
عدد الساعات للمقارنة مع التاريخ والوقت المحفوظين.

الاستجابة

إذا كانت خاصية hours محددة، تعيد true إذا كان مجموع التاريخ والوقت المحفوظين والساعات المعطاة أقل من التاريخ والوقت الحالي، خلاف ذلك، تعيد false. مثال: إذا كان الوقت المحفوظ هو 5:00 مساءً، وأدخلت 3، ستعيد الوظيفة true فقط إذا كان الوقت الحالي هو 8:01 مساءً أو أكثر.


SBF.setting()

يعيد قيمة إعداد.


الوسائط

value

الإعدادات المتاحة

بعض من الإعدادات المتاحة والقيم في القائمة أدناه.

                                {
                                    "registration-required": "",
                                    "registration-timetable": false,
                                    "registration-offline": false,
                                    "registration-link": "",
                                    "visitors-registration": false,
                                    "privacy": false,
                                    "popup": true,
                                    "popup-mobile-hidden": true,
                                    "welcome": false,
                                    "welcome-trigger": "open",
                                    "welcome-delay": 0,
                                    "follow": false,
                                    "follow-delay": "1000",
                                    "chat-manual-init": false,
                                    "chat-login-init": false,
                                    "sound": ["code": "n", "volume": 0.5, "repeat": 5],
                                    "header-name": true,
                                    "desktop-notifications": "all",
                                    "flash-notifications": "all",
                                    "push-notifications": true,
                                    "notifications-icon": "",
                                    "bot-id": "377",
                                    "bot-name": "Bruce Peterson",
                                    "bot-image": "",
                                    "bot-delay": 0,
                                    "bot-office-hours": false,
                                    "dialogflow-active": true,
                                    "dialogflow-human-takeover": false,
                                    "slack-active": false,
                                    "rich-messages": [
                                        "email",
                                        "registration",
                                        "login",
                                        "timetable",
                                        "articles",
                                        "immagine",
                                        "video"
                                    ],
                                    "display-users-thumb": true,
                                    "hide-agents-thumb": true,
                                    "notify-user-email": true,
                                    "notify-agent-email": false,
                                    "translations": false,
                                    "auto-open": false,
                                    "office-hours": true,
                                    "disable-office-hours": false,
                                    "disable-offline": false,
                                    "timetable": false,
                                    "timetable-hide": [
                                        false,
                                        "checkbox"
                                    ],
                                    "articles": true,
                                    "articles-title": "",
                                    "init-dashboard": false,
                                    "wp": false,
                                    "wp-users-system": "sb",
                                    "queue": false,
                                    "queue-message": "",
                                    "queue-message-success": "",
                                    "queue-response-time": "",
                                    "routing": false,
                                    "webhooks": true,
                                    "agents-online": false,
                                    "timetable-message": "",
                                    "tickets-registration-required": true,
                                    "tickets-registration-redirect": "",
                                    "tickets-default-form": "login",
                                    ...
                                }
                            

SBF.shortcode()

تحويل الرمز القصير إلى مصفوفة تحتوي على اسم الرمز القصير وإعدادات الرمز القصير.


الوسائط

SBF.shortcode()

تحويل الرمز القصير إلى مصفوفة تحتوي على اسم الرمز القصير وإعدادات الرمز القصير.


الوسائط

shortcode
سلسلة الرمز القصير. مثال: [rating title="Rate your conversation" message="Tell us your experience." success="Thank you!"].

الاستجابة

                                [
                                    "rating",
                                    {
                                        "title": "Rate your conversation",
                                        "message": "Tell us your experience.",
                                        "success": "Thank you!"
                                    }
                                ]
                            

SBF.openWindow()

فتح صفحة ويب في نافذة جديدة.


الوسائط

link
الرابط لفتحه.
width
عرض النافذة بوحدة البيكسل.
height
ارتفاع النافذة بوحدة البيكسل.

SBF.loadResource()

تضمين ملف .js أو .css في منطقة <head< من الصفحة.


الوسائط

url
عنوان URL للملف لتحميله.
script
تعيين إلى true لملفات .js. الافتراضي: ملفات .css.

SBF.debounce()

تنفيذ الوظيفة المعطاة مرة واحدة فقط في فترة معينة، تأخير بالميلي ثانية بعد آخر استدعاء لها، ويُعاد تعيين المؤقت في كل مرة يُستدعى فيها.


الوسائط

bounceFunction
الوظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function() { ... }.
id
إدراج سلسلة فريدة وعشوائية لم تُستخدم من قبل في حالات الإرجاع الأخرى. السلاسل #1، #2، #3، #4، ... محجوزة ولا يمكن استخدامها.
interval
الحد الأدنى للفجوة الزمنية بالميلي ثانية بين التنفيذ الجديد والسابقة. الافتراضي: 500.

SBF.translate()

ترجمة سلسلة باستخدام ترجمات Alfchatbot.


الوسائط

string
السلسلة المراد ترجمتها.

SBF.escape()

تهريب سلسلة.


الوسائط

string
السلسلة التي سيتم تهريبها.

SBF.convertUTCDateToLocalDate()

تحويل التاريخ إلى الوقت المحلي.


الوسائط

datetime
سلسلة التاريخ والوقت. الصيغة: Y/m/d H:i:s.
UTCoffset
تعويض UTC. الافتراضي: 0.

الاستجابة

Mon Jan 30 2023 10:45:00 GMT+0000 (Greenwich Mean Time)

SBF.getLocationTimeString()

يعيد سلسلة تحتوي على الموقع والوقت المحلي الحالي للمنطقة الزمنية المعطاة.


الوسائط

details
مصفوفة تحتوي على تفاصيل الموقع. مثال: { "timezone" : "", "country" : "", "city" : "" }. تقبل هذه الوظيفة extra من أي SBUser كائن. مثال: SBF.getLocationTimeString(activeUser().extra, function(){}).
onSuccess
وظيفة للتنفيذ عند اكتمال الوظيفة. الصيغة: function(response) { ... }.

الاستجابة

05:15 AM in London, United Kingdom

SBF.beautifyTime()

تحويل التاريخ إلى التنسيق المحلي وإجراء تحسينات أخرى لجعل التاريخ أكثر ودية.


الوسائط

date
التاريخ والوقت بالصورة التالية: YYYY-MM-DD HH:MM:SS. مثال: 2020-05-13 13:35:59. يمكنك إزالة الوقت وترك التاريخ فقط. التواريخ المخزنة في قاعدة البيانات هي بتوقيت UTC+0.
extended
تعيينه إلى true لتضمين الدقائق والثواني. الافتراضي: false.
future
تعيينه إلى true إذا كان التاريخ هو تاريخ مستقبلي. الافتراضي: false.

الاستجابة

<span>30/01/2023</span>

SBF.dateDB()

تحويل تنسيق التاريخ إلى تنسيق التاريخ الخاص بقاعدة البيانات وضبط UTC على +0.


الوسائط

date
التاريخ والوقت بالتنسيق التالي: YYYY-MM-DD HH:MM:SS. مثال: 2020-05-13 13:35:59. يمكنك إزالة الوقت وترك التاريخ فقط. أدخل now للحصول على التاريخ والوقت الحالي. التواريخ المخزنة في قاعدة البيانات هي بتوقيت UTC+0.

SBF.UTC()

يعيد التاريخ والوقت المحددين بتنسيق unix باستخدام تعويض UTC المحدد في الإعدادات > متفرقات > تعويض UTC.


الوسائط

datetime
سلسلة التاريخ والوقت.

الاستجابة

1675075500000

SBF.unix()

الحصول على قيمة الطابع الزمني unix لسلسلة التاريخ والوقت بتنسيق yyyy-mm-dd hh:mm:ss.


الوسائط

datetime
سلسلة التاريخ والوقت.

الاستجابة

1675075500000

JAVASCRIPT API
الأحداث

الأحداث

تتيح لك الأحداث اعتراض إجراءات Alfchatbot في الوقت الفعلي وتنفيذ رمز JavaScript مخصص عندما يتم تشغيل إجراء.

الاستخدام

استخدم الكود أدناه واستبدل EVENT-NAME باسم الحدث. يمثل response القيمة المرتجعة إذا كان هناك سمة واحدة فقط، وإلا فهو مصفوفة من القيم. JQuery مطلوب.

        $(document).on("EVENT-NAME", function (e, response) {
            // أدخل كودك هنا
        });
    

مثال:

        $(document).on("SBMessageSent", function (e, response) {
            console.log(response["user_id"]);
            console.log(response["conversation_id"]);
            console.log(response["message"]);
        });
    

SBReady

الحدث الذي يتم إطلاقه عند تحميل الصفحة بعد تحميل نص الشات main.js. يتم إطلاق هذا الحدث أيضًا في منطقة الإدارة.


SBInit

الحدث الذي يتم إطلاقه عند تحميل الصفحة عندما يكتمل الشات التهيئة.


SBTicketsInit

الحدث الذي يتم إطلاقه عند تحميل الصفحة عندما تكتمل تهيئة منطقة التذاكر. هذا الحدث متاح فقط عندما تكون تطبيقات التذاكر نشطة.


SBLogout

الحدث الذي يتم إطلاقه عندما يقوم المستخدم النشط بتسجيل الخروج.


SBError

الحدث الذي يتم إطلاقه عندما يحدث خطأ في Alfchatbot.


الاستجابة

message
رسالة الخطأ.
function_name
اسم الدالة التي تسببت في الخطأ.

SBDoubleLoginError

الحدث الذي يتم إطلاقه عند تهيئة الشات إذا كان وكيل أو مسؤول قد سجل الدخول بالفعل.


SBUserDeleted

الحدث الذي يتم إطلاقه عندما يتم حذف مستخدم.


الاستجابة

معرف المستخدم الذي تم حذفه.

SBMessageSent

الحدث الذي يتم إطلاقه عندما يتم إرسال رسالة جديدة.


الاستجابة

user_id
معرف المستخدم الذي أرسل الرسالة.
user
كائن المستخدم.
conversation_id
معرف المحادثة المرتبط بالرسالة.
conversation_status
رمز الحالة للمحادثة المرتبطة بالرسالة. رموز الحالة: مباشر = 0، في انتظار رد من المستخدم = 1، في انتظار رد من الوكيل = 2، أرشيف = 3، سلة المهملات = 4.
message_id
معرف الرسالة.
message
نص الرسالة.
attachments
المرفقات الخاصة بالرسالة.

SBBotMessage

الحدث الذي يتم إطلاقه عندما يرد بوت Dialogflow على رسالة.


الاستجابة

response
مصفوفة الاستجابة بتنسيق JSON من Dialogflow.
message
رسالة المستخدم المدخلة.

SBSlackMessageSent

الحدث الذي يتم إطلاقه عندما يتم إرسال رسالة إلى Slack.


الاستجابة

message
نص الرسالة.
conversation_id
معرف المحادثة المرتبط بالرسالة.

SBEmailSent

الحدث الذي يتم إطلاقه عندما يتم إرسال بريد إلكتروني إشعاري إلى مستخدم أو وكيل.


الاستجابة

recipent_id
معرف المستخدم الذي سيتلقى البريد الإلكتروني.
message
رسالة البريد الإلكتروني.
attachments
المرفقات الخاصة بالبريد الإلكتروني.

SBNotificationsUpdate

الحدث الذي يتم إطلاقه عندما يتم تحديث عداد الإشعارات الأحمر على زر الدردشة الذي ينبه المستخدم برسائل جديدة ومحادثات جديدة.


الاستجابة

action
قيمة الإجراء يمكن أن تكون add إذا تم زيادة العداد بواحد، أو remove إذا تم تقليل العداد بواحد.
conversation_id
قيمة الإجراء يمكن أن تكون add إذا تم زيادة العداد بواحد، أو remove إذا تم تقليل العداد بواحد.

SBConversationOpen

الحدث الذي يتم إطلاقه عندما يتم تحميل المحادثة بالكامل وفتحها في الدردشة.


الاستجابة

response
المحادثة ككائن SBConversation.

SBNewMessagesReceived

الحدث الذي يتم إطلاقه عندما تكون هناك رسائل جديدة في المحادثة النشطة.


الاستجابة

قائمة الرسائل الجديدة. كل رسالة هي كائن SBMessage.
response
الرسالة الفردية ككائن SBMessage أو مصفوفة من SBMessage الكائنات.

SBMessageDeleted

الحدث الذي يتم إطلاقه عندما يتم حذف رسالة.


الاستجابة

معرف الرسالة التي تم حذفها.

SBNewConversationReceived

الحدث الذي يتم إطلاقه عندما يتم تلقي محادثة جديدة.


الاستجابة

المحادثة الجديدة ككائن SBConversation.

SBNewConversationCreated

الحدث الذي يتم إطلاقه عندما يتم إنشاء محادثة جديدة.


الاستجابة

المحادثة الجديدة ككائن SBConversation.

SBActiveConversationChanged

الحدث الذي يتم إطلاقه عندما يتم تغيير المحادثة النشطة.


الاستجابة

المحادثة النشطة الجديدة ككائن SBConversation.

SBActiveConversationStatusUpdated

الحدث الذي يتم إطلاقه عندما يتم تحديث رمز حالة المحادثة النشطة.


الاستجابة

conversation_id
معرف المحادثة.
status_code
رمز الحالة الجديد للمحادثة. رموز الحالة: مباشر = 0، في انتظار رد من المستخدم = 1، في انتظار رد من الوكيل = 2، أرشيف = 3، سلة المهملات = 4.

SBChatOpen

الحدث الذي يتم إطلاقه عندما يتم فتح الدردشة.


SBChatClose

الحدث الذي يتم إطلاقه عندما يتم إغلاق الدردشة.


SBQueueUpdate

الحدث الذي يتم إطلاقه عندما تبدأ الطابور وفي كل مرة يتم فيها تحديث الطابور.


الاستجابة

موقع المستخدم في الطابور. إذا كان الموقع 0 فإن الطابور انتهى ويمكن للمستخدم بدء الدردشة.

SBBusy

الحدث الذي يتم إطلاقه عندما يتغير حالة انشغال الدردشة. تكون الدردشة مشغولة إذا كانت تعمل، مثل إرسال رسالة. عندما تكون الدردشة مشغولة لا يمكن تنفيذ بعض الوظائف، مثل إرسال رسالة جديدة.


الاستجابة

true إذا كانت الدردشة مشغولة، خلاف ذلك false.


SBDashboard

الحدث الذي يتم إطلاقه عندما يتم عرض لوحة القيادة.


SBDashboardClosed

الحدث الذي يتم إطلاقه عندما يتم إغلاق لوحة القيادة وعرض محادثة بدلاً منها.


SBTyping

الحدث الذي يتم إطلاقه عندما يكون المستخدم أو الوكيل يكتب في المحرر.


الاستجابة

true إذا كان المستخدم أو الوكيل يكتب، خلاف ذلك false.


SBArticles

الحدث الذي يتم إطلاقه عندما يتم عرض لوحة المقالات أو عندما يتم فتح مقال واحد.


الاستجابة

id
معرف المقال. تكون هذه القيمة -1 إذا تم عرض لوحة المقالات.
articles
يمكن أن تكون المصفوفة تحتوي على تفاصيل المقالة الواحدة أو المصفوفة مع قائمة بجميع المقالات.

SBPrivacy

الحدث الذي يتم إطلاقه عند تهيئة الدردشة إذا تم عرض نموذج الخصوصية.


SBPopup

الحدث الذي يتم إطلاقه عندما يتم عرض رسالة منبثقة.


الاستجابة

المصفوفة التي تحتوي على محتويات الرسالة المنبثقة: { image: "", title: "", message: "" }.


SBFollowUp

الحدث الذي يتم إطلاقه عندما يتم إرسال رسالة متابعة.


SBWelcomeMessage

الحدث الذي يتم إطلاقه عندما يتم إرسال رسالة الترحيب.


SBLoginForm

الحدث الذي يتم إطلاقه عندما يقوم المستخدم بتسجيل الدخول بنجاح من نموذج تسجيل الدخول في الدردشة. يتم إطلاق هذا الحدث فقط إذا كان تسجيل الدخول ناجحًا.


الاستجابة

المستخدم ككائن SBUser.

SBRegistrationForm

الحدث الذي يتم إطلاقه عندما يقوم المستخدم بالتسجيل بنجاح من نموذج التسجيل في الدردشة. يتم إطلاق هذا الحدث فقط إذا كان التسجيل ناجحًا. يتم إطلاق هذا الحدث أيضًا إذا تم تحديث التسجيل عبر نموذج الرسائل الغنية.


الاستجابة

user
مصفوفة تحتوي على تفاصيل المستخدم.
extra
مصفوفة تحتوي على تفاصيل إضافية للمستخدم.

SBRichMessageSubmit

الحدث الذي يتم إطلاقه عندما يتم تلقي استجابة من رسالة غنية.


الاستجابة

result
استجابة الرسالة الغنية.
data
تفاصيل الرسالة الغنية والبيانات التي أرسلها المستخدم.
id
معرف الرسالة الغنية.

SBAttachments

الحدث الذي يتم إطلاقه عندما يقوم المستخدم بإرفاق ملف.


SBNewEmailAddress

الحدث الذي يتم إطلاقه عندما يسجل المستخدم بريده الإلكتروني عبر رسالة متابعة أو نموذج التسجيل.


الاستجابة

name
الاسم الكامل للمستخدم.
email
البريد الإلكتروني للمستخدم.
ID
معرف الرسالة الغنية.

SBPanelActive

الحدث الذي يتم إطلاقه عندما يتم فتح لوحة من منطقة التذاكر. يتوفر هذا الحدث فقط عندما يكون تطبيق التذاكر نشطًا.


الاستجابة

name
اسم اللوحة النشطة. القيم: new-ticket, privacy, articles, edit-profile, login, registration. إذا كانت القيمة فارغة فإن منطقة المحادثة الرئيسية نشطة.
email
البريد الإلكتروني للمستخدم.

SBWoocommerceCartUpdated

الحدث الذي يتم إطلاقه عندما تضيف الدردشة منتجًا إلى عربة تسوق WooCommerce في WordPress. في معظم الحالات، يتم إطلاق هذا الحدث بواسطة روبوت الدردشة Dialogflow.


الاستجابة

action
cart-add أو cart-remove.
product
اسم المنتج أو المعرف.

SBBotPayload

الحدث الذي يتم إطلاقه عندما تحتوي رسالة Dialogflow على حمولة Alfchatbot. أمثلة الحمولة: human-takeover, redirect, woocommerce-update-cart, woocommerce-checkout.


الاستجابة

اسم الحمولة.


SBBotAction

الحدث الذي يتم إطلاقه عندما تحتوي رسالة Dialogflow على إجراء Dialogflow. حاليًا، يتوفر فقط الإجراء end (إنهاء المحادثة).


الاستجابة

اسم الإجراء.


SBSMSSent

الحدث الذي يتم إطلاقه عندما يتم إرسال إشعار رسالة نصية إلى مستخدم أو وكيل.


الاستجابة

recipent_id
معرف المستخدم الذي سيتلقى الرسالة النصية.
message
نص الرسالة النصية.
response
استجابة Twilio.

SBActiveUserLoaded

الحدث الذي يتم إطلاقه عندما يتم تحميل المستخدم النشط.


الاستجابة

recipent_id
معرف المستخدم الذي سيتلقى الرسالة النصية.
message
نص الرسالة النصية.
response
استجابة Twilio.

متنوعات
AJAX

وظائف AJAX

قائمة وظائف AJAX. وظائف AJAX مشابهة لـ WEB API، حيث تستخدم نفس اسم الدالة، ونفس المعلمات، وتعيد نفس الاستجابات. استخدم الدالة أدناه لبدء مكالمة AJAX:

    SBF.ajax({
        function: 'FUNCTION-NAME',
        parameter: value,
        parameter: value,
        ...
    }, (response) => {

       // أضف الشيفرة الخاصة بك هنا

    });

استبدل FUNCTION-NAME باسم إحدى الدوال أدناه. استبدل قائمة parameter: value بمعلمات الدالة.

المعلمات والاستجابات هي نفسها كما في WEB API. الاستجابة بصيغة JSON.

تحذير! لا تقم بتضمين الرمز المميز في المعلمات. يجب دائمًا الحفاظ على سرية الرمز المميز.

الدوال


اسم الدالة المتطلبات المعلمات والاستجابة
saved-replies
الردود المحفوظة
get-settings
  • دالة إدارية. يجب أن يكون المستخدم النشط مدير.
الحصول على الإعدادات
save-settings
  • دالة إدارية. يجب أن يكون المستخدم النشط مدير.
حفظ الإعدادات
is-online
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
هل هو متصل
add-user
  • يجب إدراج سمات تفاصيل المستخدم الرئيسية في السمة settings كمصفوفة، وتصبح السمات extra extra_settings. يجب إحاطة كل قيمة سمة بمصفوفة. مثال:
    SBF.ajax({ function: "update-user", user_id: SBF.activeUser().id, settings: { first_name: ["Jack"], email: ["example@email.com"] }, settings_extra: { phone: ["+123456789"] }});
  • دالة إدارية. يجب أن يكون المستخدم النشط مدير.
إضافة مستخدم
add-user-and-login
إضافة مستخدم
get-user
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع معرّف المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي مستخدم.
الحصول على المستخدم
get-users
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
الحصول على المستخدمين
get-new-users
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
الحصول على المستخدمين الجدد
get-user-extra
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي مستخدم.
الحصول على بيانات المستخدم الإضافية
get-user-language
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
الحصول على لغة المستخدم
get-online-users
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
الحصول على المستخدمين المتصلين
get-user-from-conversation
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
الحصول على المستخدم من المحادثة
agents-online
الوكلاء المتصلون
search-users
search-users
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
بحث عن المستخدمين
delete-user
  • دالة إدارية. يجب أن يكون المستخدم النشط مدير.
حذف المستخدم
delete-users
  • دالة إدارية. يجب أن يكون المستخدم النشط مدير.
حذف المستخدمين
update-user
  • يجب إدراج سمات تفاصيل المستخدم الرئيسية في السمة settings كمصفوفة، وتصبح السمات extra extra_settings. يجب إحاطة كل قيمة سمة بمصفوفة. مثال:
    SBF.ajax({ function: "update-user", user_id: SBF.activeUser().id, settings: { first_name: ["Jack"], email: ["example@email.com"] }, settings_extra: { phone: ["+123456789"] }});
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي مستخدم.
تحديث المستخدم
update-user-to-lead
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي مستخدم.
تحديث المستخدم إلى عميل محتمل
count-users
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
عدّ المستخدمين
get-conversations
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
  • قم بتضمين الحجة routing بقيمة true إذا كانت الطابور أو التوجيه مفعلة في الإعدادات > متنوع. قم بتضمينها كآخر حجة. القيمة الافتراضية: false.
الحصول على المحادثات
get-new-conversations
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
  • قم بتضمين الحجة queue بقيمة true إذا كانت الطابور أو التوجيه مفعلة في الإعدادات > متنوع. قم بتضمينها كآخر حجة. القيمة الافتراضية: false.
الحصول على المحادثات الجديدة
get-conversation
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع محادثات المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع محادثات أي مستخدم.
الحصول على المحادثة
get-user-conversations
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المحادثات الخاصة بالمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع محادثات أي مستخدم.
الحصول على محادثات المستخدم
get-new-user-conversations
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المحادثات الجديدة الخاصة بالمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع المحادثات الجديدة لأي مستخدم.
الحصول على محادثات المستخدم الجديدة
search-conversations
  • دالة إدارية. يجب أن يكون المستخدم النشط وكيل أو مدير.
البحث عن المحادثات
search-user-conversations
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المحادثات الخاصة بالمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع محادثات أي مستخدم.
  • الحجة user_id غير مطلوبة. القيمة الافتراضية: معرف المستخدم النشط.
البحث عن محادثات المستخدم
new-conversation
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي مستخدم.
محادثة جديدة
update-conversation-status
تحديث حالة المحادثة
update-conversation-department
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المحادثات الخاصة بالمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي محادثة.
تحديث القسم
update-conversation-agent
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المحادثات الخاصة بالمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي محادثة.
تحديث الوكيل
get-new-messages
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي مستخدم.
الحصول على الرسائل الجديدة
send-message
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي مستخدم.
إرسال رسالة
send-email
  • إذا كان المستخدم النشط هو مستخدم، يمكن إرسال البريد الإلكتروني فقط إلى وكلاء أو مديرين. إذا كان المستخدم النشط هو وكيل أو مدير، يمكن إرسال البريد الإلكتروني إلى أي مستخدم.
إرسال بريد إلكتروني
send-slack-message
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي مستخدم.
إرسال رسالة Slack
update-message
  • إذا كان المستخدم النشط هو مستخدم، تعمل الدالة فقط مع رسائل المستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مدير، تعمل الدالة مع أي رسالة مستخدم.
تحديث الرسالة
update-messages-status
  • If the active user is a user the function works only for the active user messages. If the active user is an agent or an admin the function works for any user message.
Update messages status
delete-message
  • If the active user is a user the function works only for the active user messages. If the active user is an agent or an admin the function works for any user message.
Delete message
slack-users
  • Admin function. The active user must be an agent or an admin.
Slack users
archive-slack-channels
  • Admin function. The active user must be an agent or an admin.
Archive Slack channels
slack-channels
  • Admin function. The active user must be an admin.
Slack channels
current-url
Current URL
set-rating
  • If the active user is a user the function works only for the conversations of the active user. If the active user is an agent or an admin the function works for the conversations of any user.
Set rating
get-rating
  • Admin function. The active user must be an agent or an admin.
Get rating
get-articles
Get articles
save-articles
  • Admin function. The active user must be an agent or an admin.
Save articles
search-articles
Search articles
get-articles-categories
  • Admin function. The active user must be an admin.
Get articles categories
save-articles-categories
  • Admin function. The active user must be an admin.
Save articles categories
article-ratings
Article ratings
get-versions
Get versions
update
  • Admin function. The active user must be an agent or an admin.
Update
app-get-key
  • Admin function. The active user must be an admin.
App get key
app-activation
  • Admin function. The active user must be an admin.
App activation
csv-users
  • Admin function. The active user must be an admin or an agent.
Csv users
transcript
  • If the active user is a user the function works only for the conversations of the active user. If the active user is an agent or an admin the function works for the conversations of any user.
Transcript
is-agent-typing
  • Admin function. The active user must be an admin or an agent.
Is agent typing
dialogflow-message
  • The function works only for the active user.
Send bot message
dialogflow-get-intents
  • Admin function. The active user must be an admin.
Dialogflow get Intents
dialogflow-create-intent
  • Admin function. The active user must be an admin.
Dialogflow create Intent
dialogflow-update-intent
  • Admin function. The active user must be an admin.
Dialogflow update Intent
dialogflow-entity
  • Admin function. The active user must be an admin.
Dialogflow Entity
dialogflow-get-entity
  • Admin function. The active user must be an admin or an agent.
Dialogflow get Entity
dialogflow-get-token
Dialogflow get token
dialogflow-get-agent
  • Admin function. The active user must be an admin or an agent.
Dialogflow get agent
dialogflow-set-active-context
  • If the active user is a user the function works only for the active user. If the active user is an agent or an admin the function works for any user.
Dialogflow set active context
dialogflow-curl
  • Admin function. The active user must be an admin.
Dialogflow curl
dialogflow-human-takeover
  • If the active user is a user the function works only for the active user. If the active user is an agent or an admin the function works for any user.
Dialogflow human takeover
dialogflow-smart-reply
  • Admin function. The active user must be an admin or an agent.
Dialogflow smart reply
cron-jobs
Cron jobs
woocommerce-get-customer
  • Admin function. The active user must be an admin or an agent.
Woocommerce get customer
woocommerce-get-user-orders
  • Admin function. The active user must be an admin or an agent.
Woocommerce get user orders
woocommerce-get-order
  • Admin function. The active user must be an admin or an agent.
Woocommerce get order
woocommerce-get-product
  • Admin function. The active user must be an admin or an agent.
Woocommerce get product
woocommerce-get-products
  • Admin function. The active user must be an admin or an agent.
Woocommerce get products
woocommerce-search-products
  • Admin function. The active user must be an admin or an agent.
Woocommerce search products
woocommerce-get-taxonomies
  • Admin function. The active user must be an admin.
Woocommerce get taxonomies
woocommerce-get-attributes
  • Admin function. The active user must be an admin.
Woocommerce get attributes
woocommerce-get-product-id-by-name
  • Admin function. The active user must be an admin or an agent.
Woocommerce get product ID by name
woocommerce-get-product-images
  • Admin function. The active user must be an admin or an agent.
Woocommerce get product images
woocommerce-get-product-taxonomies
  • Admin function. The active user must be an admin or an agent.
Woocommerce get product taxonomies
woocommerce-get-attribute-by-term
  • Admin function. The active user must be an admin or an agent.
Woocommerce get attribute by term
woocommerce-get-attribute-by-name
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
استرجاع سمة ووكومرس بالاسم
woocommerce-is-in-stock
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
التحقق من توفر المنتج في ووكومرس
woocommerce-coupon
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
رمز قسيمة ووكومرس
woocommerce-coupon-check
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
التحقق من قسيمة ووكومرس
woocommerce-coupon-delete-expired
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
حذف قسائم ووكومرس المنتهية
woocommerce-get-url
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
استرجاع عنوان URL لووكومرس
woocommerce-get-session
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول.
استرجاع جلسة ووكومرس
woocommerce-get-session-key
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
استرجاع مفتاح جلسة ووكومرس
woocommerce-payment-methods
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
طرق الدفع في ووكومرس
woocommerce-shipping-locations
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
مواقع الشحن في ووكومرس
chat-css
CSS
get-avatar
  • إذا كان المستخدم النشط هو مستخدم، فإن الوظيفة تعمل فقط للمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مسؤول، فإن الوظيفة تعمل لأي مستخدم.
استرجاع الصورة الرمزية
get-agents-ids
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
استرجاع معرفات الوكلاء
get-users-with-details
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
استرجاع المستخدمين مع التفاصيل
send-custom-email
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
إرسال بريد إلكتروني مخصص
send-sms
  • إذا كان المستخدم النشط هو مستخدم، فإن الوظيفة تعمل فقط للمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مسؤول، فإن الوظيفة تعمل لأي مستخدم.
إرسال رسالة نصية
email-piping
تمرير البريد الإلكتروني
get-notes
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
استرجاع الملاحظات
add-note
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
إضافة ملاحظة
delete-note
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
حذف ملاحظة
automations-get
استرجاع الأتمتة
automations-save
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول.
حفظ الأتمتة
automations-validate
التحقق من الأتمتة
automations-run-all
تشغيل جميع الأتمتة
automations-run
تشغيل الأتمتة
get-agents-in-conversation
  • إذا كان المستخدم النشط هو مستخدم، فإن الوظيفة تعمل فقط للمحادثات الخاصة بالمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مسؤول، فإن الوظيفة تعمل لأي محادثة.
استرجاع الوكلاء في المحادثة
get-departments
استرجاع الأقسام
login
تسجيل الدخول
logout
تسجيل الخروج
update-login
  • إذا كان المستخدم النشط هو مستخدم، فإن الوظيفة تعمل فقط للمحادثات الخاصة بالمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مسؤول، فإن الوظيفة تعمل لأي محادثة.
تحديث تسجيل الدخول
is-typing
يكتب
set-typing
تعيين الكتابة
clean-data
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
تنظيف البيانات
get-translation
استرجاع الترجمة
get-translations
استرجاع الترجمات
save-translations
  • وظيفة إدارية. يجب أن يكون المستخدم النشط وكيل أو مسؤول.
حفظ الترجمات
delete-leads
  • وظيفة إدارية. هذه وظيفة إدارية وتعمل فقط إذا كان المستخدم النشط هو مسؤول.
حذف العملاء المحتملين
reports
  • وظيفة إدارية. هذه وظيفة إدارية وتعمل فقط إذا كان المستخدم النشط هو مسؤول.
التقارير
reports-update
  • وظيفة إدارية. هذه وظيفة إدارية وتعمل فقط إذا كان المستخدم النشط هو مسؤول.
تحديث التقارير
direct-message
  • وظيفة إدارية. يجب أن يكون المستخدم النشط وكيل أو مسؤول.
رسالة مباشرة
count-conversations
  • وظيفة إدارية. يجب أن يكون المستخدم النشط وكيل أو مسؤول.
عدد المحادثات
updates-available
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول.
التحديثات المتاحة
google-translate
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
ترجمة جوجل
google-language-detection-update-user
  • إذا كان المستخدم النشط هو مستخدم، فإن الوظيفة تعمل فقط للمحادثات الخاصة بالمستخدم النشط. إذا كان المستخدم النشط هو وكيل أو مسؤول، فإن الوظيفة تعمل لأي محادثة.
تحديث اكتشاف لغة جوجل للمستخدم
export-settings
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول.
تصدير الإعدادات
import-settings
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول.
استيراد الإعدادات
check-conversations-assignment
  • وظيفة إدارية. يجب أن يكون المستخدم النشط مسؤول أو وكيل.
فحص تعيين المحادثات

وظائف AJAX الإضافية

الوظائف التالية متاحة فقط عبر AJAX.

إغلاق الرسالة

إرسال رسالة إغلاق إلى محادثة. يمكنك تعيين رسالة الإغلاق في الإعدادات > الدردشة.


المتطلبات

  • هذه وظيفة إدارية وتعمل فقط إذا كان المستخدم النشط هو وكيل.

المعلمات

function
إدراج إغلاق الرسالة.
bot_id
معرف البوت. استخدم الوظيفة SBF.setting("bot-id") للحصول على معرف البوت. إذا كنت في منطقة الإدارة استخدم بدلاً من ذلك SB_ADMIN_SETTINGS['bot-id'].
conversation_id
معرف المحادثة التي سيتم إرسال الرسالة إليها.

الاستجابة

                                {
                                    "success": true,
                                    "response": {
                                        "status": "success",
                                        "message-id": 123456,
                                        "queue": false
                                    }
                                }
                            

تحديث المستخدم والرسالة

تحديث تفاصيل المستخدم ومحتوى الرسالة.


المتطلبات

  • إذا كان المستخدم النشط هو مستخدم، يمكن تحديث المستخدم النشط فقط والرسائل المرتبطة بمحادثات المستخدم فقط. إذا كان المستخدم النشط هو وكيل أو مسؤول، تعمل الوظيفة لأي مستخدم وأي رسالة.

المعلمات

function
إدراج تحديث المستخدم والرسالة.
user_id
معرف المستخدم الذي سيتم تحديثه.
settings
مصفوفة تحتوي على تفاصيل المستخدم. تنسيق المصفوفة والقيم: { first_name: [""], last_name: [""], profile_image: [""], email: [""], user_type: [""] }
settings_extra
مصفوفة تحتوي على تفاصيل إضافية للمستخدم بتنسيق JSON.
تنسيق المصفوفة:
{ "ID": ["value", "Name"], "ID": ["value", "Name"], ...}
message_id
معرف الرسالة التي سيتم تحديثها.
message
نص الرسالة.
payload
مصفوفة ترابطية تحتوي على بيانات إضافية. مثال: {"rich-messages":{"123":{"type":"buttons","result":"Premium Plan"}}}.

الاستجابة

true

الحصول على تفاصيل الوكيل

يعيد تفاصيل الوكيل أو المسؤول أو البوت.


المعلمات

agent_id
معرف الوكيل.

الاستجابة

                                {
                                    "id": "2",
                                    "first_name": "Don",
                                    "last_name": "John",
                                    "department": null,
                                    "flag": "gb.png",
                                    "country_code": "GB",
                                    "details": [
                                        {
                                            "slug": "city",
                                            "name": "المدينة",
                                            "value": "London"
                                        },
                                        {
                                            "slug": "country",
                                            "name": "البلد",
                                            "value": "United Kingdom"
                                        },
                                        {
                                            "slug": "sport",
                                            "name": "البريد الإلكتروني",
                                            "value": "email@example.com"
                                        },
                                        {
                                            "slug": "timezone",
                                            "name": "المنطقة الزمنية",
                                            "value": "Europe/London"
                                        }
                                        ...
                                    ]
                                }
                            

البيانات التلقائية للمستخدم

استرجاع التفاصيل التالية عن المستخدم النشط وتحديث تفاصيل المستخدم: IP، المدينة، الموقع، البلد، المنطقة الزمنية، العملة، المتصفح، لغة المتصفح، نظام التشغيل.


المعلمات

user_id
معرف المستخدم.

الاستجابة

                                true