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

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

توفر واجهة برمجة التطبيقات (Web API) مجموعة من الأساليب التي تدعم معظم وظائف Alfchatbot. للبدء في استخدام واجهة برمجة التطبيقات، اتبع الدليل أدناه.

الاستخدام

قم بإجراء طلب POST إلى الملف include/api.php من تثبيت Alfchatbot الخاص بك. يمكنك استخدام الكود التالي لإجراء الطلبات:


                                                    function support_board_api($query) {
                                                        $ch = curl_init('YOUR-DOMAIN/alfchatbot/include/api.php');
                                                        $parameters = [
                                                                CURLOPT_RETURNTRANSFER => true,
                                                                CURLOPT_SSL_VERIFYPEER => false,
                                                                CURLOPT_USERAGENT => 'Alfchatbot',
                                                                CURLOPT_POST => true,
                                                                CURLOPT_CONNECTTIMEOUT => 5,
                                                                CURLOPT_POSTFIELDS => http_build_query(array_merge(['token' => 'YOUR-TOKEN'], $query))
                                                        ];
                                                        curl_setopt_array($ch, $parameters); 
                                                        $response = curl_exec($ch);
                                                        curl_close($ch);
                                                        return json_decode($response, true);
                                                    }
                                                

مثال على الاستخدام: support_board_api(['function' => 'get-user', 'user_id' => 123]).


تحذير! هذه الوظيفة ليست آمنة لأن ملفات .js متاحة للجميع. تأكد من أن هذا الكود متاح فقط للمستخدم الصحيح.
                                                    $.post('YOUR-DOMAIN/alfchatbot/include/api.php', {
                                                        function: 'METHOD-NAME',
                                                        token: 'YOUR-TOKEN'
                                                    }, function (response) {
                                                        response = JSON.parse(response);
                                                        if (response.success) {
                                                             
                                                        }
                                                    });
                                                

المتغير $response سيحتوي على استجابة JSON. يمكنك إضافة حجج جديدة إلى مصفوفة الاستعلام: ['token' => '', 'function' => '', 'argument-name' => 'value', ...].


استبدل السلاسل التالية بالقيم الصحيحة:

  • استبدل YOUR-DOMAIN بعنوان URL لموقع الويب الخاص بك. يجب أن يشير عنوان URL الكامل إلى ملف include/api.php من تثبيت Alfchatbot الخاص بك. يجب أن يكون بالشكل التالي: https://YOUR-DOMAIN.com/alfchatbot/include/api.php (إذا كنت تستخدم إصدار WordPress: https://YOUR-DOMAIN.com/wp-content/plugins/alfchatbot/alfchatbot/include/api.php. إذا كنت تستخدم الإصدار السحابي: https://YOUR-DOMAIN/script/include/api.php).
  • استبدل YOUR-TOKEN بالرمز السري لمستخدم المشرف. يمكنك الحصول على الرمز من منطقة Users عن طريق فتح صندوق ملف تعريف مستخدم المشرف. يتم دعم رموز المشرفين فقط ويمكن للمشرفين فقط عرض الرموز. إذا كنت تستخدم الإصدار السحابي، يجب عليك استخدام الرمز من الحساب > التثبيت > رمز API. تحذير! يجب الحفاظ على سرية هذا الرمز دائمًا.
  • استبدل METHOD-NAME باسم وظيفة API التي تريد استخدامها. احصل عليها من قائمة الطرق أدناه.

معلومات

  • بعض الوظائف محمية لأسباب أمنية، أدخل الكود $GLOBALS['SB_FORCE_ADMIN'] = true قبل استدعاء الوظيفة لتنفيذها بشكل صحيح. أدخل الكود $GLOBALS['SB_FORCE_ADMIN'] = false فوراً بعد استدعاء الوظيفة لأسباب أمنية.
  • تتطلب بعض الوظائف تفاصيل المستخدم النشط، استخدم الكود $GLOBALS['SB_LOGIN'] = ['id' => '', 'first_name' => '', 'last_name' => '', 'email' => '', 'user_type' => '', 'department' => '']; لتعيين المستخدم النشط.

WEB API
المستخدمون

المستخدمون

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


get-user

يعيد تفاصيل المستخدم.


الحجج

token
الرمز السري للمشرف الخاص بك.
function
أدخل get-user.
user_id
معرّف المستخدم.
extra
قم بتعيينها إلى true للحصول على تفاصيل إضافية عن المستخدم. القيمة الافتراضية: false.

الاستجابة

{
    "success": true,
    "response": {
        "id": "123456",
        "first_name": "John",
        "last_name": "Doe",
        "email": "johon@example.com",
        "profile_image": "https://alfchatbot.com/user.svg",
        "user_type": "visitor",
        "creation_time": "2020-05-12 14:28:57",
        "last_activity": "2020-05-12 14:28:57",
        "department": null,
        "token": "a521773c5a566a251c3fb00e93162b20ff955b12",
        "password": "",
        "details": [
            {
                "slug": "location",
                "name": "الموقع",
                "value": "نيويورك، الولايات المتحدة"
            },
            {
                "slug": "country_code",
                "name": "رمز الدولة",
                "value": "أمريكا/نيويورك"
            }
            ...
        ]
    }
}

العودة {"success":true, "response":false} إذا لم يتم العثور على المستخدم.


get-user-extra

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


الحجج

token
الرمز السري للمشرف الخاص بك.
function
أدخل get-user-extra.
user_id
معرّف المستخدم.
slug
الرمز الخاص بالإعداد المراد استرجاعه. إذا لم يتم تعيين هذه الحجة، يتم إعادة جميع تفاصيل المستخدم. الافتراضي: false.
default
القيمة الافتراضية التي ستتم إعادتها إذا لم يتم العثور على تفاصيل المستخدم. الافتراضي: false.

الاستجابة

{
    "success": true,
    "response": [
        {
            "slug": "browser",
            "name": "المتصفح",
            "value": "Chrome"
        },
        {
            "slug": "current_url",
            "name": "عنوان URL الحالي",
            "value": "https://alfchatbot.com/"
        },
        {
            "slug": "os",
            "name": "نظام التشغيل",
            "value": "Windows 10"
        },
        {
            "slug": "phone",
            "name": "الهاتف",
            "value": "3203057977"
        }
        ...
    ]
}

العودة {"success":true, "response":[]} إذا لم يتم العثور على المستخدم.


get-user-language

يعيد رمز اللغة النشط المستخدم من قبل المستخدم. افتراضيًا، تكون لغة المتصفح الخاصة بالمستخدم.


الحجج

user_id
معرّف المستخدم الذي تريد الحصول على لغته.

الاستجابة

رمز اللغة. أمثلة: es, it. يعود false إذا كان رمز اللغة en أو لم يتم العثور عليه.


get-users

يعيد تفاصيل المستخدم لجميع المستخدمين.


الحجج

token
الرمز السري للمشرف الخاص بك.
function
أدخل get-users.
sorting
حدد ترتيب القيم المعادة. أدخل ["column", "order"] واستبدل column بواحدة من القيم التالية: first_name, last_name, email, profile_image, user_type, creation_time, last_activity, department. استبدل order بـ ASC أو DESC.
user_types
مصفوفة بصيغة JSON لأنواع المستخدمين المراد تضمينها في القيمة المعادة. صيغة المصفوفة: ["", "", "", ...]. القيم المقبولة: visitor, lead, user, agent, admin. الافتراضي: الكل.
search
السلسلة المراد البحث عنها.
pagination
رقم صحيح من 1 إلى N لتحديد عدد النتائج. أدخل 1 للحصول على أول 100 نتيجة، 2 للنتائج من 101 إلى 200، وهكذا.
extra
حددها على true لتضمين جميع التفاصيل الإضافية للمستخدمين أيضًا. حددها كمصفوفة من رموز تفاصيل المستخدم الإضافية لتضمين فقط مجموعة فرعية من التفاصيل الإضافية. الافتراضي: false.
user_ids
مصفوفة من المعرفات. إذا تم تعيينها، تعيد فقط المستخدمين الذين تكون معرفاتهم مضمنة في المصفوفة المحددة. صيغة المصفوفة: ["", "", "", ...]. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "880",
                "first_name": "مستخدم",
                "last_name": "#29938",
                "email": null,
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "زائر",
                "creation_time": "2020-05-13 08:58:18",
                "last_activity": "2020-05-13 09:07:39",
                "department": null,
                "token": "6d969f64f5ed6263714b9b39f3d3700b66f16820"
            },
            {
                "id": "879",
                "first_name": "مستخدم",
                "last_name": "#86773",
                "email": null,
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "زائر",
                "creation_time": "2020-05-13 08:38:41",
                "last_activity": "2020-05-13 08:58:12",
                "department": null,
                "token": "2e5064670707d06b661d04353f4a462ec927f19a"
            }
            ...
        ]
    }

احصل على المستخدمين الجدد

يُرجع المستخدمين الذين تم إنشاؤهم بعد التاريخ/الرقم المحدد.


الوسائط

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

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "880",
                "first_name": "مستخدم",
                "last_name": "#29938",
                "email": null,
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "زائر",
                "creation_time": "2020-05-13 08:58:18",
                "last_activity": "2020-05-13 09:07:39",
                "department": null,
                "token": "6d969f64f5ed6263714b9b39f3d3700b66f16820"
            },
            {
                "id": "879",
                "first_name": "مستخدم",
                "last_name": "#86773",
                "email": null,
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "زائر",
                "creation_time": "2020-05-13 08:38:41",
                "last_activity": "2020-05-13 08:58:12",
                "department": null,
                "token": "2e5064670707d06b661d04353f4a462ec927f19a"
            }
            ...
        ]
    }

احصل على المستخدمين المتصلين

يُرجع المستخدمين المتصلين بما في ذلك الوكلاء.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-online-users.
exclude_id
مصفوفة من معرفات المستخدمين بصيغة JSON لاستبعادها من القيم المعادة. تنسيق المصفوفة: [123, 123, 123, ...]
sorting
اسم جدول قاعدة البيانات المستخدم للفرز. الافتراضي: creation_time.
agents
قم بتعيينها إلى true لعرض الوكلاء والمدراء فقط. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "881",
                "first_name": "دون",
                "last_name": "جون",
                "email": null,
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "زائر",
                "creation_time": "2020-05-13 09:18:59",
                "last_activity": "2020-05-13 09:32:34",
                "department": null,
                "token": "e435a5c67f4276cdb9c6fc19b7c015990ffc3268"
            },
            {
                "id": "880",
                "first_name": "مستخدم",
                "last_name": "#29938",
                "email": null,
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "زائر",
                "creation_time": "2020-05-13 08:58:18",
                "last_activity": "2020-05-13 09:32:28",
                "department": null,
                "token": "6d969f64f5ed6263714b9b39f3d3700b66f16820"
            }
            ...
        ]
    }

احصل على المستخدمين مع التفاصيل

يُرجع مصفوفة تحتوي على معرفات المستخدمين وتفاصيل المستخدمين الذين لديهم التفاصيل المطلوبة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-users-with-details.
details
مصفوفة من تفاصيل المستخدمين. على سبيل المثال [ "البريد الإلكتروني"، "الهاتف" ].
user_ids
مصفوفة، أو سلسلة مفصولة بفواصل من معرفات المستخدمين. إذا تم تعيين هذه الوسيطة، سيتم إرجاع فقط المستخدمين الذين تحتوي معرفاتهم على المعرفات المدرجة. قم بتعيينها إلى all أو false للبحث عن جميع المستخدمين، أو إلى agents للبحث عن الوكلاء والمدراء فقط. الافتراضي: false.

الاستجابة

    {
        "email": [
            {
                "id": 4561,
                "value": "albert@example.com"
            },
            {
                "id": 98436,
                "value": "jessica@example.com"
            },
            ...
        ],
        "phone": [
            {
                "id": 12563,
                "value": "+4462367136"
            },
            {
                "id": 778956,
                "value": "+4462999345"
            },
            ...
        ],
        ...
    }

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

يرجع تفاصيل وكيل أو مدير.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-agent.
agent_id
معرف الوكيل.

الاستجابة

     {
        "success": true,
        "response": {
            "id": "123456",
            "first_name": "جون",
            "last_name": "دو",
            "email": "johon@example.com",
            "profile_image": "https://alfchatbot.com/user.svg",
            "user_type": "وكيل",
            "creation_time": "2020-05-12 14:28:57",
            "last_activity": "2020-05-12 14:28:57",
            "department": null,
            "token": "a521773c5a566a251c3fb00e93162b20ff955b12",
            "password": "",
            "details": [
                {
                    "slug": "location",
                    "name": "الموقع",
                    "value": "نيويورك، الولايات المتحدة"
                },
                {
                    "slug": "country_code",
                    "name": "رمز البلد",
                    "value": "America/New_York"
                }
                ...
            ]
        }
    }

احصل على معرفات الوكلاء

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-agents-ids.
admins
قم بتعيينها إلى false لاستبعاد المدراء. الافتراضي: true;

الاستجابة

    [
        881,
        153,
        ...
    ]

احصل على المستخدم من المحادثة

يرجع معرف المستخدم وبريده الإلكتروني، أو آخر وكيل، من المحادثة المحددة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-user-from-conversation.
conversation_id
معرف المحادثة.
agent
قم بتعيينها إلى true للحصول على آخر وكيل رد على المحادثة. الافتراضي: false.

الاستجابة

    {
      "id": "123456",
      "email": "email@example.com"
    }

الوكلاء المتصلين

تحقق مما إذا كان هناك وكيل أو مدير واحد على الأقل متصل.


الاستجابة

    {
        "success": true,
        "response": true
    }

يُرجع true إذا كان هناك وكلاء أو مدراء متصلين، أو false إذا كان جميع الوكلاء غير متصلين.


البحث عن المستخدمين

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-user-from-conversation.
conversation_id
معرف المحادثة.
agent
قم بتعيينها إلى true للحصول على آخر وكيل رد على المحادثة. الافتراضي: false.

الاستجابة

    {
      "id": "123456",
      "email": "email@example.com"
    }

الوكلاء المتصلين

تحقق مما إذا كان هناك وكيل أو مدير واحد على الأقل متصل.


الاستجابة

    {
        "success": true,
        "response": true
    }

يُرجع true إذا كان هناك وكلاء أو مدراء متصلين، أو false إذا كان جميع الوكلاء غير متصلين.


البحث عن المستخدمين

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل search-users.
search
النص الذي سيتم البحث عنه. تفاصيل المستخدم الإضافية مدعومة أيضًا.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "881",
                "first_name": "دون",
                "last_name": "جون",
                "email": null,
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "زائر",
                "creation_time": "2020-05-13 09:18:59",
                "last_activity": "2020-05-13 09:32:34",
                "department": null,
                "token": "e435a5c67f4276cdb9c6fc19b7c015990ffc3268"
            },
            {
                "id": "880",
                "first_name": "مستخدم",
                "last_name": "#29938",
                "email": null,
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "زائر",
                "creation_time": "2020-05-13 08:58:18",
                "last_activity": "2020-05-13 09:32:28",
                "department": null,
                "token": "6d969f64f5ed6263714b9b39f3d3700b66f16820"
            }
            ...
        ]
    }

يُرجع {"success":true, "response":[]} إذا لم يتم العثور على أي مستخدمين.


إضافة مستخدم

إنشاء مستخدم جديد.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل add-user.
first_name
الاسم الأول للمستخدم. الافتراضي: مستخدم
last_name
الاسم الأخير للمستخدم. الافتراضي: #رقم عشوائي
email
بريد المستخدم الإلكتروني. الافتراضي: فارغ.
profile_image
صورة ملف تعريف المستخدم. الافتراضي:
password
كلمة مرور المستخدم. الافتراضي: فارغ.
user_type
نوع المستخدم. القيم المقبولة: زائر, عميل محتمل, مستخدم, وكيل, مدير. الافتراضي: زائر إذا لم يتم تقديم البريد الإلكتروني، خلاف ذلك مستخدم.
extra
مصفوفة من تفاصيل المستخدم الإضافية بتنسيق JSON. يتم قبول أي تفاصيل. التفاصيل المدمجة (المعرفات): هاتف, مدينة, لغة, بلد, عيد ميلاد, شركة, فيسبوك, تويتر, لينكد إن, موقع ويب, عنوان IP, رمز البلد, متصفح, عملة, موقع, نظام تشغيل, المنطقة الزمنية, عنوان URL الحالي.
تنسيق المصفوفة:
{"ID": ["القيمة", "الاسم"], "ID": ["القيمة", "الاسم"], ...}

الاستجابة

    {
        "success": true,
        "response": 123456
    }

الاستجابات الممكنة الأخرى: معرف المستخدم الجديد عند النجاح، خلاف ذلك تكرار البريد الإلكتروني, نوع مستخدم غير صالح, رسالة خطأ MySQL.


تحديث المستخدم

تحديث تفاصيل مستخدم موجود.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل update-user.
user_id
معرف المستخدم الذي سيتم تحديثه.
first_name
الاسم الأول للمستخدم.
last_name
الاسم الأخير للمستخدم.
email
بريد المستخدم الإلكتروني. أدخل NULL لحذف البريد الإلكتروني.
profile_image
صورة ملف تعريف المستخدم.
password
كلمة مرور المستخدم.
user_type
نوع المستخدم. القيم المقبولة: زائر, عميل محتمل, مستخدم, وكيل, مدير.
settings_extra
مصفوفة من تفاصيل المستخدم الإضافية بتنسيق JSON.
تنسيق المصفوفة:
{"ID": ["القيمة", "الاسم"], "ID": ["القيمة", "الاسم"], ...}

الاستجابة

    {
        "success": true,
        "response": true
    }

الاستجابات الممكنة الأخرى: تكرار البريد الإلكتروني, نوع مستخدم غير صالح, رسالة خطأ MySQL.


حذف المستخدم

حذف مستخدم وجميع المحادثات والرسائل المرتبطة به.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل delete-user.
user_id
معرف المستخدم الذي سيتم حذفه.

الاستجابة

    {
        "success": true,
        "response": true
    }

حذف المستخدمين

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل delete-users.
user_ids
مصفوفة من معرفات المستخدمين الذين سيتم حذفهم. تنسيق المصفوفة: [123, 123, 123, ...]

الاستجابة

    {
        "success": true,
        "response": true
    }

هل هو متصل

تحقق مما إذا كان المستخدم متصلاً.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل is-online.
user_id
معرف المستخدم.

الاستجابة

true إذا كان متصلاً، false إذا كان غير متصل.


الرابط الحالي

احصل على أو قم بتعيين الرابط الحالي لمستخدم أو آخر رابط تمت زيارته.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل current-url.
user_id
معرف المستخدم
url
الرابط الذي سيتم تعيينه كـ "الرابط الحالي". إذا تم تعيين هذه الوسيطة، ستقوم الدالة فقط بتعيين القيمة ولن تُرجع أي رابط.

الاستجابة

    {
        "success": true,
        "response": "https://alfchatbot.com"
    }

يُرجع {"success":true,"response":false} إذا لم يتم العثور على الرابط. يُرجع {"success":true,"response":true} إذا تم تعيين url.


عدد المستخدمين

يُرجع العدد الإجمالي للمستخدمين مقسمًا حسب نوع المستخدم.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل count-users.

الاستجابة

    {
        "success": true,
        "response": {
            "all": "335",
            "lead": "288",
            "user": "15",
            "visitor": "28"
        }
    }

تغيير نوع المستخدم إلى عميل محتمل

تغيير نوع المستخدم لمستخدم إلى عميل محتمل.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل update-user-to-lead.
user_id
معرف المستخدم.

الاستجابة

    {
        "success": true,
        "response": true
    }

الحصول على الصورة الشخصية

قم بإنشاء صورة ملف تعريف المستخدم باستخدام الحرف الأول من الاسم الأول والاسم الأخير، احفظ الصورة، وارجع رابط الصورة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-avatar.
first_name
الاسم الأول للمستخدم.
last_name
الاسم الأخير للمستخدم.

الاستجابة

    https://example.com/alfchatbot/uploads/13-04-21/9455859.png

الحصول على معرف الروبوت

يُرجع معرف روبوت Alfchatbot.


الاستجابة

    123

هل يكتب

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل is-typing.
user_id
معرف المستخدم، أو الوكيل، للتحقق.
conversation_id
معرف المحادثة للتحقق.

الاستجابة

يُرجع true إذا كان المستخدم يكتب، خلاف ذلك يُرجع false.


هل الوكيل يكتب

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل is-agent-typing.
conversation_id
معرف المحادثة للتحقق.

الاستجابة

    {
      "id": "",
      "first_name": "",
      "last_name": ""
    }

يُرجع false إذا لم يكن هناك وكلاء يكتبون.


تعيين حالة الكتابة

تعيين حالة الكتابة لمستخدم أو وكيل بالنسبة لمحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل set-typing.
user_id
معرف المستخدم، أو الوكيل.
conversation_id
معرف المحادثة.

الاستجابة

                                {
                                    "success": true,
                                    "response": true
                                }
                            

تسجيل الدخول

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل login
email
البريد الإلكتروني للمستخدم لتسجيل الدخول. إذا تم تعيين هذه الوسيطة، يجب أيضًا تعيين كلمة المرور. الافتراضي: سلسلة فارغة.
password
كلمة المرور للمستخدم لتسجيل الدخول. إذا تم تعيين هذه الوسيطة، يجب أيضًا تعيين البريد الإلكتروني. الافتراضي: سلسلة فارغة.
user_id
معرف المستخدم لتسجيل الدخول. إذا تم تعيين هذه الوسيطة، يجب أيضًا تعيين الرمز. الافتراضي: سلسلة فارغة.
token
رمز المستخدم لتسجيل الدخول. إذا تم تعيين هذه الوسيطة، يجب أيضًا تعيين معرف المستخدم. يمكنك الحصول على الرمز من منطقة Users بفتح صندوق الملف الشخصي للمستخدم. الافتراضي: سلسلة فارغة.

الاستجابة

                                [
                                    {
                                        "id": "913",
                                        "profile_image": "https://alfchatbot.com/user.svg",
                                        "first_name": "User",
                                        "last_name": "#29902",
                                        "email": null,
                                        "user_type": "visitor",
                                        "token": "9b25351047ee758aa97ee4868d130cc1ceb8decf"
                                    },
                                    "YXNkWGNSeTdtRTdDYVkxVG8wckN4YWF6V2s0Tk1mczBSVHdQbHBpOWdmejVUTTdOUUxEUENhdUVoYmROWn..."
                                ]
                            

القيمة الأخيرة هي بيانات تسجيل الدخول المشفرة جاهزة للتخزين في ملف تعريف الارتباط sb-login. استخدم الدالة SBF.loginCookie(response[1]); لتخزينها. تُرجع false إذا كان تسجيل الدخول غير ناجح.


تسجيل الخروج

تسجيل خروج المستخدم المسجل دخوله.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل logout.

الاستجابة

                                {
                                    "success": true,
                                    "response": true
                                }
                            

يجب أيضًا حذف ملف تعريف الارتباط sb-login من متصفح المستخدم.


تحديث تسجيل الدخول

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل update-login.
profile_image
عنوان URL لصورة ملف تعريف المستخدم. الافتراضي: سلسلة فارغة.
first_name
الاسم الأول للمستخدم. الافتراضي: سلسلة فارغة.
last_name
الاسم الأخير للمستخدم. الافتراضي: سلسلة فارغة.
email
البريد الإلكتروني للمستخدم. الافتراضي: سلسلة فارغة.
department
تحديث قسم المستخدم. يتم استخدام هذا الإعداد في منطقة الإدارة. الافتراضي: سلسلة فارغة.

الاستجابة

YXNkWGNSeTdtRTdDYVkxVG8wckN4YWF6V2s0Tk1mczBSVHdQbHBpOWdmejVUTTdOUUxEUENhdUVoYmROWn...

يجب حفظ الاستجابة في ملف تعريف الارتباط sb-login في متصفح المستخدم.


حذف العملاء المحتملين

حذف جميع العملاء المحتملين، بما في ذلك جميع المحادثات والرسائل المرتبطة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل delete-leads.

الاستجابة

                                true
                            

واجهة برمجة التطبيقات (API) الويب
المحادثات

المحادثات

طرق لإدارة المحادثات والرسائل.


احصل على المحادثة

يرجع المحادثة ورسائل المحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-conversation.
conversation_id
معرف المحادثة.
user_id
معرف المستخدم المرتبط بالمحادثة.

الاستجابة

    {
        "success": true,
        "response": {
            "messages": [
                {
                    "id": "2044",
                    "user_id": "802",
                    "message": "مرحبا!",
                    "creation_time": "2020-05-0410:06:30",
                    "attachments": "",
                    "status_code": "0",
                    "payload": "",
                    "conversation_id": "946",
                    "first_name": "دون",
                    "last_name": "جون",
                    "profile_image": "https://alfchatbot.com/user.svg",
                    "user_type": "lead"
                },
                {
                    "id": "2045",
                    "user_id": "377",
                    "message": "مرحبا، كيف يمكنني مساعدتك؟",
                    "creation_time": "2020-05-0410:06:33",
                    "attachments": "",
                    "status_code": "0",
                    "payload": "",
                    "conversation_id": "946",
                    "first_name": "بروس",
                    "last_name": "بيترسون",
                    "profile_image": "https://alfchatbot.com/agent.svg",
                    "user_type": "agent"
                }
                ...
            ],
            "details": {
                "user_id": "802",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "lead",
                "id": "946",
                "title": "",
                "conversation_time": "2020-05-0410:06:30",
                "conversation_status_code": "3",
                "department": null
            }
        }
    }

يرجع {"success":true,"response":{"messages":[],"details":""}} إذا لم يتم العثور على المحادثة.


احصل على المحادثات

يرجع جميع المحادثات. كل محادثة تتضمن الرسالة الأخيرة للمحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-conversations.
pagination
عدد صحيح من 1 إلى N لتحديد عدد النتائج. أدخل 1 للحصول على أول 100 نتيجة، 2 للنتائج من 101 إلى 200، وهكذا.
status_code
رمز الحالة للمحادثات المسترجعة. الافتراضي: جميع المحادثات في صندوق الوارد، باستثناء المحادثات في سلة المهملات والأرشيف. رموز الحالة: مباشر = 0، في انتظار إجابة من المستخدم = 1، في انتظار إجابة من الوكيل = 2، الأرشيف = 3، سلة المهملات = 4.
routing
اضبطه على true إذا كانت queue أو routing نشطة في الإعدادات > المتفرقات. الافتراضي: false.
routing_unassigned
اضبطه على true لعرض المحادثات التي لم يتم تعيينها لأي وكيل. الافتراضي: false.
department
يرجع فقط المحادثات المعينة لمعرف القسم المقدم.
source
يرجع فقط المحادثات التي أنشئت من المصدر المقدم. المصادر المتاحة: em (البريد الإلكتروني)، tk (تذكرة)، wa (واتساب)، fb (فيسبوك ماسنجر)، ig (إنستغرام)، tw (تويتر)، wc (وي شات)، tx (رسالة نصية)، gb (رسائل جوجل للأعمال).

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "1431",
                "user_id": "632",
                "message": "مرحبا!",
                "creation_time": "2020-04-24 10:53:35",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "764",
                "message_user_type": "lead",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "conversation_status_code": "2",
                "user_type": "lead"
            },
            {
                "id": "1430",
                "user_id": "631",
                "message": "مرحبًا! هل يمكنك مساعدتي؟",
                "creation_time": "2020-04-24 10:38:37",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "763",
                "message_user_type": "lead",
                "first_name": "جيسيكا",
                "last_name": "برينسون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "conversation_status_code": "2",
                "user_type": "lead"
            }
            ...
        ]
    }

احصل على المحادثات الجديدة

يرجع المحادثات التي أنشئت بعد التاريخ/المعرف المحدد أو التي تحتوي على رسالة أنشئت بعد التاريخ/المعرف المحدد. كل محادثة تتضمن الرسالة الأخيرة للمحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-new-conversations.
datetime
معرف المحادثة أو التاريخ والوقت بالتنسيق التالي: YYYY-MM-DD HH:MM:SS. على سبيل المثال، 2020-05-13 13:35:59. يمكنك إزالة الوقت وترك التاريخ فقط. التواريخ المخزنة في قاعدة البيانات هي بتوقيت UTC+0.
routing
اضبطه على true إذا كانت queue أو routing نشطة في الإعدادات > المتفرقات. الافتراضي: false.
routing_unassigned
اضبطه على true لعرض المحادثات التي لم يتم تعيينها لأي وكيل. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "1431",
                "user_id": "632",
                "message": "مرحبا!",
                "creation_time": "2020-04-24 10:53:35",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "764",
                "message_user_type": "lead",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "conversation_status_code": "2",
                "user_type": "lead"
            },
            {
                "id": "1430",
                "user_id": "631",
                "message": "مرحبًا! هل يمكنك مساعدتي؟",
                "creation_time": "2020-04-24 10:38:37",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "763",
                "message_user_type": "lead",
                "first_name": "جيسيكا",
                "last_name": "برينسون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "conversation_status_code": "2",
                "user_type": "lead"
            }
            ...
        ]
    }

يرجع {"success":true, "response":[]} إذا لم يتم العثور على محادثات.


احصل على محادثات المستخدم

يرجع المحادثات الخاصة بالمستخدم. كل محادثة تتضمن الرسالة الأخيرة للمحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-user-conversations.
user_id
معرف المستخدم.
exclude_id
استبعاد محادثة من النتائج.
agents
اضبطه على true إذا كان المستخدم وكيلًا أو مشرفًا. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "2266",
                "user_id": "377",
                "message": "مرحبا، كيف حالك؟",
                "creation_time": "2020-05-12 17:30:35",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "995",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "user_type": "lead",
                "conversation_status_code": "3"
            },
            {
                "id": "2266",
                "user_id": "5",
                "message": "يرجى ترك ملاحظاتك.",
                "creation_time": "2020-05-12 17:30:35",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "995",
                "first_name": "آدم",
                "last_name": "غيتس",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "user_type": "agent",
                "conversation_status_code": "3"
            }
            ...
        ]
    }

يرجع {"success":true, "response":[]} إذا لم يتم العثور على محادثات.


احصل على محادثات المستخدم الجديدة

يرجع محادثات المستخدم التي أنشئت بعد التاريخ/المعرف المحدد أو التي تحتوي على رسالة أنشئت بعد التاريخ/المعرف المحدد. كل محادثة تتضمن الرسالة الأخيرة للمحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-new-user-conversations.
user_id
معرف المستخدم.
datetime
معرف المحادثة أو التاريخ والوقت بالتنسيق التالي: YYYY-MM-DD HH:MM:SS. على سبيل المثال، 2020-05-13 13:35:59. يمكنك إزالة الوقت وترك التاريخ فقط. التواريخ المخزنة في قاعدة البيانات هي بتوقيت UTC+0.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "2266",
                "user_id": "377",
                "message": "مرحبا، كيف حالك؟",
                "creation_time": "2020-05-12 17:30:35",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "995",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "user_type": "lead",
                "conversation_status_code": "3"
            },
            {
                "id": "2266",
                "user_id": "5",
                "message": "يرجى ترك ملاحظاتك.",
                "creation_time": "2020-05-12 17:30:35",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "995",
                "first_name": "آدم",
                "last_name": "غيتس",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "user_type": "agent",
                "conversation_status_code": "3"
            }
            ...
        ]
    }

يرجع {"success":true, "response":[]} إذا لم يتم العثور على محادثات.


ابحث عن المحادثات

يرجع المحادثات التي تطابق البحث.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل search-conversations.
search
السلسلة التي ترغب في البحث عنها. وظيفة البحث تبحث في أسماء المرفقات، الرسائل، وبريد المستخدم الإلكتروني، الاسم الأول، واسم العائلة.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "2130",
                "user_id": "806",
                "message": "مرحبًا! كيف يمكنني مساعدتك؟",
                "creation_time": "2020-05-05 15:45:38",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "952",
                "message_user_type": "admin",
                "first_name": "مستخدم",
                "last_name": "#24254",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "conversation_status_code": "4",
                "user_type": "lead"
            },
            {
                "id": "2127",
                "user_id": "805",
                "message": "مرحبًا، أحتاج إلى مساعدة!",
                "creation_time": "2020-05-05 08:12:57",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "951",
                "message_user_type": "user",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "conversation_status_code": "0",
                "user_type": "user"
            }
            ...
        ]
    }

يرجع {"success":true, "response":[]} إذا لم يتم العثور على محادثات.


ابحث عن محادثات المستخدم

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل search-user-conversations.
search
السلسلة التي ترغب في البحث عنها. وظيفة البحث تدعم أسماء المرفقات، رسائل المحادثات، وعنوان المحادثة.
id
معرف المستخدم.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "3362",
                "user_id": "2",
                "message": "مرحبًا! كيف يمكنني مساعدتك؟",
                "creation_time": "2020-06-24 17:34:39",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "1364",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "user_type": "lead",
                "conversation_status_code": "0"
            },
            {
                "id": "3345",
                "user_id": "1195",
                "message": "مرحبًا، أحتاج إلى مساعدة!",
                "creation_time": "2020-06-24 17:06:23",
                "attachments": "",
                "status_code": "0",
                "payload": "",
                "conversation_id": "1363",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/media/user.svg",
                "user_type": "lead",
                "conversation_status_code": "2"
            }
            ...
        ]
    }

يرجع {"success":true, "response":[]} إذا لم يتم العثور على محادثات.


محادثة جديدة

إنشاء محادثة جديدة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل new-conversation.
user_id
معرف المستخدم المرتبط بالمحادثة.
status_code
رمز الحالة للمحادثة. الافتراضي: 0. رموز الحالة: نشط = 0، انتظار رد من المستخدم = 1، انتظار رد من الوكيل = 2، أرشيف = 3، سلة المحذوفات = 4.
title
عنوان المحادثة. الافتراضي: فارغ.
department
معرف القسم. يمكنك الحصول على المعرفات من الإعدادات > متنوعات > الأقسام. الافتراضي: -1.
agent_id
معرف الوكيل المعين للمحادثة. الافتراضي: -1.
source
تعيين مصدر المحادثة. الافتراضي: غير مفعل.
extra
قيم إضافية للمحادثة. الافتراضي: غير مفعل.

الاستجابة

    {
        "success": true,
        "response": {
            "messages": [],
            "details": {
                "user_id": "882",
                "first_name": "دون",
                "last_name": "جون",
                "profile_image": "https://alfchatbot.com/user.svg",
                "user_type": "lead",
                "id": "1007",
                "title": "",
                "conversation_time": "2020-05-15 12:51:39",
                "conversation_status_code": "0",
                "department": null
            }
        }
    }

استجابات أخرى محتملة: تفاصيل المحادثة عند النجاح، خلاف ذلك المستخدم غير موجود، رسالة خطأ MySQL


تحديث حالة المحادثة

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل update-conversation-status.
conversation_id
معرف المحادثة.
status_code
رمز الحالة للمحادثة. رموز الحالة: نشط = 0، انتظار رد من المستخدم = 1، انتظار رد من الوكيل = 2، أرشيف = 3، سلة المحذوفات = 4.

الاستجابة

    {
        "success": true,
        "response": true
    }

يرجع رمز الحالة غير صالح إذا كان رمز الحالة غير صحيح.


تحديث قسم المحادثة

تحديث قسم المحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل update-conversation-department.
conversation_id
معرف المحادثة الذي سيتم تحديثه.
department
معرف القسم. يمكنك الحصول على المعرفات من الإعدادات > متنوعات > الأقسام. معرف القسم غير مصادق عليه، لذا تحقق منه للتأكد من وجوده. قم بتعيينه إلى false لإزالة القسم.
message
سلسلة تحتوي على رسالة لإشعارات الوكلاء. إذا تم تعيينها، سيتم إخطار جميع الوكلاء المعينين إلى القسم الجديد عبر البريد الإلكتروني، والإشعارات، والرسائل القصيرة.

الاستجابة

    {
        "success": true,
        "response": true
    }

تحديث وكيل المحادثة

تعيين أو تحديث الوكيل المعين لمحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل update-conversation-agent.
conversation_id
معرف المحادثة الذي سيتم تحديثه.
agent_id
معرف الوكيل. قم بتعيينه إلى false لإزالة الوكيل.
message
سلسلة تحتوي على رسالة لإشعارات الوكيل. إذا تم تعيينها، سيتم إخطار الوكيل عبر البريد الإلكتروني، والإشعارات، والرسائل القصيرة.

الاستجابة

    {
        "success": true,
        "response": true
    }

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

تعيين تقييم لمحادثة وتحديث رسالة المحادثة إذا لزم الأمر.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل set-rating.
settings
أدخل المصفوفة التالية بتنسيق JSON: { "settings" : { "conversation_id": "ID", "rating": "RATING" }}. استبدل ID بمعرف المحادثة الذي ترغب في تقييمه، واستبدل rating بـ 1 للتقييم الإيجابي أو بـ 0 للتقييم السلبي.
payload
بيانات الحمولة للرسالة بتنسيق JSON.
message_id
معرف الرسالة لتحديثها.
message
محتوى الرسالة.
user_id
معرف المستخدم المرتبط بالمحادثة.

الاستجابة

    {
        "success": true,
        "response": true
    }

الحصول على التقييمات

الحصول على تقييمات المحادثات المعينة لوكيل.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-rating.
user_id
معرف الوكيل.

الاستجابة

    {
        "success": true,
        "response": [4,2]
    }

مصفوفة الاستجابة: [عدد التقييمات الإيجابية، عدد التقييمات السلبية]. في المثال أعلاه، هناك 4 تقييمات إيجابية و2 تقييمات سلبية.


الحصول على الرسائل الجديدة

إرجاع رسائل المحادثة التي تم إنشاؤها بعد التاريخ/المعرف المحدد.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-new-messages.
user_id
معرف المستخدم للمحادثة.
conversation_id
معرف المحادثة.
datetime
معرف الرسالة أو التاريخ والوقت بتنسيق: YYYY-MM-DD HH:MM:SS. على سبيل المثال: 2020-05-13 13:35:59. يمكنك إزالة الوقت وترك التاريخ فقط. التواريخ المخزنة في قاعدة البيانات هي بتوقيت UTC+0.

الاستجابة

                                {
                                    "success": true,
                                    "response": [
                                        {
                                            "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": "بوت"
                                        },
                                        {
                                            "id": "2320",
                                            "user_id": "877",
                                            "message": "شكرًا! أحتاج إلى مساعدة.",
                                            "creation_time": "2020-05-12 18:04:51",
                                            "attachments": "",
                                            "status_code": "0",
                                            "payload": "",
                                            "conversation_id": "1004",
                                            "first_name": "دون",
                                            "last_name": "جون",
                                            "profile_image": "https://alfchatbot.com/user.svg",
                                            "user_type": "قائد"
                                        }
                                        ...
                                    ]
                                }
                            

إرجاع {"success":true, "response":[]} إذا لم يتم العثور على محادثات.


إرسال رسالة

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل send-message.
user_id
معرف المستخدم الذي يرسل الرسالة. استخدم API 'get-bot-id' للحصول على معرف البوت.
conversation_id
معرف المحادثة.
message
محتوى الرسالة.
attachments
مصفوفة من المرفقات بتنسيق JSON. صيغة المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link برابط المرفق الكامل. عليك تحميل المرفقات إلى خادم بعيد، هذه الوسيطة تقبل فقط عنوان URL للملفات التي تم تحميلها بالفعل. الافتراضي: [].
conversation_status_code
رمز حالة المحادثة. رموز الحالة: مباشر = 0، في انتظار إجابة من المستخدم = 1، في انتظار إجابة من الوكيل = 2، أرشيف = 3، سلة المهملات = 4. عيّنها إلى تجاهل لترك حالة المحادثة الحالية.
payload
مصفوفة بتنسيق JSON من المعلومات الإضافية. يمكنك إدخال أي قيمة. صيغة المصفوفة: { "key": value, "key": value, ... }.
queue
عيّنها إلى true إذا كانت قائمة الانتظار نشطة في الإعدادات > متنوعة > قائمة الانتظار. الافتراضي: false.
recipient_id
معرف المستخدم الذي يستلم الرسالة. استخدم هذه الوسيطة للحصول على لغة المستخدم.

الاستجابة

                                {
                                    "success": true,
                                    "response": {
                                        "status": "success",
                                        "message-id": 123456,
                                        "queue": false,
                                        "notifications": ["sms", "email"]
                                    }
                                }
                            

الاستجابات الأخرى المحتملة: رمز الحالة غير صحيح, رسالة خطأ MySQL. استجابة notifications تتضمن الإشعارات التي تم إرسالها إلى المستخدمين أو الوكلاء.


تحديث الرسالة

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل update-message.
message_id
معرف الرسالة.
message
محتوى الرسالة.
attachments
مصفوفة من المرفقات بتنسيق JSON. صيغة المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link برابط المرفق الكامل. عليك تحميل المرفقات إلى خادم بعيد، هذه الوسيطة تقبل فقط عنوان URL للملفات التي تم تحميلها بالفعل. الافتراضي: [].
payload
مصفوفة بتنسيق JSON من المعلومات الإضافية. يمكنك إدخال أي قيمة. صيغة المصفوفة: { "key": value, "key": value, ... }.

الاستجابة

                                {
                                    "success": true,
                                    "response": true
                                }
                            

حذف الرسالة

حذف رسالة موجودة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل delete-message.
message_id
معرف الرسالة التي سيتم حذفها.

الاستجابة

                                {
                                    "success": true,
                                    "response": true
                                }
                            

تحديث حالة الرسائل

تحديث رمز حالة العديد من الرسائل إلى قراءة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل update-messages-status.
message_ids
مصفوفة من معرفات الرسائل بتنسيق JSON، مثل [1، 212، 124].
user_id
معرف المستخدم المرتبط بالرسائل. مطلوب لتحديث الدردشة الخاصة بالمستخدم إذا كانت Pusher نشطة.

الاستجابة

                                {
                                    "success": true,
                                    "response": true
                                }
                            

الحصول على الوكلاء في المحادثة

يعيد مصفوفة تحتوي على جميع الوكلاء الذين لديهم رسالة واحدة على الأقل في المحادثة.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل get-agents-in-conversation.
conversation_id
معرف المحادثة. يمكن أن يكون مصفوفة من معرّفات المحادثات.

الاستجابة

                                {
                                    "1546": [
                                        {
                                            "id": 5463,
                                            "first_name": "Don",
                                            "last_name": "John",
                                            "profile_image": "https://alfchatbot.com/user.svg",
                                            "conversation_id": 1546
                                        },
                                        {
                                            "id": 6413,
                                            "first_name": "Steven",
                                            "last_name": "Travolta",
                                            "profile_image": "https://alfchatbot.com/user.svg",
                                            "conversation_id": 1546
                                        },
                                        ...
                                    ],
                                    ...
                                }
                            

نص المحادثة

تصدير المحادثة إلى ملف CSV أو TXT ويعيد الرابط.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل transcript.
conversation_id
معرف المحادثة التي سيتم تصديرها.
type
عيّنها إلى csv لتصدير المحادثة كملف CSV، عيّنها إلى txt لتصدير المحادثة كملف نصي، عيّنها إلى false لاستخدام النوع المحدد في الإعدادات > الإدارة > نوع النص. الافتراضي: false.

الاستجابة

                                {
                                    "success": true,
                                    "response": "https://alfchatbot.com/uploads/conversation-1021.csv"
                                }
                            

عُدّ {"success":true, "response":false} إذا لم يتم العثور على المحادثة.


رسالة مباشرة

إرسال رسالة مباشرة. التفاصيل هنا.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل direct-message.
user_ids
مصفوفة من معرّفات المستخدمين، مثل [45, 89, 65].
message
الرسالة.
subject
الموضوع. مطلوب فقط للرسائل الإلكترونية. الافتراضي: false.

الاستجابة

                                {
                                    "success": true,
                                    "response": true
                                }
                            

عدد المحادثات

يحسب عدد المحادثات.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل count-conversations.
status_code
إذا تم تعيينه، سيتم حساب المحادثات التي تحمل الحالة المحددة فقط. رموز الحالة: live = 0، انتظار الرد من المستخدم = 1، انتظار الرد من الوكيل = 2، أرشيف = 3، سلة المهملات = 4. الافتراضي: false.

الاستجابة

                                {
                                    "success": true,
                                    "response": 123456
                                }
                            

التحقق من تعيين المحادثات

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


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل check-conversations-assignment.
conversation_ids
مصفوفة من معرّفات المحادثات التي سيتم التحقق منها، مثل [45، 565، 68].
agent_id
معرف الوكيل. الافتراضي: false.
department_id
معرف القسم. الافتراضي: false.

الاستجابة

                                {
                                    "success": true,
                                    "response": [1234, 5, ...]
                                }
                            

واجهة برمجة التطبيقات (WEB API)
طرق إضافية

طرق إضافية

طرق متنوعة تقوم بإجراءات مختلفة.


إرسال بريد إلكتروني

إرسال بريد إلكتروني إلى مستخدم موجود باستخدام قوالب البريد الإلكتروني في الإعدادات > الإشعارات.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل send-email.
recipient_id
معرف المستخدم الذي سيتم إرسال البريد الإلكتروني إليه.
message
رسالة البريد الإلكتروني.
attachments
مصفوفة من المرفقات بصيغة JSON. تنسيق المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link بالرابط الكامل للمرفق. يجب عليك رفع المرفقات إلى خادم بعيد، هذه الوسيطة تقبل فقط عنوان URL للملفات التي تم رفعها بالفعل. الافتراضي: [].
sender_id
معرف المستخدم المرسل. الافتراضي: معرف المستخدم النشط.

الاستجابة

                                    {
                                        "success": true,
                                        "response": true
                                    }
                                

الردود الأخرى الممكنة: missing-user-id-or-message, security-error, user-email-not-found, user-or-sender-not-found.


إرسال بريد إلكتروني مخصص

إرسال بريد إلكتروني عام إلى عنوان بريد إلكتروني. بريد المرسل واسم المرسل هما اللذان تم تعيينهما في الإعدادات > الإشعارات > إعدادات البريد الإلكتروني.


الوسائط

token
رمز السر الخاص بالمسؤول.
function
أدخل send-custom-email.
to
عنوان البريد الإلكتروني.
subject
موضوع البريد الإلكتروني.
message
رسالة البريد الإلكتروني.
sender_suffix
أضف النص المقدم إلى اسم المرسل. الافتراضي: فارغ.

الاستجابة

                                true
                            

توصيل البريد الإلكتروني

يقوم بمزامنة توصيل البريد الإلكتروني مع Alfchatbot وتحويل الرسائل الإلكترونية إلى رسائل دردشة.


المعطيات

token
رمز السري للإدارة.
function
إدراج email-piping.
force
قم بتعيينه إلى true لتنفيذ المزامنة، بشكل افتراضي يتم تنفيذ المزامنة بحد أقصى مرة واحدة في الدقيقة. الافتراضي: false.

الاستجابة

                                true
                            

إرسال رسالة نصية

إرسال رسالة نصية إلى مستخدم أو وكيل. إذا كان معطى القالب true، يتم ترجمة الرسالة تلقائيًا.


المعطيات

token
رمز السري للإدارة.
function
إدراج send-sms.
message
نص الرسالة.
to
رقم الهاتف.
template
قم بتعيينه إلى false لإرسال الرسالة فقط بدون محتوى القالب. الافتراضي: يتم إرسال الرسالة ضمن قالب الإعدادات > إشعارات SMS.
conversation_id
قم بتعيينه إذا كانت الرسالة تحتوي على معلمة URL {conversation_url_parameter}.
attachments
مصفوفة من المرفقات. تنسيق المصفوفة: [["name", "link"], ["name", "link"], ...] أو ["link", "link", ...]. استبدل name باسم المرفق و link بالرابط الكامل للمرفق. من مسؤوليتك رفع المرفقات إلى خادم بعيد، هذه المعطيات تقبل فقط روابط الملفات التي تم رفعها مسبقًا. الافتراضي: false.

الاستجابة

                                {
                                    "sid": "SM1f0e8ae6ade43cb3c0ce4525424e404f",
                                    "date_created": "Fri, 13 Aug 2010 01:16:24 +0000",
                                    "date_updated": "Fri, 13 Aug 2010 01:16:24 +0000",
                                    "date_sent": null,
                                    "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                                    "to": "+15305431221",
                                    "from": "+15104564545",
                                    "body": "رسالة اختبار",
                                    "status": "موجود في قائمة الانتظار",
                                    "flags":["صادرة"],
                                    "api_version": "2010-04-01",
                                    "price": null,
                                    "uri": "\/2010-04-01\/Accounts\/ACXXXX\/Messages\/SM1f004f.json"
                                }
                            

إشعار دفع

إرسال إشعار دفع إلى وكيل، مجموعة من الوكلاء، أو جميع الوكلاء. يجب تمكين إشعارات الدفع في منطقة الإعدادات.


المعطيات

title
عنوان الإشعار.
message
نص الرسالة.
icon
رمز الإشعار. الافتراضي: رمز Alfchatbot أو رمز الإشعارات.
interest
القيم التالية مقبولة:
  • معرف الوكيل أو المستخدم
  • مصفوفة من معرفات الوكلاء أو المستخدمين (مثل: [1, 2, 3])
  • السلسلة agents لإرسال الإشعار إلى جميع الوكلاء دون قسم معين.
  • السلسلة all-agents لإرسال الإشعار إلى جميع الوكلاء.
  • السلسلة department-ID لإرسال الإشعار إلى جميع الوكلاء المعينين للقسم المحدد. استبدل ID بمعرف القسم.
conversation_id
معرف المحادثة لفتحها عند النقر على الإشعار.

الاستجابة

                                {
                                    "publishId": "pubid-781799f5-6el4-4789-bc60-ee293543781"
                                }
                            

تُعيد false إذا كانت إشعارات الدفع معطلة في منطقة الإعدادات.


الحصول على الإعداد

تُعيد إعدادًا محفوظًا في الإعدادات المنطقة.


المعطيات

token
رمز السري للإدارة.
function
إدراج get-setting.
setting
معرف الإعداد. يمكنك الحصول على معرفات جميع الإعدادات من الملف resources\json\settings.json.

الاستجابة

                                {
                                    "success": true,
                                    "response": {
                                        "option": "value",
                                        "option": "value",
                                        ...
                                    }
                                }
                            

الحصول على الإعدادات

تُعيد مصفوفة تحتوي على جميع الإعدادات.


المعطيات

token
رمز السري للإدارة.
function
إدراج get-settings.

الاستجابة

                                {
                                    "success": true,
                                    "response": {
                                        "chat-manual-init": [
                                            false,
                                            "checkbox"
                                        ],
                                        "chat-login-init": [
                                            false,
                                            "checkbox"
                                        ],
                                        "init-dashboard": [
                                            true,
                                            "checkbox"
                                        ],
                                        "chat-timetable-disable": [
                                            false,
                                            "checkbox"
                                        ],
                                        "rtl": [
                                            false,
                                            "checkbox"
                                        ],
                                        "front-auto-translations": [
                                            true,
                                            "checkbox"
                                        ],
                                        ...
                                    }
                                }
                            

حفظ الإعدادات

حفظ جميع الإعدادات.


المعطيات

token
رمز السري للإدارة.
function
إدراج save-settings.
settings
مصفوفة الإعدادات. احصل عليها من get-settings.
external_settings
الإعدادات المحفوظة في صف مخصص من جدول sb_settings في قاعدة البيانات.
external_settings_translations
ترجمات الإعدادات الخارجية.

الاستجابة

                                {
                                    "success": true,
                                    "response": true
                                }
                            

الردود المحفوظة

تُعيد مصفوفة تحتوي على جميع الردود المحفوظة.


المعطيات

token
رمز السري للإدارة.
function
إدراج saved-replies.

الاستجابة

                                {
                                    "success": true,
                                    "response": [
                                        {
                                            "reply-name": "hello",
                                            "reply-text": "مرحبا! كيف يمكنني مساعدتك؟"
                                        },
                                        {
                                            "reply-name": "email",
                                            "reply-text": "بريدنا الإلكتروني هو support@example.com."
                                        },
                                        ...
                                    ]
                                }
                            

الحصول على المقالات

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


المعطيات

token
رمز السري للإدارة.
function
إدراج get-articles.
id
معرف المقالة. للحصول على معرفات المقالات، نفذ هذه الطريقة مرة أخرى بدون معطيات. الافتراضي: -1.
count
الحد الأقصى لعدد المقالات المرجعة. الافتراضي: جميع المقالات.
full
Boolean. قم بتعيينه إلى true للحصول على محتويات المقالات كاملة الطول. الافتراضي: false.
categories
قم بتعيينه إلى true للحصول على مصفوفة جميع الفئات، في هذه الحالة تكون الاستجابة مصفوفة مزدوجة، العنصر الأول المقالات، والعنصر الثاني الفئات. قم بتعيينه إلى معرف الفئة للحصول على مقالات الفئة المحددة فقط. الافتراضي: false.
articles_language
الحصول على المقالات بلغة رمز اللغة المعطى. إذا لم تكن هناك مقالات بلغة رمز اللغة المعطى، يتم إرجاع المقالات باللغة الافتراضية بدلاً من ذلك. قم بتعيينه إلى all للحصول على جميع الترجمات. الافتراضي: false.

الاستجابة

                                {
                                    "success": true,
                                    "response": [
                                        {
                                            "id": "6P2Oq",
                                            "title": "ما الجديد في API V2؟",
                                            "content": "الـ API V2 هو التكرار الجديد لـ ...",
                                            "link": "https://alfchatbot.com",
                                            "categories": ["K92kl"]
                                        },
                                        {
                                            "title": "هل يجب أن أنتقل إلى النظام الجديد؟",
                                            "content": "نعم. النسخة الأحدث من Actions ...",
                                            "link": "https://alfchatbot.com",
                                            "id": "qf7kD",
                                            "categories": ["ols85"]
                                        },
                                        ...
                                    ]
                                }
                            
                                {
                                    "success": true,
                                    "response": {
                                        "id": "6P2Oq",
                                        "title": "ما الجديد في API V2؟",
                                        "content": "الـ API V2 هو التكرار الجديد لواجهة برمجة التطبيقات الخاصة بنا. الـ API الجديد يدمج...",
                                        "link": "https://alfchatbot.com",
                                        "categories": ["K92kl"]
                                    }
                                }
                            

حفظ المقالات

حفظ جميع المقالات. تقوم هذه الوظيفة بحذف جميع المقالات الحالية واستبدالها بالمقالات الموجودة في المصفوفة المعطاة.


المعطيات

token
رمز السري للإدارة.
function
إدراج save-articles.
articles
المصفوفة التي تحتوي على المقالات. استخدم API get-articles للحصول على مصفوفة المقالات. صيغة المصفوفة:
{"articles": [{"id": "", "title": "", "content": "", "link":"", "categories": []}, ...]}
translations
المصفوفة التي تحتوي على ترجمات المقالات. استخدم API get-articles للحصول على مصفوفة المقالات. صيغة المصفوفة:
{ "es": [{"id": "", "title": "", "content": "", "link":"", "categories": []}, ...], "it": [...], ...}

الاستجابة

                                {
                                    "success": true,
                                    "response": true
                                }
                            

البحث في المقالات

تُعيد المقالات التي تطابق البحث.


المعطيات

token
رمز السري للإدارة.
function
إدراج search-articles.
search
السلسلة للبحث. تدعم وظيفة البحث العنوان والمحتوى.
articles_language
البحث فقط في المقالات بلغة رمز اللغة المعطى. إذا لم تكن هناك مقالات بلغة رمز اللغة المعطى، يرجع البحث المقالات باللغة الافتراضية. قم بتعيينه إلى all للحصول على جميع الترجمات. الافتراضي: false.

الاستجابة

                                {
                                    "success": true,
                                    "response": [
                                        {
                                            "id": "6P2Oq",
                                            "title": "ما الجديد في API V2؟",
                                            "content": "الـ API V2 هو التكرار الجديد لـ ...",
                                            "link": "https://alfchatbot.com",
                                            "categories": ["K92kl"]
                                        },
                                        {
                                            "title": "هل يجب أن أنتقل إلى API الجديد؟",
                                            "content": "نعم. النسخة الأحدث (V2) من Actions ...",
                                            "link": "https://alfchatbot.com",
                                            "id": "qf7kD",
                                            "categories": ["K92kl"]
                                        },
                                        ...
                                    ]
                                }
                            

يُعيد {"success":true, "response":[]} إذا لم يتم العثور على مقالات.


get-articles-categories

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


المعطيات

token
رمز السري للإدارة.
function
إدراج get-articles-categories.

الاستجابة

                                {
                                    "success": true,
                                    "response": [
                                        {
                                            "id": "Nv9PG",
                                            "title": "الأعمال"
                                        },
                                        {
                                            "id": "csPVh",
                                            "title": "السفر والسياحة"
                                        },
                                        {
                                            "id": "pl5S7",
                                            "title": "المالية"
                                        },
                                        ...
                                    ]
                                }
                            

save-articles-categories

حفظ أو تحديث مصفوفة فئات المقالات.


المعطيات

token
رمز السري للإدارة.
function
إدراج save-articles-categories.
categories
مصفوفة الفئات. صيغة المصفوفة: [ { "id": "123456", "title": "اسم الفئة" }, { "id": "123456", "title": "اسم الفئة" }, ...]. احصل على مصفوفة الفئات الحالية باستخدام الطريقة get-articles-categories.

الاستجابة

                                true
                            

article-ratings

الحصول على تقييمات مقال أو إضافة تقييم جديد له.


المعطيات

token
رمز السري للإدارة.
function
إدراج article-ratings.
article_id
معرف المقالة.
rating
التقييم الذي ترغب في إضافته. أدخل 1 لتقييم إيجابي أو 0 لتقييم سلبي. إذا تم تحديد هذه المعطيات، تضيف الطريقة التقييم، وإلا فإنها تعيد التقييمات الحالية. الافتراضي: false.

الاستجابة

                                {
                                    "success": true,
                                    "response": "[-1, 1, 1, -1]"
                                }
                            

يُعيد true إذا تم تحديد معطى rating.


get-versions

يُعيد الإصدارات المثبتة من Alfchatbot والتطبيقات.


المعطيات

token
رمز السري للإدارة.
function
إدراج get-versions.

الاستجابة

                                {
                                    "success": true,
                                    "response": {
                                        "sb": "3.0.4",
                                        "dialogflow": "1.0.2",
                                        "slack": "1.0.3"
                                    }
                                }
                            

update

بدء التحديث لـ Alfchatbot وجميع التطبيقات. هذه الطريقة تجبر التحديث وتكتب دائمًا فوق جميع ملفات الإضافات والتطبيقات.


المعطيات

token
رمز السري للإدارة.
function
إدراج update.

الاستجابة

    {
        "success": true,
        "response": "success"
    }

wp-synch

بدء مزامنة مستخدمي WordPress واستيراد المستخدمين الجدد من WordPress إلى Alfchatbot. هذه الطريقة متاحة فقط في نسخة WordPress.


المعطيات

token
رمز السري للإدارة.
function
إدراج wp-synch.

الاستجابة

    {
        "success": true,
        "response": true
    }

app-get-key

يُعيد مفتاح الترخيص لتطبيق Alfchatbot مثل تطبيق Slack أو تطبيق Dialogflow.


المعطيات

token
رمز السري للإدارة.
function
إدراج app-get-key.
app_name
اسم التطبيق. على سبيل المثال: dialogflow، slack، whatsapp، messenger...

الاستجابة

    {
        "success": true,
        "response": "9300AB16-014ZEE12-91E199EA-997CEX40"
    }

app-activation

تفعيل تطبيق، تنزيله، وتثبيته.


المعطيات

token
رمز السري للإدارة.
function
إدراج app-activation.
app_name
اسم التطبيق. على سبيل المثال: dialogflow، slack، whatsapp، messenger...
key
مفتاح ترخيص التطبيق. يمكنك الحصول على المفتاح باستخدام الوظيفة app-get-key.

الاستجابة

    {
        "success": true,
        "response": "success"
    }

csv-users

تصدير جميع المستخدمين إلى ملف CSV وإعادة عنوان URL.


المعطيات

token
رمز السري للإدارة.
function
إدراج csv-users.

الاستجابة

    {
        "success": true,
        "response": "https://alfchatbot.com/uploads/users.csv"
    }

cron-jobs

تشغيل مهام الكرون. لمزيد من التفاصيل، انقر هنا.


المعطيات

token
رمز السري للإدارة.
function
إدراج cron-jobs

الاستجابة

    true

pusher-trigger

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


المعطيات

token
رمز السري للإدارة.
function
إدراج pusher-trigger
channel
اسم القناة.
event
اسم الحدث.
data
مصفوفة القيم. الصيغة: [ "name" => "value" ].

الاستجابة

                                true
                            

chat-css

يُعيد نمط CSS لألوان الدردشة.


المعطيات

token
رمز السري للإدارة.
function
إدراج chat-css
color_1
اللون الأول بصيغة RGB أو HEX. الافتراضي: اللون الأول المحفوظ في منطقة الإعدادات.
color_2
اللون الثاني بصيغة RGB أو HEX. الافتراضي: اللون الثاني المحفوظ في منطقة الإعدادات.
color_3
اللون الثالث بصيغة RGB أو HEX. الافتراضي: اللون الثالث المحفوظ في منطقة الإعدادات.

الاستجابة

رمز CSS.


text-formatting-to-html

تحويل تنسيق النصوص في رسائل الدردشة إلى الرموز المعادلة بـ HTML وإرجاع الرسالة.


المعطيات

token
رمز السري للإدارة.
function
إدراج text-formatting-to-html
message
الرسالة النصية.

الاستجابة

                                Lorem ipsum dolor <b>sit amet</b>, <i>consectetur adipiscing elit</i>, <code>sed</code> do eiusmod tempor incididunt.
                            

clear-text-formatting

إزالة تنسيق النصوص من رسائل الدردشة.


المعطيات

token
رمز السري للإدارة.
function
إدراج clear-text-formatting
message
الرسالة النصية.

الاستجابة

                                Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.
                            

get-notes

يُعيد الملاحظات الداخلية لمحادثة.


المعطيات

token
رمز السري للإدارة.
function
إدراج get-notes
conversation_id
معرّف المحادثة.

الاستجابة

                                [
                                    {
                                        "id": 98207,
                                        "user_id": "1538",
                                        "name": "Lorem ipsum dolor sit amet",
                                        "message": "Lorem ipsum dolor sit amet, consectetur elit, sed do eiusmod tempor incididunt."
                                    },
                                    {
                                        "id": 76986,
                                        "user_id": "1596",
                                        "name": "Lorem ipsum dolor",
                                        "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor."
                                    },
                                    ...
                                ]
                            

add-note

إضافة ملاحظة داخلية جديدة.


المعطيات

token
رمز السري للإدارة.
function
إدراج add-note
conversation_id
معرّف المحادثة الذي سيتم ربط الملاحظة به.
user_id
معرّف الوكيل أو المسؤول الذي ينشئ الملاحظة.
name
اسم الملاحظة.
message
رسالة الملاحظة.

الاستجابة

    معرّف الملاحظة

delete-note

حذف ملاحظة داخلية.


المعطيات

token
رمز السري للإدارة.
function
إدراج delete-note
conversation_id
معرّف المحادثة المرتبط بالملاحظة.
note_id
معرّف الملاحظة.

الاستجابة

    true

automations-get

يُعيد جميع الأتمتة.


المعطيات

token
رمز السري للإدارة.
function
إدراج automations-get

الاستجابة

    [
        {
            "emails": [
                {
                    "id": "0BOaG",
                    "conditions": [
                        [
                            "datetime",
                            "is-between",
                            "10/04/2021 - 13/04/2021"
                        ],
                        [
                            "include_urls",
                            "contains",
                            "https://example.com"
                        ],
                        ...
                    ],
                    "name": "Excepteur sint",
                    "message": "Excepteur sint occaecat cupidatat non proident.",
                    "subject": "Cupidatat non proident"
                },
                ...
            ],
            "sms": [
                {
                    "id": "vo2sY",
                    "conditions": [
                        [
                            "datetime",
                            "is-exactly",
                            "13/04/2021"
                        ]
                    ],
                    "name": "Excepteur sint",
                    "message": "Excepteur sint occaecat cupidatat non caecat cupidatat non proident"
                },
                {
                    "id": "hwkmQ",
                    "name": "Excepteur sint occaecat cupidatat non proident",
                    "message": "Excepteur sint occaecat cupidatat non occaecat cupidatat non proident"
                },
                ...
            ],
            "messages": [],
            "popups": [
                {
                    "id": "ckN24",
                    "conditions": [
                        [
                            "user_type",
                            "is-user"
                        ],
                        [
                            "languages",
                            "en"
                        ]
                    ],
                    "name": "s",
                    "message": "Excepteur sint occaecat cupidatat non prcaecat cupidatat non proident",
                    "title": "Excepteur sint occaecat",
                    "profile_image": "https://example.com/image.jpg"
                },
                ...
            ],
            "design": [
                {
                    "id": "bX1qA",
                    "conditions": [
                        [
                            "user_type",
                            "is-user"
                        ]
                    ],
                    "name": "Excepteur sint",
                    "message": "Excepteur sint occaecat cupidatat caecat cupidatat non proident",
                    "title": "",
                    "color_1": "rgb(0, 235, 26)",
                    "color_2": "rgb(255, 0, 0)",
                    "color_3": "rgb(255, 0, 0)",
                    "background": "https://example.com/image.jpg",
                    "brand": "https://example.com/image.jpg",
                    "icon": "https://example.com/image.jpg"
                },
                ...
            ]
        },
        {
            "fr": {
                "messages": [
                    {
                        "id": "y6hNE",
                        "name": "XXXX",
                        "message": "XXXX"
                    }
                ]
            },
            ...
        }
    ]

automations-save

حفظ جميع الأتمتة.


المعطيات

token
رمز السري للإدارة.
function
إدراج automations-save
automations
مصفوفة الأتمتة. احصل عليها من sb_get_automations().
translations
مصفوفة ترجمات الأتمتة. احصل عليها من sb_get_automations().

الاستجابة

    true

automations-validate

التحقق من صحة الأتمتة.


المعطيات

token
رمز السر الإداري الخاص بك.
function
أدخل automations-validate
automation
الأتمتة.

الاستجابة

    {
        "conditions": [
            [
                "user_type",
                "is-user"
            ],
            ...
        ],
        "repeat_id": ""
    }

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


تشغيل جميع الأتمتة

التحقق من صحة جميع الأتمتة، تنفيذ الأتمتة الصالحة، وإرجاع الأتمتة ذات الشروط المتعلقة بالعميل، الشروط غير الصالحة على الخادم، وأتمتة النوافذ المنبثقة، والتصميم.


الوسائط

token
رمز السر الإداري الخاص بك.
function
أدخل automations-run-all

الاستجابة

    [
        {
            "id": "0BOaG",
            "conditions": [
                [
                    "datetime",
                    "is-between",
                    "10/04/2021 - 13/04/2021"
                ],
                [
                    "include_urls",
                    "contains",
                    "https://example.com"
                ],
                ...
            ],
            "name": "Excepteur sint",
            "message": "Excepteur sint occaecat cupidatat non proident.",
            "subject": "Cupidatat non proident",
            "type": "emails"
        },
        {
            "id": "bX1qA",
            "conditions": [
                [
                    "user_type",
                    "is-user"
                ]
            ],
            "name": "Excepteur sint",
            "message": "Excepteur sint occaecat cupidatat caecat cupidatat non proident",
            "title": "",
            "color_1": "rgb(0, 235, 26)",
            "color_2": "rgb(255, 0, 0)",
            "color_3": "rgb(255, 0, 0)",
            "background": "https://example.com/image.jpg",
            "brand": "https://example.com/image.jpg",
            "icon": "https://example.com/image.jpg",
            "type": "design"
        },
        ...
    ]

تشغيل الأتمتة

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


الوسائط

token
رمز السر الإداري الخاص بك.
function
أدخل automations-run
automation
الأتمتة.
validate
اضبطه على true للتحقق من الأتمتة قبل تنفيذها. القيمة الافتراضية: false.

الاستجابة

    true

تنظيف البيانات

تقوم هذه الوظيفة بالمهام التالية: حذف الزوار الذين مر عليهم أكثر من 24 ساعة. حذف الرسائل في سلة المهملات التي مر عليها أكثر من 30 يومًا. أرشفة الرسائل التي تحتوي على رد من الوكيل كآخر رسالة مضى عليها أكثر من 24 ساعة.


المتطلبات

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

الوسائط

token
رمز السر الإداري الخاص بك.
function
أدخل clean-data.

الاستجابة

    {
        "success": true,
        "response": true
    }

الحصول على الترجمة

إرجاع الترجمات باللغة المحددة.


الوسائط

token
رمز السر الإداري الخاص بك.
function
أدخل get-translation.
language_code
رمز اللغة المكون من حرفين.

الاستجابة

    {
        "name": "العربية",
        "front": {
            "Activities": "أنشطة",
            "All": "الكل",
            "All articles": "جميع المقالات",
            "All fields are required.": "جميع الحقول مطلوبة",
            ...
        },
        "admin": {
            "A conversation was started by": "",
            "Activate": "",
            "Activation complete! Page reload in progress...": "",
            "Add a saved reply": "",
            ...
        }
    }

الحصول على الترجمات

يرجع الترجمات الخاصة بالواجهة الخلفية والواجهة الأمامية، لجميع اللغات المتاحة.


الوسائط

token
رمز السر الإداري الخاص بك.
function
أدخل get-translations.

الاستجابة

    {
        "ar": {
            "name": "العربية",
            "front": {
                "Activities": "أنشطة",
                "All": "الكل",
                "All articles": "جميع المقالات",
                "All fields are required.": "جميع الحقول مطلوبة",
                ...
            },
            "admin": {
                "A conversation was started by": "",
                "Activate": "",
                "Activation complete! Page reload in progress...": "",
                "Add a saved reply": "",
                ...
            }
        },
        "da": {
            "name": "الدانماركية",
            "front": {
                "Activities": "Aktiviteter",
                "All": "Alle",
                "All articles": "Alle artikler",
                "All fields are required.": "Alle felter skal udfyldes.",
                ...
            },
            "admin": {
                "A conversation was started by": "",
                "Activate": "",
                "Activation complete! Page reload in progress...": "",
                "Add a saved reply": "",
                ...
            }
        },
        ...
    }

حفظ الترجمات

حفظ الترجمات وكتابة فوق ملفات الترجمات. تحذير! إذا كانت مصفوفة الترجمات المقدمة تالفة، فقد تتلف ملفات الترجمات. قم بعمل نسخة احتياطية من مجلد الترجمات (\resources\languages\) أولاً. في كل مرة يتم فيها حفظ ترجمة، يتم إنشاء نسخة احتياطية تلقائيًا في مجلد uploads.


الوسائط

token
رمز السر الإداري الخاص بك.
function
أدخل save-translations.
translations
مصفوفة الترجمات بجميع الترجمات. استخدم الطريقة get-translations للحصول على المصفوفة.

الاستجابة

    {
        "success": true,
        "response": true
    }

الحصول على الأقسام

يرجع أقسام Alfchatbot.


الوسائط

token
رمز السر الإداري الخاص بك.
function
أدخل get-departments.

الاستجابة

    {
        "1": {
            "name": "مثال",
            "color": "أصفر",
            "image": "https://example.com/image.png"
        },
        "2": {
            "name": "مثال",
            "color": "أحمر",
            "image": "https://example.com/image.png"
        },
        ...
    }

التقارير

يرجع التقارير المحددة.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-get-intents .
intent_name
اسم النية.
language
لغة الوكيل. الافتراضي: اللغة الرئيسية للوكيل.

الاستجابة

    [
      {
        "name": "projects/example/agent/intents/1655ee2c-8116-45f1-95fu-93700ff32e8d",
        "displayName": "نية الترحيب الافتراضية",
        "priority": 500000,
        "mlEnabled": true,
        "events": [ "WELCOME" ],
        "trainingPhrases": [
          {
            "name": "43ca0e72-6055-4b88-af13-b0d241",
            "type": "EXAMPLE",
            "parts": [
              {
                "text": "just going to say hi"
              }
            ]
          },
          {
            "name": "5159aabc-8524-404f-b679-f2228db1",
            "type": "EXAMPLE",
            "parts": [
              {
                "text": "Hello"
              }
            ]
          },
          ...
        ],
        "action": "input.welcome",
        "messages": [
          {
            "text": {
              "text": [ "Hi! How are you doing?", "Hello! How can I help you?" ]
            }
          }
        ]
      },
      ...
    ]

dialogflow-create-intent

إنشاء نية جديدة في Dialogflow. سيتم ربط النية الجديدة بالوكيل المتزامن في منطقة الإدارة.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-create-intent .
expressions
مصفوفة تحتوي على عبارات التدريب. تنسيق المصفوفة: ["", "", ...].
response
سلسلة تحتوي على استجابة الروبوت عندما يتطابق إدخال المستخدم مع تعبير المستخدم.
agent_language
رمز لغة النية. الافتراضي: اللغة الرئيسية للوكيل. لقائمة أكواد اللغات، يرجى زيارة cloud.google.com/dialogflow/docs/reference/language. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": true
    }

dialogflow-update-intent

تحديث نية Dialogflow.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-update-intent .
intent_name
اسم النية. احصل عليه باستخدام الدالة dialogflow-get-intents.
expressions
مصفوفة تحتوي على عبارات التدريب. تنسيق المصفوفة: ["", "", ...].
agent_language
رمز لغة النية. الافتراضي: اللغة الرئيسية للوكيل. لقائمة أكواد اللغات، يرجى زيارة cloud.google.com/dialogflow/docs/reference/language. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": true
    }

dialogflow-entity

إنشاء كيان جديد في Dialogflow. سيتم ربط الكيان الجديد بالوكيل المتزامن في منطقة الإدارة.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-entity .
entity_name
اسم الكيان الفريد.
synonyms
مصفوفة بقيم الكيان. تنسيق القيمة الفردية: ['value' => '', 'synonyms' => ['', '', ...]].
agent_language
رمز لغة النية. لقائمة أكواد اللغات، يرجى زيارة cloud.google.com/dialogflow/docs/reference/language. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": true
    }

dialogflow-get-entity

يُرجع كيان Dialogflow، أو جميع الكيانات الخاصة بالوكيل.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-get-entity .
entity_id
معرّف الكيان. اتركه فارغًا أو أدخل all للحصول على جميع الكيانات. الافتراضي: all.
agent_language
رمز لغة النية. لقائمة أكواد اللغات، يرجى زيارة cloud.google.com/dialogflow/docs/reference/language. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": {
            "name": "projects/small-talk-43da7/agent/entityTypes/t5td1425-2k13-16cc-a7bb-f119b8d94112a",
            "displayName": "woocommerce-products",
            "kind": "KIND_MAP",
            "autoExpansionMode": "AUTO_EXPANSION_MODE_DEFAULT",
            "entities": [
                {
                    "value": "Abstract Print Cotton Blouse",
                    "synonyms": [
                        "Abstract Print Cotton Blouse"
                    ]
                },
                {
                    "value": "Cashmere Carpenter Beanie",
                    "synonyms": [
                        "Cashmere Carpenter Beanie"
                    ]
                },
                ...
            ],
            "enableFuzzyExtraction": true
        }
    }

dialogflow-get-token

توليد رمز جديد لـ Dialogflow وإرجاعه. يكون الرمز صالحًا لمدة ساعة واحدة.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-get-token .

الاستجابة

    {
        "success": true,
        "response": "ya27.a1AfH6SMDu9dn0TfRbNVAIEsSoeJPD1_jr1JpfL15..."
    }

dialogflow-get-agent

يُرجع تفاصيل وكيل Dialogflow.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-get-agent .

الاستجابة

    {
        "success": true,
        "response": {
            "parent": "projects/woocommerce-abcde",
            "displayName": "ABCDE",
            "defaultLanguageCode": "en",
            "timeZone": "Europe/Madrid",
            "enableLogging": true,
            "matchMode": "MATCH_MODE_HYBRID",
            "classificationThreshold": 0.6,
            "apiVersion": "API_VERSION_V2",
            "tier": "TIER_STANDARD"
        }
    }

dialogflow-set-active-context

تنشيط سياق Dialogflow في جلسة المستخدم النشطة.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-set-active-context .
context_name
اسم السياق.
user_id
معرّف المستخدم المرتبط بالسياق.
parameters
مصفوفة من معلمات Dialogflow المرتبطة بالسياق. مثال: { "woocommerce-products": "Running Shoes" }.
life_span
مدة بقاء السياق. الافتراضي: 5.
token
رمز جلسة Dialogflow (ليس رمز التحديث). استخدمه إذا كان لديك، خلاف ذلك سيتم توليده. الافتراضي: false.
language
لغة الوكيل. الافتراضي: لغة الوكيل الرئيسية.

الاستجابة

    {
       "success": true,
       "response": {
          "responseId": "09f2f825-3dbf-4c27-a5bb-6bd0b71e44b9-1d846bd2",
          "queryResult": {
             "queryText": "sb-trigger-context",
             "parameters": [],
             "outputContexts": [
                {
                   "name": "projects/abcde/agent/sessions/208/contexts/abcde",
                   "lifespanCount": 4,
                   "parameters": {
                      "woocommerce-products": "Sampras Vibration Dampener"
                   }
                }
             ],
             "languageCode": "en"
          }
       }
    }

dialogflow-curl

إرسال البيانات إلى Dialogflow. استخدم هذه الطريقة لإرسال الاستفسارات إلى Dialogflow.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-curl .
query
استعلام Dialogflow بتنسيق JSON.
language
لغة وكيل Dialogflow. الافتراضي: false.
type
نوع الاتصال. القيم المدعومة: POST, GET, PATCH. الافتراضي: POST.
token
رمز جلسة Dialogflow (ليس رمز التحديث). استخدمه إذا كان لديك، خلاف ذلك سيتم توليده. الافتراضي: false.

الاستجابة

    {
       "success": true,
       "response": "..."
    }

يُرجع استجابة Dialogflow. لمزيد من التفاصيل، يرجى زيارة https://cloud.google.com/dialogflow/es/docs/reference/rest/v2-overview


dialogflow-human-takeover

تفعيل الاستيلاء البشري في Dialogflow.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-human-takeover .
conversation_id
معرّف المحادثة.
auto_messages
اضبطه على true لإرسال الرسائل غير المتصلة بالإنترنت، والمتابعة، والاشتراك إذا كانت نشطة. الافتراضي: false.

الاستجابة

    {
       "success": true,
       "response": [true, true, ...]
    }

dialogflow-smart-reply

يُرجع اقتراحات الرد الذكي.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج dialogflow-smart-reply .
conversation_id
message
نص الرسالة التي سيتم إنشاء الاقتراحات بناءً عليها.
smart_reply_data
اضبطه على false.
dialogflow_language
لغة وكيل Dialogflow. الافتراضي: false.
token
رمز وصول Dialogflow. الافتراضي: false.
language_detection
اضبطه على true لاكتشاف لغة الوكيل بناءً على الرسالة.

الاستجابة

                                {
                                   "suggestions": [
                                       "سأكون سعيدًا بالمساعدة!",
                                       "ماذا يمكنني أن أفعل من أجلك؟",
                                       ...
                                   ],
                                   "token": "ya29.a0AVvZVsrU7gAannWzuztBR-AphpjdWr0JrPoq9au0Ai",
                                   "detected_language": false,
                                   "smart_reply": false
                                }
                            

open-ai-message

إرسال رسالة إلى OpenAI وإرجاع الاستجابة، مع إمكانية إضافة الاستجابة إلى محادثة موجودة كرسالة جديدة.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج open-ai-message .
message
السلسلة النصية التي تحتوي على نص الرسالة.
max_tokens
أقصى عدد من الرموز التي يمكن استخدامها لتوليد الرسالة من OpenAI. هذا المعامل يغير طول الرسالة الاستجابية. الافتراضي: 100.
conversation_id
معرّف المحادثة. إذا تم تعيينه، ستضاف استجابة OpenAI إلى محادثة موجودة كرسالة جديدة. الافتراضي: false.

الاستجابة

                                {
                                   "success": true,
                                   "response": [true, 'Excepteur sint occaeca...']
                                }
                            

تُرجع مصفوفة حيث تكون القيمة الأولى true في حالة النجاح، وfalse في حالة الخطأ. القيمة الثانية هي رسالة OpenAI في حالة النجاح، أو رسالة الخطأ في حالة الخطأ.


open-ai-curl

استدعاء واجهة برمجة التطبيقات الخاصة بـ OpenAI (ChatGPT) وإرجاع الاستجابة.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج open-ai-curl .
url_part
جزء URL لواجهة البرمجة. على سبيل المثال، إذا كنت ترغب في استدعاء https://api.openai.com/v1/completions، أدخل فقط completions.
post_fields
معلمات واجهة البرمجة بتنسيق JSON.
type
نوع الاستدعاء HTTP. القيم المسموح بها: GET, POST, UPLOAD.

الاستجابة

                                {
                                   "success": true,
                                   "response": "..."
                                }
                            

تُرجع استجابة openAI. لمزيد من التفاصيل، يرجى زيارة https://beta.openai.com/docs/api-reference/.


google-translate

ترجمة عدة سلاسل نصية عبر Google Translate.


المعلمات

token
رمز السرية الخاص بالمسؤول.
function
إدراج google-translate.
strings
مصفوفة من السلاسل النصية التي تريد ترجمتها، مثل ["Hello world", "How are you?"].
language_code
رمز اللغة المكون من حرفين للغة التي تريد الترجمة إليها.

الاستجابة

                                {
                                    "success": true,
                                    "response": [
                                        [
                                            {
                                                "translatedText": "Ciao mondo",
                                                "detectedSourceLanguage": "en"
                                            },
                                            {
                                                "translatedText": "Come stai?",
                                                "detectedSourceLanguage": "en"
                                            }
                                        ],
                                        "ya29.a0AVvZVsqVHw9U7LxFukwIoQEfwA3JyT_2SSRnP2nX4oQ_XyMP9GQk2O"
                                    ]
                                }
                            

google-language-detection-update-user

كشف لغة النص وتعيينها إلى مستخدم.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج google-language-detection-update-user.
string
النص الذي سيتم كشف لغته.
user_id
معرّف المستخدم.

الاستجابة

                                {
                                   "success": true,
                                   "response": true
                                }
                            

واجهة برمجة التطبيقات
Dialogflow

Dialogflow

قائمة واجهة برمجة تطبيقات Dialogflow. يتطلب استخدام مجموعة واجهات برمجة التطبيقات هذه وجود تطبيق Dialogflow.


رسالة-dialogflow

إرسال رسالة إلى Dialogflow وإضافة استجابة Dialogflow إلى محادثة موجودة كرسالة جديدة.


المعطيات

token
رمزك السري الإداري.
function
أدخل رسالة-dialogflow.
conversation_id
معرف المحادثة.
message
النص الذي يحتوي على الرسالة.
token
رمز الوصول إلى Dialogflow. لأسباب تتعلق بالأداء، يجب دائمًا تضمين هذا الرمز. ستحصل على الرمز بعد المكالمة الأولى لهذه الطريقة، من الاستجابة.
language
لغة الروبوت. الافتراضي: لغة الروبوت الرئيسية.
attachments
مصفوفة من المرفقات بتنسيق JSON. صيغة المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link بالرابط الكامل للمرفق. يمكن لـ Dialogflow قراءة هذه المصفوفة.
event
تحفيز حدث في Dialogflow.
parameters
مصفوفة من المعلومات الاختيارية. صيغة المصفوفة: { "name": "value", "name": "value", ...}.

الاستجابة

                                        {
                                            "success": true,
                                            "response": {
                                                "token": "ya29.a0AfH6SE4SVIeOPWSfxRVfHNcJIoR-IvRTtrEe4P9VXHa",
                                                "messages": [
                                                    {
                                                        "message": "مرحبًا! كيف حالك؟",
                                                        "attachments": []
                                                    }
                                                ],
                                                "response": {
                                                    "responseId": "1a5e30d0-d6d4-4f0c-83e3-2fb9e31c2a5e-e15c53b8",
                                                    "queryResult": {
                                                        "queryText": "مرحبًا",
                                                        "action": "input.welcome",
                                                        "parameters": [],
                                                        "allRequiredParamsPresent": true,
                                                        "fulfillmentText": "مرحبًا! كيف حالك؟",
                                                        "fulfillmentMessages": [
                                                            {
                                                                "platform": "ACTIONS_ON_GOOGLE",
                                                                "simpleResponses": {"simpleResponses": [ { "textToSpeech": "مثال"} ]}
                                                            },
                                                            {
                                                                "text": { "text": [ "مرحبًا! كيف حالك؟" ]  }
                                                            }
                                                        ],
                                                        "intent": {
                                                            "name": "projects/api-project-657752147/agent/intents/fe27e-f39d-4db3-92c2",
                                                            "displayName": "Default Welcome Intent"
                                                        },
                                                        "intentDetectionConfidence": 1,
                                                        "languageCode": "ar"
                                                    },
                                                    "alternativeQueryResults": [
                                                        {
                                                            "queryText": "مرحبًا",
                                                            "languageCode": "ar"
                                                        }
                                                    ]
                                                }
                                            }
                                        }
                                    

استجابات أخرى محتملة: dialogflow-not-active, رسالة خطأ MySQL، أو cURL.


الحصول على نوايا-dialogflow

يُرجع النية المحددة من Dialogflow أو جميع النوايا.


المعطيات

token
رمزك السري الإداري.
function
أدخل الحصول على نوايا-dialogflow .
intent_name
اسم النية.
language
لغة الوكيل. الافتراضي: لغة الوكيل الرئيسية.

الاستجابة

                                        [
                                          {
                                            "name": "projects/example/agent/intents/1655ee2c-8116-45f1-95fu-93700ff32e8d",
                                            "displayName": "Default Welcome Intent",
                                            "priority": 500000,
                                            "mlEnabled": true,
                                            "events": [ "WELCOME" ],
                                            "trainingPhrases": [
                                              {
                                                "name": "43ca0e72-6055-4b88-af13-b0d241",
                                                "type": "EXAMPLE",
                                                "parts": [
                                                  {
                                                    "text": "فقط أقول مرحبًا"
                                                  }
                                                ]
                                              },
                                              {
                                                "name": "5159aabc-8524-404f-b679-f2228db1",
                                                "type": "EXAMPLE",
                                                "parts": [
                                                  {
                                                    "text": "مرحبًا"
                                                  }
                                                ]
                                              },
                                              ...
                                            ],
                                            "action": "input.welcome",
                                            "messages": [
                                              {
                                                "text": {
                                                  "text": [ "مرحبًا! كيف حالك؟", "مرحبًا! كيف يمكنني مساعدتك؟" ]
                                                }
                                              }
                                            ]
                                          },
                                          ...
                                        ]
                                    

إنشاء نية-dialogflow

إنشاء نية جديدة في Dialogflow. سيتم ربط النية الجديدة بالوكيل المتزامن في منطقة الإدارة.


المعطيات

token
رمزك السري الإداري.
function
أدخل إنشاء نية-dialogflow .
expressions
مصفوفة تحتوي على العبارات التدريبية. صيغة المصفوفة: ["", "", ...].
response
نص يحتوي على استجابة الروبوت عند مطابقة الإدخال المستخدم لتعبير المستخدم.
agent_language
رمز لغة النية. الافتراضي: لغة الوكيل الرئيسية. لقائمة رموز اللغات، قم بزيارة cloud.google.com/dialogflow/docs/reference/language. الافتراضي: false.

الاستجابة

{
    "success": true,
    "response": true
}

تحديث نية في Dialogflow

تحديث نية في Dialogflow.


المعطيات

token
رمزك السري الإداري.
function
أدخل dialogflow-update-intent .
intent_name
اسم النية. احصل عليه باستخدام الدالة dialogflow-get-intents.
expressions
مجموعة من العبارات التدريبية. صيغة المصفوفة: ["", "", ...].
agent_language
رمز لغة النية. الافتراضي: لغة الوكيل الرئيسية. للحصول على قائمة رموز اللغات، قم بزيارة cloud.google.com/dialogflow/docs/reference/language. الافتراضي: false.

الاستجابة

{
    "success": true,
    "response": true
}

dialogflow-entity

إنشاء كيان جديد في Dialogflow. سيتم ربط الكيان الجديد بالوكيل المتزامن في منطقة الإدارة.


المعطيات

token
رمزك السري الإداري.
function
أدخل dialogflow-entity .
entity_name
اسم الكيان الفريد.
synonyms
مصفوفة من قيم الكيان. صيغة القيمة الفردية: ['value' => '', 'synonyms' => ['', '', ...]].
agent_language
رمز لغة الوكيل. للحصول على قائمة رموز اللغات، قم بزيارة cloud.google.com/dialogflow/docs/reference/language. الافتراضي: false.

الاستجابة

{
    "success": true,
    "response": true
}

dialogflow-get-entity

إرجاع كيان من Dialogflow، أو جميع كيانات الوكيل.


المعطيات

token
رمزك السري الإداري.
function
أدخل dialogflow-get-entity .
entity_id
معرف الكيان. اتركه فارغًا أو أدخل all للحصول على جميع الكيانات. الافتراضي: all.
agent_language
رمز لغة الوكيل. للحصول على قائمة رموز اللغات، قم بزيارة cloud.google.com/dialogflow/docs/reference/language. الافتراضي: false.

الاستجابة

{
    "success": true,
    "response": {
      "name":"projects/small-talk-43da7/agent/entityTypes/t5td1425-2k13-16cc-a7bb-f119b8d94112a",
      "displayName":"woocommerce-products",
      "kind":"KIND_MAP",
      "autoExpansionMode":"AUTO_EXPANSION_MODE_DEFAULT",
      "entities":[
         {
            "value":"Abstract Print Cotton Blouse",
            "synonyms":[
               "Abstract Print Cotton Blouse"
            ]
         },
         {
            "value":"Cashmere Carpenter Beanie",
            "synonyms":[
               "Cashmere Carpenter Beanie"
            ]
         },
         ...
      ],
      "enableFuzzyExtraction":true
    }
}

dialogflow-get-token

توليد رمز Dialogflow جديد وإرجاعه. الرمز صالح لمدة ساعة واحدة.


المعطيات

token
الرمز السري الإداري الخاص بك.
function
أدخل dialogflow-get-token .

الاستجابة

{
    "success": true,
    "response": "ya27.a1AfH6SMDu9dn0TfRbNVAIEsSoeJPD1_jr1JpfL15..."
}

dialogflow-get-agent

إرجاع تفاصيل وكيل Dialogflow.


المعطيات

token
الرمز السري الإداري الخاص بك.
function
أدخل dialogflow-get-agent .

الاستجابة

{
    "success": true,
    "response": {
        "parent":"projects/woocommerce-abcde",
        "displayName": "ABCDE",
        "defaultLanguageCode": "en",
        "timeZone": "Europe/Madrid",
        "enableLogging": true,
        "matchMode": "MATCH_MODE_HYBRID" ,
        "classificationThreshold": 0.6,
        "apiVersion": "API_VERSION_V2",
        "tier": "TIER_STANDARD"
    }
}

dialogflow-set-active-context

تفعيل سياق Dialogflow في جلسة المستخدم النشطة.


المعطيات

token
الرمز السري الإداري الخاص بك.
function
أدخل dialogflow-set-active-context .
context_name
اسم السياق.
user_id
معرف المستخدم المرتبط بالسياق.
parameters
مجموعة من معطيات Dialogflow المرتبطة بالسياق. مثال: { "woocommerce-products": "Running Shoes" }.
life_span
عمر السياق. الافتراضي: 5.
token
رمز جلسة Dialogflow (ليس رمز التحديث). أدخلها إذا كانت متاحة لديك، وإلا سيتم توليدها. الافتراضي: false.
language
لغة الوكيل. الافتراضي: لغة الوكيل الرئيسية.

الاستجابة

{
   "success": true,
   "response": {
      "responseId": "09f2f825-3dbf-4c27-a5bb-6bd0b71e44b9-1d846bd2",
      "queryResult": {
         "queryText": "sb-trigger-context",
         "parameters": [],
         "outputContexts": [
            {
               "name": "projects/abcde/agent/sessions/208/contexts/abcde",
               "lifespanCount": 4,
               "parameters": {
                  "woocommerce-products": "Sampras Vibration Dampener"
               }
            }
         ],
         "languageCode": "en"
      }
   }
}

dialogflow-curl

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


الوسائط

token
رمزك السري الإداري.
function
أدخل dialogflow-curl .
query
الاستعلام الخاص بـ Dialogflow بتنسيق JSON.
language
لغة وكيل Dialogflow. الافتراضي: false.
type
نوع الاتصال. القيم المدعومة: POST, GET, PATCH. الافتراضي: POST.
token
رمز الجلسة في Dialogflow (ليس رمز التحديث). قم بتمريره إذا كان لديك، وإلا سيتم إنشاؤه. الافتراضي: false.

الاستجابة

{
   "success": true,
   "response": "..."
}

تُعيد الاستجابة من Dialogflow. مزيد من التفاصيل في https://cloud.google.com/dialogflow/es/docs/reference/rest/v2-overview


dialogflow-human-takeover

تفعيل استلام المحادثة من قبل إنسان في Dialogflow.


الوسائط

token
رمزك السري الإداري.
function
أدخل dialogflow-human-takeover .
conversation_id
معرف المحادثة.
auto_messages
قم بتعيينه إلى true لإرسال الرسائل غير المتصلة، المتابعة، والاشتراك إذا كانت نشطة. الافتراضي: false.

الاستجابة

{
   "success": true,
   "response": [true, true, ...]
}

dialogflow-smart-reply

إرجاع اقتراحات الردود الذكية.


الوسائط

token
رمزك السري الإداري.
function
أدخل dialogflow-smart-reply .
conversation_id
message
نص الرسالة التي من خلالها يتم توليد الاقتراحات.
smart_reply_data
قم بتعيينه إلى false.
dialogflow_language
لغة وكيل Dialogflow. الافتراضي: false.
token
رمز وصول Dialogflow. الافتراضي: false.
language_detection
قم بتعيينه إلى true لاكتشاف لغة الوكيل من خلال الرسالة.

الاستجابة

{
   "suggestions": [
       "سأكون سعيدًا بمساعدتك!",
       "ماذا يمكنني أن أفعل من أجلك؟",
       ...
    ],
    "token": "ya29.a0AVvZVsrU7gAannWzuztBR-AphpjdWr0JrPoq9au0Ai",
    "detected_language": false,
    "smart_reply": false
}

open-ai-message

إرسال رسالة إلى OpenAI وإرجاع الاستجابة، مع إمكانية إضافة الاستجابة إلى محادثة موجودة كرسالة جديدة.


الوسائط

token
رمزك السري الإداري.
function
أدخل open-ai-message .
message
النص الذي يحتوي على محتوى الرسالة.
max_tokens
الحد الأقصى لعدد الرموز في OpenAI التي يمكن استخدامها لتوليد الرسالة. هذا المعامل يغير طول الرسالة المستجيبة. الافتراضي: 100.
conversation_id
معرف المحادثة. إذا تم تعيينه، تتم إضافة استجابة OpenAI إلى محادثة موجودة كرسالة جديدة. الافتراضي: false.

الاستجابة

{
   "success": true,
   "response": [true, 'Excepteur sint occaeca...']
}

إرجاع مصفوفة حيث تكون القيمة الأولى مضبوطة على true عند النجاح، وfalse عند حدوث خطأ. القيمة الثانية هي رسالة OpenAI عند النجاح، أو رسالة الخطأ عند حدوث خطأ.


open-ai-curl

اتصل بواجهة برمجة التطبيقات لـ OpenAI (ChatGPT) وأعد الاستجابة.


الوسائط

token
رمزك السري الإداري.
function
أدخل open-ai-curl .
url_part
جزء عنوان URL الخاص بواجهة البرمجة. على سبيل المثال، إذا كنت تريد الاتصال بـ https://api.openai.com/v1/completions، أدخل فقط completions.
post_fields
المعلمات الخاصة بواجهة البرمجة بتنسيق JSON.
type
نوع الاتصال HTTP. القيم المسموح بها: GET, POST, UPLOAD.

الاستجابة

{
   "success": true,
   "response": "..."
}

تُعيد استجابة openAI. مزيد من التفاصيل في https://beta.openai.com/docs/api-reference/.


google-translate

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


الوسائط

token
رمزك السري الإداري.
function
أدخل google-translate.
strings
مصفوفة النصوص لترجمتها، على سبيل المثال ["Hello world", "How are you?"].
language_code
رمز اللغة المكون من حرفين للغة التي تريد الترجمة إليها.

الاستجابة

{
    "success": true,
    "response": [
        [
            {
                "translatedText": "Ciao mondo",
                "detectedSourceLanguage": "en"
            },
            {
                "translatedText": "Come stai?",
                "detectedSourceLanguage": "en"
            }
        ],
        "ya29.a0AVvZVsqVHw9U7LxFukwIoQEfwA3JyT_2SSRnP2nX4oQ_XyMP9GQk2O"
    ]
}

google-language-detection-update-user

اكتشاف لغة النص وتعيينها إلى مستخدم.


الوسائط

token
رمزك السري الإداري.
function
أدخل google-language-detection-update-user.
string
النص الذي سيتم اكتشاف اللغة منه.
user_id
معرف المستخدم.

الاستجابة

{
   "success": true,
   "response": true
}

WEB API
WooCommerce

WooCommerce

قائمة واجهة برمجة التطبيقات لـ WooCommerce. تطبيق WooCommerce مطلوب لاستخدام مجموعة من هذه الواجهات البرمجية.


woocommerce-get-customer

يعيد تفاصيل عميل WooCommerce.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج woocommerce-get-customer.
session_key
احصل عليه باستخدام الطريقة woocommerce-get-session-key.

الاستجابة

                                    {
                                        "success": true,
                                        "response": {
                                            "customer_id": "1",
                                            "user_id": null,
                                            "username": "",
                                            "first_name": "Don",
                                            "last_name": "John",
                                            "email": "email@example.com",
                                            "date_last_active": "2020-08-03 07:21:18",
                                            "date_registered": null,
                                            "country": "UK",
                                            "postcode": "E14HR",
                                            "city": "London",
                                            "state": "London"
                                        }
                                    }
                                

woocommerce-get-user-orders

يعيد مصفوفة تحتوي على ملخص الطلبات للمستخدم.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج woocommerce-get-user-orders.
user_id
معرّف المستخدم.

الاستجابة

                                    {
                                        "success": true,
                                        "response": [
                                            {
                                                "id": "603",
                                                "date": "2020-10-22 14:58:11",
                                                "total": "19",
                                                "status": "wc-processing"
                                            },
                                            {
                                                "order_id": "602",
                                                "date": "2020-10-19 14:02:35",
                                                "total": "19",
                                                "status": "wc-on-hold",
                                            },
                                            ...
                                        ]
                                    }
                                

woocommerce-get-order

يعيد تفاصيل الطلب.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج woocommerce-get-order.
order_id
معرّف الطلب.

الاستجابة

                                    {
                                        "success": true,
                                        "response": {
                                            "id": "601",
                                            "date": "2020-10-19 14:02:10",
                                            "total": "19",
                                            "status": "wc-on-hold",
                                            "products": [
                                                {
                                                    "name": "Sony Play Station 5",
                                                    "id": "53",
                                                    "quantity": "1",
                                                    "price": "199"
                                                }
                                            ],
                                            "billing_address": "Don John\\n501 Baker Street\\nEW578H London, UK",
                                            "shipping_address": "",
                                            "currency_symbol": "€"
                                        }
                                    }
                                

woocommerce-get-product

يعيد تفاصيل المنتج.


الوسائط

token
رمز السرية الخاص بالمسؤول.
function
إدراج woocommerce-get-product.
product_id
معرّف المنتج.

الاستجابة

    {
        "success": true,
        "response": {
            "id": "53",
            "name": "سوني بلاي ستيشن 5",
            "description": "لوريم إيبسوم دولار سيت أميت، كونسكتيتور أديبيسنج إيليت...",
            "price": "19",
            "image": "https://example.com/image.jpg",
            "rating": "",
            "url": "https://example.com/?p=53"
        }
    }

woocommerce-get-products

يعرض المنتجات التي تتطابق مع الاستعلام المقدم إن وجدت، وإلا يعرض جميع المنتجات.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-get-products .
filters
مجموعة من الفلاتر. الصياغة: [ "filter" => "value", "filter" => "value", ... ]. استخدم الفلاتر للحصول على المنتجات التي تتطابق مع معايير معينة. الفلاتر المتاحة:
  • taxonomy
    معرف التصنيف أو الاسم. التصنيفات والعلامات هي تصنيفات.
  • attribute
    اسم مصطلح خاصية المنتج. مثال: اللون، الحجم.
  • date
    تاريخ نشر المنتج. إذا كانت القيمة سلسلة نصية، يعرض المنتجات الأقدم من التاريخ المعطى. إذا كانت القيمة مجموعة، يعرض المنتجات بين التواريخ المعطاة. صياغة المجموعة: [ "startDate" => "", "endDate" => "" ]. تدعم عدة تنسيقات تاريخ. مثال: 2020-12-30 06:35:59.
  • max-price
    أقصى سعر للمنتج. يعرض فقط المنتجات التي يكون سعرها أقل من القيمة المحددة.
  • min-price
    أدنى سعر للمنتج. يعرض فقط المنتجات التي يكون سعرها أعلى من القيمة المحددة.
  • discounted
    المنتجات الموجودة في العرض. اضبطها على true للحصول فقط على المنتجات المخفضة.
pagination
حد عدد النتائج إلى 100. اضبطها على 0 للحصول على المنتجات من 1 إلى 100، أو على 1 للحصول على المنتجات من 101 إلى 200...
language
رمز لغة المنتجات. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "53",
                "name": "سوني بلاي ستيشن 5",
                "description": "لوريم إيبسوم دولار سيت أميت، كونسكتيتور أديبيسنج إيليت...",
                "date": "2020-08-03 07:06:25",
                "price": "19",
                "image": "https://example.com/image.jpg",
                "rating": "",
                "url": "https://example.com?p=53"
            },
            {
                "id": "54",
                "name": "إكس بوكس سيريس X",
                "description": "لوريم إيبسوم دولار سيت أميت، كونسكتيتور أديبيسنج إيليت...",
                "date": "2020-08-03 07:08:19",
                "price": "59",
                "image": "https://example.com/image.jpg",
                "rating": "",
                "url": "https://example.com?p=54"
            },
            ...
        ]
    }

woocommerce-search-products

يعرض المنتجات التي تتطابق مع البحث.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-search-products .
search
سلسلة البحث.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "53",
                "name": "سوني بلاي ستيشن 5",
                "description": "لوريم إيبسوم دولار سيت أميت، كونسكتيتور أديبيسنج إيليت...",
                "date": "2020-08-03 07:06:25",
                "price": "19",
                "image": "https://example.com/image.jpg",
                "rating": "",
                "url": "https://example.com?p=53"
            },
            {
                "id": "54",
                "name": "إكس بوكس سيريس X",
                "description": "لوريم إيبسوم دولار سيت أميت، كونسكتيتور أديبيسنج إيليت...",
                "date": "2020-08-03 07:08:19",
                "price": "59",
                "image": "https://example.com/image.jpg",
                "rating": "",
                "url": "https://example.com?p=54"
            },
            ...
        ]
    }

woocommerce-get-taxonomies

يعرض تصنيفات المنتجات أو العلامات الخاصة بـ WooCommerce.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-get-taxonomies.
type
أدخل category أو tag.
language
رمز لغة التصنيفات. الافتراضي: false.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "id": "33",
                "name": "الملابس",
                "slug": "clothes"
            },
            {
                "id": "34",
                "name": "الإكسسوارات",
                "slug": "accessories"
            },
            ...
        ]
    }

woocommerce-get-attributes

يعرض خصائص المنتجات في WooCommerce ومصطلحات الخصائص.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-get-attributes.
type
اضبطها على terms للحصول على أسماء المصطلحات فقط، و attribute للحصول على أسماء الخصائص فقط. الافتراضي: all.
language
رمز لغة الخصائص. الافتراضي: false.

الاستجابة


All
    {
        "success": true,
        "response": {
            "colors": {
                "id": "1",
                "name": "اللون",
                "slug": "pa_color",
                "terms": {
                    "red": "أحمر",
                    "yellow": "أصفر",
                    "green": "أخضر",
                    ...
                }
            },
            ...
        }
    }
Terms
    {
        "success": true,
        "response": [
            {
                "name": "أحمر"
            },
            {
                "name": "أصفر"
            },
            {
                "name": "صغير"
            },
            {
                "name": "متوسط"
            },
            {
                "name": "كبير"
            },
            ...
        ]
    }
Attributes
    {
        "success": true,
        "response": [
            {
                "id": "1",
                "name": "اللون",
                "slug": "pa_color"
            },
            {
                "id": "2",
                "name": "الحجم",
                "slug": "pa_size"
            },
            ...
        ]
    }

woocommerce-get-product-id-by-name

ابحث عن منتج بالاسم ويعرض المعرف الخاص به.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-get-product-id-by-name.
name
اسم المنتج.

الاستجابة

    {
        "success": true,
        "response": 123 أو false
    }

woocommerce-get-product-images

يعرض مجموعة من الصور الخاصة بمنتج.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-get-product-images.
product_id
معرف المنتج.

الاستجابة

    {
        "success": true,
        "response": [
            "https://example.com/image.jpg",
            "https://example.com/image.jpg",
            ...
        ]
    }

woocommerce-get-product-taxonomies

يعرض التصنيفات والعلامات الخاصة بمنتج.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-get-product-taxonomies.
product_id
معرف المنتج.

الاستجابة

    {
        "success": true,
        "response": [
            {
                "term_id": "34",
                "name": "أحمر",
                "slug": "red",
                "term_group": "0",
                "taxonomy": "product_cat"
            },
            {
                "term_id": "35",
                "name": "إصدار الصيف",
                "slug": "summer-edition",
                "term_group": "0",
                "taxonomy": "product_tag"
            },
            ...
        ]
    }

woocommerce-get-attribute-by-term

يعرض خاصية مصطلح خاصية.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-get-attribute-by-term.
term_name
اسم المصطلح.

الاستجابة

    {
        "success": true,
        "response": {
            "id": "1",
            "name": "اللون",
            "slug": "pa_color"
        }
    }

woocommerce-get-attribute-by-name

ابحث عن خاصية بالاسم الخاص بها ويعرضها.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-get-attribute-by-name.
name
اسم الخاصية.

الاستجابة

    {
        "success": true,
        "response": {
            "id": "1",
            "name": "اللون",
            "slug": "pa_color"
        }
    }

woocommerce-is-in-stock

تحقق مما إذا كان المنتج متاحًا في المخزون.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-is-in-stock.
product_id
معرف المنتج.

الاستجابة

    {
        "success": true,
        "response": true أو false
    }

woocommerce-coupon

أنشئ قسيمة وعرض رمز القسيمة.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-coupon.
discount
نسبة الخصم. أدخل قيمة من 1 إلى 100.
expiration
انتهاء صلاحية القسيمة. مثال: 3 أيام، 1 دقيقة، 60 ثانية.
product_id
سلسلة من المعرفات مفصولة بفواصل. مثال: 11,53,63. إذا تم تعيينها، تكون القسيمة صالحة فقط للمنتجات ذات المعرفات المحددة.
user_id
إذا تم تعيينها، تكون القسيمة صالحة فقط للمستخدم الذي لديه المعرف المحدد.

الاستجابة

    {
        "success": true,
        "response": [ "fxsocl3490oq", "50" ]
    }

[ رمز القسيمة، قيمة الخصم ]


woocommerce-coupon-check

تحقق مما إذا كانت هناك قسائم مرتبطة بالمستخدم المعطى.


المعطيات

token
رمز سري الأدمن الخاص بك.
function
أدخل woocommerce-coupon-check.
user_id
معرف المستخدم.

الاستجابة

                            {
                                "success": true,
                                "response": true or false
                            }
                            

يرجع true إذا كانت هناك قسائم مرتبطة بالمستخدم، خلاف ذلك يرجع false.


woocommerce-coupon-delete-expired

حذف جميع القسائم المنتهية الصلاحية. يتم تشغيل هذه الوظيفة تلقائيًا كل ساعة عبر مهام cron.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل woocommerce-coupon-delete-expired.

الاستجابة

                            {
                                "success": true,
                                "response": true
                            }
                            

woocommerce-get-url

يرجع عنوان URL لمتجر WooCommerce.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل woocommerce-get-url.
type
نوع URL الذي تريد الحصول عليه. القيم المقبولة: tag, category, cart, shop, checkout.
name
اسم الفئة أو الرابط.
language
لغة صفحة URL. الافتراضي: false.

الاستجابة

                            {
                                "success": true,
                                "response": "https://example.com/checkout"
                            }
                            

woocommerce-get-session

يرجع متغير الجلسة للمستخدم. يحتوي متغير الجلسة على تفاصيل عربة التسوق الخاصة بالمستخدم وأكثر.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل woocommerce-get-session.
session_key
مفتاح الجلسة للمستخدم. احصل عليه باستخدام الطريقة woocommerce-get-session-key.

الاستجابة

                            {
                                "success": true,
                                "response": {
                                    "cart": {
                                        "d82c8d1619ah8176d665453cfb2e66f0": {
                                            "key": "d82c8d1619ah8176d665453cfb2e66f0",
                                            "product_id": 53,
                                            "variation_id": 0,
                                            "variation": [],
                                            "quantity": 3,
                                            "data_hash": "b5c1d6ca8bae6d4896jf1807cdf713f0",
                                            "line_tax_data": {
                                                "subtotal": [],
                                                "total": []
                                            },
                                            "line_subtotal": 57,
                                            "line_subtotal_tax": 0,
                                            "line_total": 57,
                                            "line_tax": 0
                                        }
                                    },
                                    "cart_totals": {
                                        "subtotal": "57.00",
                                        "subtotal_tax": 0,
                                        "shipping_total": "0.00",
                                        "shipping_tax": 0,
                                        "shipping_taxes": [],
                                        "discount_total": 0,
                                        "discount_tax": 0,
                                        "cart_contents_total": "57.00",
                                        "cart_contents_tax": 0,
                                        "cart_contents_taxes": [],
                                        "fee_total": "0.00",
                                        "fee_tax": 0,
                                        "fee_taxes": [],
                                        "total": "57.00",
                                        "total_tax": 0
                                    },
                                    "applied_coupons": "a:0:{}",
                                    "coupon_discount_totals": "a:0:{}",
                                    "coupon_discount_tax_totals": "a:0:{}",
                                    "removed_cart_contents": "a:0:{}",
                                    "customer": {
                                        "id": "1",
                                        "date_modified": "2020-08-20T09:33:03+00:00",
                                        "postcode": "",
                                        "city": "",
                                        "address_1": "",
                                        "address": "",
                                        "address_2": "",
                                        "state": "",
                                        "country": "",
                                        "shipping_postcode": "",
                                        "shipping_city": "",
                                        "shipping_address_1": "",
                                        "shipping_address": "",
                                        "shipping_address_2": "",
                                        "shipping_state": "",
                                        "shipping_country": "",
                                        "is_vat_exempt": "",
                                        "calculated_shipping": "",
                                        "first_name": "",
                                        "last_name": "",
                                        "company": "",
                                        "phone": "",
                                        "email": "",
                                        "shipping_first_name": "",
                                        "shipping_last_name": "",
                                        "shipping_company": ""
                                    }
                                }
                            }
                            

woocommerce-get-session-key

يرجع مفتاح الجلسة للمستخدم.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل woocommerce-get-session-key.
user_id
معرف المستخدم.

الاستجابة

                            {
                                "success": true,
                                "response": "f96ab7c6da236e6754d"
                            }
                            

woocommerce-payment-methods

يرجع طرق الدفع المتاحة في المتجر.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل woocommerce-payment-methods.

الاستجابة

{
    "success": true,
    "response": [
        "التحويل البنكي المباشر",
        "المدفوعات بالشيكات",
        "الدفع عند التسليم",
        "Alipay",
        "Multibanco",
        "بطاقة الائتمان (Stripe)"
    ]
}

woocommerce-shipping-locations

يرجع مواقع الشحن الخاصة بالمتجر، أو تحقق مما إذا كان المتجر يشحن إلى موقع معين.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل woocommerce-shipping-locations.
country_code
رمز بلد. إذا تم توفيره، تحقق مما إذا كان المتجر يشحن إلى بلد الرمز المحدد. الافتراضي: false.

الاستجابة

{
    "success": true,
    "response": [
        "أستراليا، إيطاليا، الولايات المتحدة، ...",
        [
            [
                "أستراليا",
                "AU"
            ],
            [
                "إيطاليا",
                "IT"
            ],
            [
                "الولايات المتحدة",
                "US"
            ],
            ...
        ],
        false
    ]
}

قيمة المصفوفة الأخيرة هي true إذا لم يكن المتجر يشحن إلى البلدان المرتجعة.


WEB API
Slack

Slack

قائمة واجهات برمجة التطبيقات الخاصة بـ Dialogflow. تطبيق Slack مطلوب لاستخدام مجموعة هذه الواجهات البرمجية.

send-slack-message

إرسال رسالة إلى Slack. تطبيق Slack مطلوب ويجب أن يكون Slack نشطًا في منطقة الإعدادات.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل send-slack-message.
user_id
معرف المستخدم المرتبط بالرسالة.
full_name
اسم المرسل، سيظهر في Slack على يسار الرسالة. يجب أن يكون اسم وكيل إذا كانت الرسالة من وكيل، خلاف ذلك اسم المستخدم.
profile_image
صورة الملف الشخصي للمرسل، ستظهر في Slack على يسار الرسالة. يجب أن تكون صورة الملف الشخصي للوكيل إذا كانت الرسالة من وكيل، خلاف ذلك صورة الملف الشخصي للمستخدم. الصيغ المدعومة: PNG و JPG. الافتراضي:
message
محتوى الرسالة.
attachments
مصفوفة من المرفقات بتنسيق JSON. تنسيق المصفوفة: [["name", "link"], ["name", "link"], ...]. استبدل name باسم المرفق و link بالرابط الكامل للمرفق. يتعين عليك تحميل المرفقات إلى خادم بعيد، هذه الوسيطة تقبل فقط عنوان URL للملفات التي تم تحميلها بالفعل. الافتراضي: [].
channel
قناة Slack المرتبطة بالرسالة. لأسباب تتعلق بالأداء، تأكد دائمًا من تضمين القناة. ستحصل على القناة بعد أول استدعاء لهذه الطريقة، من الاستجابة (مثال: C011JFFGSKY).

الاستجابة

        {"success":true,"response":["C011JFFGSKY"]}
    

استجابات أخرى ممكنة: slack-not-active, رسالة خطأ MySQL أو cURL.


archive-slack-channels

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


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل archive-slack-channels.

الاستجابة

{
    "success": true,
    "response": true
}

slack-users

يرجع معلومات اتصال أعضاء Slack من الوكلاء.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل slack-users.

الاستجابة

{
    "success": true,
    "response": {
        "slack_users": [
            {
                "id": "U328T701Z",
                "name": "Support Schio"
            },
            {
                "id": "UR5F0GK7T",
                "name": "Robert Pitt"
            }
            ...
        ],
        "agents": [
            {
                "id": "2",
                "name": "Alex Smith"
            },
            {
                "id": "445",
                "name": "Federico Schiocchet"
            },
            {
                "id": "724",
                "name": "Alberto Prade"
            }
            ...
        ],
        "saved": {
            "U328T701Z": "445",
            "UR5F0GK7T": "2"
            ...
        }
    }
}

slack-presence

تحقق مما إذا كان وكيل Slack متصلاً، أو إذا كان على الأقل وكيل واحد متصلاً، أو يرجع جميع المستخدمين المتصلين.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل slack-presence.
agent_id
معرف الوكيل للتحقق منه. الافتراضي: false.
list
قم بتعيينها إلى true لإرجاع جميع المستخدمين المتصلين. الافتراضي: false.

الاستجابة

{
    "success": true,
    "response": "online"
}

يرجع online أو offline للتحقق من وكيل واحد. يرجع مصفوفة من معرفات المستخدمين للتحقق من عدة مستخدمين.


slack-channels

يرجع قائمة بجميع قنوات Slack، بما في ذلك القنوات المؤرشفة.


الوسائط

token
رمز الأمان الإداري الخاص بك.
function
أدخل slack-channels.

الاستجابة

{
    "ok": true,
    "channels": [
        {
            "id": "C012AB3CD",
            "name": "general",
            "is_channel": true,
            "is_group": false,
            "is_im": false,
            "created": 1449252889,
            "creator": "U012A3CDE",
            "is_archived": false,
            "is_general": true,
            "unlinked": 0,
            "name_normalized": "general",
            "is_shared": false,
            "is_ext_shared": false,
            "is_org_shared": false,
            "pending_shared": [],
            "is_pending_ext_shared": false,
            "is_member": true,
            "is_private": false,
            "is_mpim": false,
            "updated": 1678229664302,
            "topic": {
                "value": "إعلانات عامة وأمور تتعلق بالعمل",
                "creator": "",
                "last_set": 0
            },
            "purpose": {
                "value": "هذه القناة للتواصل والإعلانات على مستوى الفريق. جميع أعضاء الفريق في هذه القناة.",
                "creator": "",
                "last_set": 0
            },
            "previous_names": [],
            "num_members": 4
        },
        {
            "id": "C061EG9T2",
            "name": "random",
            "is_channel": true,
            "is_group": false,
            "is_im": false,
            "created": 1449252889,
            "creator": "U061F7AUR",
            "is_archived": false,
            "is_general": false,
            "unlinked": 0,
            "name_normalized": "random",
            "is_shared": false,
            "is_ext_shared": false,
            "is_org_shared": false,
            "pending_shared": [],
            "is_pending_ext_shared": false,
            "is_member": true,
            "is_private": false,
            "is_mpim": false,
            "updated": 1678229664302,
            "topic": {
                "value": "الدردشة غير المتعلقة بالعمل ومواضيع الاستراحة",
                "creator": "",
                "last_set": 0
            },
            "purpose": {
                "value": "مكان للتسلية غير المتعلقة بالعمل، والدردشة، والنقاشات التي تفضل إبقاءها بعيدًا عن القنوات المتعلقة بالعمل.",
                "creator": "",
                "last_set": 0
            },
            "previous_names": [],
            "num_members": 4
        }
    ],
    "response_metadata": {
        "next_cursor": "dGVhbTpDMDYxRkE1UEI="
    }
}

الـ Webhooks

slack-message-sent

الـ Webhook الذي يتم إرساله عندما يتم إرسال رسالة إلى Slack.


الاستجابة

                                {
                                    "function": "slack-message-sent",
                                    "key": "xxxxxxxx",
                                    "sender-url": "https://example.com",
                                    "data": {
                                        "message": "مرحبًا! كيف حالك؟",
                                        "conversation_id": "1057",
                                        "slack_channel": "C028BGU6TTT"
                                    }
                                }
                            

WEB API
الـ Webhooks

الـ Webhooks

الـ Webhooks هي رسائل تلقائية يتم إرسالها من Alfchatbot إلى عنوان URL عند حدوث شيء ما. تحتوي على بيانات مخصصة ويتم إرسالها إلى عنوان URL فريد تحدده أنت.

الاستخدام

  • قم بتسجيل الدخول إلى منطقة الإدارة وانتقل إلى الإعدادات > متنوعات > Webhooks.
  • أدخل عنوان URL الوجهة. سيرسل Alfchatbot البيانات إلى هذا العنوان. يجب أن يشير هذا العنوان إلى ملف PHP يمكنه قراءة البيانات المستلمة، يمكنك استخدام الكود $response = json_decode(file_get_contents('php://input'), true); للحصول على البيانات، وستكون المتغير $response عبارة عن مصفوفة.
  • أدخل في حقل السرية كلمة مرور سرية من اختيارك. يتم تضمين هذه المفتاح في جميع الـ Webhooks، يمكنك استخدامه للتحقق من الـ Webhook والتأكد من أنه مرسل من Alfchatbot وليس من شخص آخر.
  • فعّل الـ Webhooks واحفظ. سيبدأ Alfchatbot الآن في إرسال الـ Webhooks المدرجة أدناه إلى عنوان URL الخاص بك.
  • المفتاح sender-url يتم تضمينه في جميع الـ Webhooks ويحتوي على عنوان URL الذي تم إرسال الـ Webhook منه.
  • تحدد الإعدادات الـ Webhooks النشطة ما هي الـ Webhooks النشطة. أدخل أسماء الـ Webhooks مفصولة بفواصل. اتركها فارغة لتمكين جميع الـ Webhooks.

message-sent

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


الاستجابة

                                    {
                                        "function": "message-sent",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": {
                                            "user_id": "947",
                                            "conversation_user_id": "947",
                                            "conversation_id": "1057",
                                            "conversation_status": "-1",
                                            "message_id": "2574",
                                            "message": "مرحبًا! كيف حالك؟"
                                        }
                                    }
                                

email-sent

الـ Webhook الذي يتم إرساله عندما يتم إرسال بريد إلكتروني إشعاري إلى مستخدم أو وكيل.


الاستجابة

                                    {
                                        "function": "email-sent",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": {
                                            "recipient_id": "957",
                                            "message": "مرحبًا! كيف يمكنني مساعدتك؟"
                                        }
                                    }
                                

sms-sent

الـ Webhook الذي يتم إرساله عندما يتم إرسال رسالة نصية جديدة من قبل مستخدم أو وكيل.


الاستجابة

                                    {
                                        "function": "sms-sent",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": {
                                            "recipent_id": "947",
                                            "message": "مرحبًا! كيف حالك؟",
                                            "response": {
                                                "sid": "SM1f0e8ae6ade43cb3c0ce4525424e404f",
                                                "date_created": "Fri, 13 Aug 2010 01:16:24 +0000",
                                                "date_updated": "Fri, 13 Aug 2010 01:16:24 +0000",
                                                "date_sent": null,
                                                "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                                                "to": "+15305431221",
                                                "from": "+15104564545",
                                                "body": "رسالة اختبار",
                                                "status": "queued",
                                                "flags": ["outbound"],
                                                "api_version": "2010-04-01",
                                                "price": null,
                                                "uri": "/2010-04-01/Accounts/ACXXXX/Messages/SM1f004f.json"
                                            }
                                        }
                                    }
                                

new-messages-received

الـ Webhook الذي يتم إرساله عندما يتم استلام رسالة جديدة.


الاستجابة

                                    {
                                        "function": "new-messages-received",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": [
                                            {
                                                "details": {
                                                    "id": "2575",
                                                    "user_id": "947",
                                                    "message": "مرحبًا! كيف حالك؟",
                                                    "creation_time": "2020-05-27 08:26:59",
                                                    "attachments": "",
                                                    "status_code": "0",
                                                    "conversation_id": "1057",
                                                    "first_name": "دون",
                                                    "last_name": "جون",
                                                    "profile_image": "https://alfchatbot.com/user.svg",
                                                    "user_type": "مستخدم",
                                                    "full_name": "دون جون"
                                                }
                                            }
                                        ]
                                    }
                                

bot-message

الـ Webhook الذي يتم إرساله عندما يرسل Dialogflow ردًا على رسالة المستخدم.


الاستجابة

                                    {
                                        "function": "bot-message",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": {
                                            "response": {
                                                "token": "ya29.a0Afkjh8MADFYeT4BgCy3917xqSDdVvw4mgVHrgrLDcgRk9ajWoQAgdjv5e...",
                                                "messages": [
                                                    {
                                                        "message": "مرحبًا! كيف حالك؟"
                                                    }
                                                ],
                                                "response": {
                                                    "responseId": "46d2c208-2a7f-4ca2-bd7d-6636982b8bee-0f0e27e1",
                                                    "queryResult": {
                                                        "queryText": "hi",
                                                        "action": "input.welcome",
                                                        "allRequiredParamsPresent": "true",
                                                        "fulfillmentText": "مرحبًا! كيف حالك؟",
                                                        "fulfillmentMessages": [
                                                            {
                                                                "text": {
                                                                    "text": [
                                                                        "مرحبًا! كيف حالك؟"
                                                                    ]
                                                                }
                                                            }
                                                        ],
                                                        "outputContexts": [
                                                            {
                                                                "name": "projects/api-project-655517752147/agent/sessions...",
                                                                "lifespanCount": "1",
                                                                "parameters": {
                                                                    "no-input": "0",
                                                                    "no-match": "0"
                                                                }
                                                            }
                                                        ],
                                                        "intent": {
                                                            "name": "projects/api-project-655517752147/agent/intents...",
                                                            "displayName": "النية الترحيبية الافتراضية"
                                                        },
                                                        "intentDetectionConfidence": "1",
                                                        "languageCode": "en"
                                                    },
                                                    "alternativeQueryResults": [
                                                        {
                                                            "queryText": "hi",
                                                            "outputContexts": [
                                                                {
                                                                    "name": "projects/api-project-655517752147/agent...",
                                                                    "parameters": {
                                                                        "no-match": "1",
                                                                        "no-input": "0"
                                                                    }
                                                                }
                                                            ],
                                                            "languageCode": "en"
                                                        }
                                                    ]
                                                }
                                            },
                                            "message": "مرحبا",
                                            "conversation_id": 123456
                                        }
                                    }
                                

message-deleted

الـ Webhook الذي يتم إرساله عندما يتم حذف رسالة.


الاستجابة

                                    {
                                        "function": "message-deleted",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": "2595"
                                    }
                                

المفتاح data يحتوي على ID الرسالة المحذوفة.


rich-message

الـ Webhook الذي يتم إرساله عندما يقوم المستخدم بإدخال القيم في رسالة غنية. جميع الرسائل الغنية التي تتطلب تقديم بيانات تطلق هذا الـ Webhook، بعضها هو نموذج البريد الإلكتروني التتبعي، نموذج التسجيل، الأزرار.


الاستجابة

                                    {
                                        "function": "rich-message",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": {
                                            "result": true,
                                            "data": {
                                                "type": "inputs",
                                                "result": {
                                                    "name": [
                                                        "دون جون",
                                                        "الاسم"
                                                    ],
                                                    "your-email": [
                                                        "example@gmail.com",
                                                        "بريدك الإلكتروني"
                                                    ],
                                                    "site-url": [
                                                        "www.example.com",
                                                        "عنوان الموقع"
                                                    ],
                                                    ...
                                                }
                                            },
                                            "id": "example"
                                        }
                                    }
                                

new-conversation

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


الاستجابة

                                    {
                                        "function": "new-conversation-received",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": {
                                            "details": {
                                                "user_id": "947",
                                                "first_name": "دون",
                                                "last_name": "جون",
                                                "profile_image": "https://alfchatbot.com/user.svg",
                                                "user_type": "مستخدم",
                                                "id": "1057",
                                                "title": "",
                                                "conversation_time": "2020-05-27 08:19:18",
                                                "conversation_status_code": "2",
                                                "department": "",
                                                "agent_id": ""
                                            }
                                        }
                                    }
                                

new-conversation-created

الـ Webhook الذي يتم إرساله عندما يبدأ المستخدم محادثة جديدة.


الاستجابة

                                    {
                                        "function": "new-conversation-created",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": {
                                            "details": {
                                                "user_id": "947",
                                                "first_name": "دون",
                                                "last_name": "جون",
                                                "profile_image": "https://alfchatbot.com/user.svg",
                                                "user_type": "مستخدم",
                                                "id": "1057",
                                                "title": "",
                                                "conversation_time": "2020-05-27 08:19:18",
                                                "conversation_status_code": "2",
                                                "department": "",
                                                "agent_id": ""
                                            }
                                        }
                                    }
                                

conversation-status-updated

الـ Webhook الذي يتم إرساله عندما يتغير رمز حالة المحادثة.


الاستجابة

                                    {
                                        "function": "conversation-status-updated",
                                        "key": "xxxxxxxx",
                                        "sender-url": "https://example.com",
                                        "data": {
                                            "conversation_id": "1057",
                                            "status_code": "0"
                                        }
                                    }
                                

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


تسجيل الدخول

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


الاستجابة

    {
        "function": "login",
        "key": "xxxxxxxx",
        "sender-url": "https://example.com",
        "data": {
            "details": {
                "id": "948",
                "profile_image": "https://alfchatbot.com/user.svg",
                "first_name": "دون",
                "last_name": "جون",
                "email": "email@example.com",
                "user_type": "مستخدم",
                "token": "9a4642dd232291ad658646bdbb8792c2392bb852"
            }
        }
    }

التسجيل

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


الاستجابة

    {
        "function": "registration",
        "key": "xxxxxxxx",
        "sender-url": "https://example.com",
        "data": {
            "user": {
                "profile_image": [
                    "https://alfchatbot.com/user.svg",
                    "صورة الملف الشخصي"
                ],
                "first_name": [
                    "دون",
                    "الاسم الأول"
                ],
                "last_name": [
                    "جون",
                    "الاسم الأخير"
                ],
                "email": [
                    "example@email.com",
                    "البريد الإلكتروني"
                ],
                "password": [
                    "12345678",
                    "كلمة المرور"
                ],
                "password-check": [
                    "12345678",
                    "تكرار كلمة المرور"
                ],
                "user_type": [
                    "مستخدم",
                    ""
                ]
            },
            "extra": {
                "phone": [
                    "+02123456789",
                    "الهاتف"
                ],
                "city": [
                    "لندن",
                    "المدينة"
                ],
                ...
            }
        }
    }

المستخدم المحذوف

الـ Webhook الذي يتم إرساله عندما يتم حذف مستخدم.


الاستجابة

    {
        "function": "user-deleted",
        "key": "xxxxxxxx",
        "sender-url": "https://example.com",
        "data": "951"
    }

المفتاح data يحتوي على ID المستخدم المحذوف.

البريد الإلكتروني الجديد

الـ Webhook الذي يتم إرساله عندما يسجل المستخدم بريده الإلكتروني عبر رسالة متابعة أو نموذج التسجيل.


الاستجابة

    {
        "function": "new-email-address",
        "key": "xxxxxxxx",
        "sender-url": "https://example.com",
        "data": {
            "name": "جون دو",
            "email": "example@email.com"
        }
    }