Logo
client_api
API Icon

توثيق ريتشات للمطورين

باستخدام واجهات API الخاصة بريتشات يمكنك دمج نظامك أو موقعك بشكل أكبر مع ريتشات. على سبيل المثال يمكنك عرض بيانات مستخدمي موقعك في لوحة محادثة ريتشات. فيما يلي تجد واجهات API المنشورة حتى الآن. ريتشات في تطوير مستمر فترقب واجهات API جديدة :).

إنشاء موقع

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

* لاستخدام هذا القسم أنشئ أولاً تطبيقاً عبر هذا الرابط واحصل على مفتاح API الخاص بك.

ROUTEMETHOD
https://api.raychat.io/v1/api/sitePOST

القيم المُرسَلة

FIELDTYPEDESCRIPTION
apiKeystringالمفتاح الذي حصلت عليه عند إنشاء التطبيق في اللوحة
sitestringعنوان الموقع الذي تريد تسجيله في ريتشات
siteTitlestringعنوان الموقع الذي تريد تسجيله في ريتشات
emailstringالبريد الإلكتروني لمدير الموقع
passwordstringكلمة المرور
namestringاسم مدير الموقع
phonestringهاتف مدير الموقع

القيم المُعادة

FIELDTYPEDESCRIPTION
messagestringالرسالة المُعادة من الخادم
statusintالحالة
codestringكود ريتشات لوضعه في الموقع
userobjectبيانات المستخدم المُنشأ
tokenstringرمز الموقع
urlstringعنوان لوحة إدارة ريتشات
webAppUrlstringعنوان تطبيق ريتشات على الويب

* تُعاد الاستجابة بصيغة JSON.

* في حال حدوث خطأ سيُوضَّح السبب في الاستجابة.

* الحالة 1 تعني نجاح التسجيل.

نسخ!

// NodeJs Example
    request.post({
    url:'https://webapp.raychat.io/api/site',
    form: {
      apiKey:'Your Api Key',
      site:'https://example.com',
      siteTitle:' Example Title',
      email:'tech@raychat.io',
      password: 'Password',
      name:'Ehsan Younesi',
     phone:'09000000000'
    }
   }, function(err,httpResponse,body){
     /* ... */
   });
API Icon

توثيق ريتشات للمطورين من جانب العميل

تتيح لك API من جانب العميل إدارة الأداة المعروضة للمستخدم. يمكنك استخدامها لإدارة صفحة الدردشة وكذلك إرسال بيانات المستخدم إلى تطبيق ريتشات. (على سبيل المثال يمكنك إرسال بيانات المستخدم الذي سجّل دخوله إلى موقعك إلى ريتشات لعرضها في التطبيق والوصول إليها لاحقاً في الأرشيف).

ملاحظة: يجب كتابة جميع الدوال والأحداث الموضحة أدناه وفق التعليمات داخل حدث raychat_ready.

نسخ!

    window.addEventListener('raychat_ready', function (ets) {
      // function or event 
    });

Raychat.setStyle()

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

FIELDTYPEDESCRIPTION
backgroundColorstringلون خلفية أيقونة الأداة
borderRadiusstringشكل حواف أيقونة الأداة
widthstringعرض أيقونة الأداة
heightstringارتفاع أيقونة الأداة
boxShadowstringإضافة تأثير ظل لأيقونة الأداة

نسخ!

    window.Raychat.setStyle({
      backgroundColor : '#000',
      borderRadius : '50%',
      width : '70px',
      height : '70px',
      boxShadow : '0px 1px 5px 0px rgba(0,0,0,0.75)'
    });

Raychat.setPosition()

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

FIELDTYPEDESCRIPTION
topstringالمسافة من الأعلى
rightstringالمسافة من اليمين
bottomstringالمسافة من الأسفل
leftstringالمسافة من اليسار

نسخ!

    window.Raychat.setPosition({
      top: 'auto',
      right : 'auto',
      bottom : '15px',
      left : '15px'
    });

Raychat.setUser()

باستخدام هذه الدالة يمكنك إرسال بيانات المستخدم الذي سجّل دخوله إلى موقعك إلى ريتشات.

FIELDTYPEDESCRIPTION
emailstringبريد المستخدم المسجّل
namestringاسم المستخدم المسجّل
aboutstringمعلومات عن المستخدم المسجّل
phonestringهاتف المستخدم المسجّل
avatarstringصورة المستخدم المسجّل
updateOncebooleanهل يتم تحديث بيانات المستخدم في كل استدعاء لهذه الدالة

نسخ!

    window.Raychat.setUser({
      email: 'tech@raychat.io',
      name: 'Ehsan Younesi',
      about: 'about me :)',
      phone: '09123456789',
      avatar: 'https://webapp.raychat.io/ehsan.png',
      updateOnce: true
    });

Raychat.getUser()

باستخدام هذه الدالة يمكنك الحصول على بيانات الزائر المتواجد حالياً على الموقع.

القيم المُعادة

KEYVALUE TYPEDESCRIPTION
idstringمعرّف المستخدم
namestringاسم المستخدم
emailstringالبريد الإلكتروني
avatarstringصورة المستخدم
onlinestringحالة المستخدم
createdAtdateتاريخ إنشاء المستخدم
metadataobjectبيانات إضافية
browserobjectمعلومات متصفح المستخدم
phonestringرقم هاتف المستخدم
aboutstringبيانات المستخدم

نسخ!

    var user = window.Raychat.getUser();
    //example user object 
    { id: '5992bc6d9e737c900e3058d3',
      name: 'Ehsan Younesi',
      email: 'tech@raychat.io',
      avatar: 'https://webapp.raychat.io/ehsan.png',
      online: true,
      createdAt: 2017-08-15T09:18:37.904Z,
      metadata: {
       userId: "2", // String
       createdAt: "2018-09-29", // Date
       totalPaid: 200000, // Number
       isActive: true // Boolean
      },
     browser : {
       "name" : "Chrome",
       "ver" : "60.0.3112.90",
       "os" : "Windows",
       "mobile" : false
      },
     phone: '0912345678',
     about: 'hello :)'
    }

Raychat.loadUser()

بهذه الدالة يمكنك تحميل المستخدمين الذين يسجّلون دخولهم إلى لوحة المستخدم في نظامك والاحتفاظ بمحادثاتهم بشكل دائم ومستمر؛ وعند تحميل المستخدم بنجاح يُنفَّذ الحدث raychat_new_user_loaded .

ملاحظة: للحصول على معرّف المستخدم يمكنك استخدام الدالة getUser

ملاحظة: تنبّه دائماً إلى أنه عند تحميل مستخدم جديد ستصبح بيانات المستخدم الحالي (المحادثات وغيرها) غير قابلة للوصول إلى الأبد إذا لم تكن قد خزّنت معرّف المستخدم في قاعدة بيانات.

FIELDTYPEDESCRIPTION
userIdstringمعرّف المستخدم

نسخ!

    window.Raychat.loadUser(userId);

Raychat.unloadUser()

يؤدي إلى حذف جميع بيانات المستخدم من المتصفح، وإذا زار الموقع مجدداً سيُعامَل كمستخدم جديد.

ملاحظة: لتطبيق التغييرات يجب إعادة تحميل متصفح المستخدم بعد استدعاء هذه الدالة.

ملاحظة: إذا لم تخزّن معرّف المستخدم قبل استدعاء هذه الدالة فإن إعادة تحميل هذا المستخدم ستكون مستحيلة .

نسخ!

    window.Raychat.unloadUser();

Raychat.sendOfflineMessage()

إرسال رسالة عبر أداة ريتشات إلى المستخدم.

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

نسخ!

    window.Raychat.sendOfflineMessage('سلام وقت بخیر');

Raychat.openWidget()

باستخدام هذه الدالة يمكنك فتح أداة الدردشة.

نسخ!

    window.Raychat.openWidget();

Raychat.closeWidget()

باستخدام هذه الدالة يمكنك إغلاق أداة الدردشة.

نسخ!

    window.Raychat.closeWidget();

Raychat.toggle()

إذا كانت أداة الدردشة مفتوحة عند استدعاء هذه الدالة ستُغلق، والعكس صحيح.

نسخ!

    window.Raychat.toggle();

Raychat.hideWidget()

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

ملاحظة: عند استلام رسالة جديدة من المشغّلين أو تفعيل الرسائل الذكية تُعرض الأداة تلقائياً وبعد إغلاق المستخدم للرسالة تُخفى أيقونة الأداة أيضاً.

لإعادة عرض الأداة استخدم الدالة showWidget .

لمنع الظهور المؤقت للأداة عند التحميل الأولي للصفحة قبل الإخفاء أضف المعامل RAYCHAT_HIDE_WIDGET_ON_INIT إلى كود التثبيت.

نسخ!

    window.Raychat.hideWidget();

Raychat.showWidget()

يعرض أيقونة الأداة إذا كانت مخفية.

ملاحظة: تبقى الأداة ظاهرة حتى تُخفى يدوياً أو تُحدَّث الصفحة.

لإخفاء الأداة استخدم الدالة hideWidget .

نسخ!

    window.Raychat.showWidget();

Raychat.animate()

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

ANIMATIONS
bounce
wobble
tada
shakeX
shakeY
headShake
rubberBand
swing
jello
rotateIn
pulse
heartBeat
flip

نسخ!

    window.Raychat.animate('tada');

Raychat.isWidgetOpen()

باستخدام هذه الدالة يمكن تحديد ما إذا كانت أداة الدردشة مفتوحة أم لا.

RESULTANIMATIONS
trueمفتوحة
falseمغلقة

نسخ!

    window.Raychat.isWidgetOpen();

الأحداث

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

raychat_user_profile_updated

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

نسخ!

    window.Raychat.on('raychat_user_profile_updated', function (user) {
    });

open

يُنفَّذ هذا الحدث عند فتح المستخدم لأداة الدردشة.

نسخ!

    window.Raychat.on('open', function (s) {
    });

close

يُنفَّذ هذا الحدث عند إغلاق المستخدم لأداة الدردشة.

نسخ!

    window.Raychat.on('close', function (s) {
    });

حدث SendForm

باستخدام هذه الطريقة، يمكنك عرض النموذج المطلوب باستخدام API. يمكنك أيضًا تتبع القيم التي أدخلها مستخدمو موقع الويب الخاص بك باستخدام حدث raychat_form_submission.

FIELDTYPEDESCRIPTION
inputsarrayيمكنك تحديد حقول النموذج المطلوبة من خلال هذه القيمة. يتم تحديد تفاصيل هذا الحقل في الجدول الثاني.
messagestringالرسالة المعروضة مع النموذج.
titlestringعنوان النموذج.
notSendToServerbooleanاضبطه على true إذا كنت لا تريد حفظ القيم المستلمة من المستخدم في قاعدة بيانات Raychat.
disableChatboxbooleanاضبطه على true لتعطيل صندوق الدردشة أثناء قيام المستخدم بإدخال القيم.
formNamestringالاسم المحدد للنموذج.

تفاصيل حقل inputs

FIELDTYPEDESCRIPTION
labelstringتسمية أو وصف الحقل.
typestringنوع حقل الإدخال.

نسخ!

    window.Raychat.sendForm({
          // type can be number, phone, email, name and string (custom fields)
          inputs: [
            {
                "label": "سن",
                "type": "number"
            },
            {
                "label": "تلفن",
                "type": "phone"
            },
            {
              "label": "ایمیل",
              "type": "email"
            },
            {
              "label": "فیلد دلخواه",
              "type": "string"
            }
        ],
            message: "اطلاعات را وارد کنید",
            title: "عنوان فرم",
            notSendToServer: false,
            disableChatbox: false,
            formName: "customForm"
        })

حدث تقديم نموذج Raychat

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

يمكن رؤية تنسيق المعلومات المدخلة في الجدول أدناه.

FIELDTYPEDESCRIPTION
idnumberموضع الحقل
labelstringتسمية الحقل
valuestringالقيمة المدخلة
typestringنوع الحقل

أيضًا، يتم سرد أنواع النماذج في الجدول أدناه. لاحظ أنه إذا تم تعيين اسم محدد في واجهة برمجة التطبيقات للنموذج، فسيتم إرجاع هذا الاسم.

TYPEDESCRIPTION
officeHoursنموذج ساعات العمل
notOfficeHoursنموذج خارج ساعات العمل
apiنموذج تم إنشاؤه بواسطة واجهة برمجة التطبيقات

نسخ!


        window.Raychat.on('raychat_form_submission', function ({detail}) {
          // officeHours, notOfficeHours, api
          const formName = detail.formName;
          const inputValues = detail.values;
        });
        

raychat_new_user_loaded

يُنفَّذ هذا الحدث عند تحميل مستخدم باستخدام الدالة loadUser .

نسخ!

    window.Raychat.on('raychat_new_user_loaded', function (s) {
    });

raychat_sendMessage

يُنفَّذ هذا الحدث عند إرسال المستخدم رسالة من الأداة

FIELDTYPEDESCRIPTION
typestringنوع الرسالة: text, image, audio, video, compress, file
contentstringمحتوى الرسالة

نسخ!

    window.Raychat.on('raychat_sendMessage', function (d) {
            // your code here:
            // const detail = d.detail
            // ..
    });

raychat_getMessage

يُنفَّذ هذا الحدث عند استلام رسالة من المشغّل في الأداة

FIELDTYPEDESCRIPTION
typestringنوع الرسالة: text, image, audio, video, compress, file
contentstringمحتوى الرسالة

نسخ!

    window.Raychat.on('raychat_getMessage', function (d) {
          // your code here:
          // const detail = d.detail
          // ..
    });
API Icon

الأحداث المستخدمة في الخدمة عبر Tag Manager

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

ملاحظة: يجب كتابة جميع الدوال والأحداث الموضحة أدناه وفق التعليمات داخل حدث raychat_ready.

نسخ!

    window.addEventListener('raychat_ready', function (ets) {
            window.Raychat.on("close", function () { 
              window.dataLayer = window.dataLayer || []; 
              window.dataLayer.push({ 
                  'event': 'raychat_close', 
                  // other options
              }); 
          }); 
    });

تتبع حدث فتح الأداة في Tag Manager

بالكود التالي يمكنك تتبع عدد مرات فتح الأداة على موقعك

نسخ!


        <!-- Event listener for Raychat widget's open event --> 
        <script> 
          window.Raychat.on("open", function () { 
              window.dataLayer = window.dataLayer || []; 
              window.dataLayer.push({ 
                  'event': 'raychat_open', 
                  // other options
              }); 
          }); 
        </script> 
        

تتبع حدث إغلاق الأداة في Tag Manager

بالكود التالي يمكنك تتبع عدد مرات إغلاق الأداة على موقعك

نسخ!


        <!-- Event listener for Raychat widget's close event --> 
        <script> 
          window.Raychat.on("close", function () { 
              window.dataLayer = window.dataLayer || []; 
              window.dataLayer.push({ 
                  'event': 'raychat_close', 
                  // other options
              }); 
          }); 
        </script> 
        

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

بالكود التالي يمكنك تتبع إرسال الرسائل على موقعك

نسخ!

 
        <!-- Event listener for Raychat widget's send message event --> 
        <script> 
          window.Raychat.on("raychat_sendMessage", function (d) { 
              window.dataLayer = window.dataLayer || []; 
              window.dataLayer.push({ 
                  'event': 'raychat_sendMessage', 
                  // other options
              }); 
          }); 
        </script> 
        

تتبع حدث استلام رسالة في Tag Manager

بالكود التالي يمكنك تتبع استلام الرسائل

نسخ!


        <!-- Event listener for Raychat widget's get message event --> 
        <script> 
          window.Raychat.on("raychat_getMessage", function (d) { 
              window.dataLayer = window.dataLayer || []; 
              window.dataLayer.push({ 
                  'event': 'raychat_getMessage', 
                  // other options
              }); 
          }); 
        </script> 
        

معاملات تثبيت الأداة

في هذا القسم يمكنك الحصول على كود التثبيت المناسب لإعدادات الأداة كاللغة ونوع التحميل.

ملاحظة: لاحظ أنه بالنسبة لجميع نماذج الأكواد أدناه، يجب استبدال YOUR_WIDGET_TOKEN بالرمز الذي تتلقاه من قسم التثبيت في لوحة التحكم.

نسخ!


        <!--BEGIN OF RAYCHAT CODE-->
        <script type="text/javascript">
            window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
            (function () {
                d = document;
                s = d.createElement("script");
                s.src = "https://widget-react.raychat.io/install/widget.js";
                s.async = 1;
                d.getElementsByTagName("head")[0].appendChild(s);
            })();
        </script>
        <!--END OF RAYCHAT CODE--> 
        

لغة الأداة

بحسب اللغة المطلوبة لأداتك يمكنك استخدام القيم التالية ووضعها في كود التثبيت

LANGVALUEFIELD
الفارسيةfaRAYCHAT_WIDGET_LANG
الإنجليزيةenRAYCHAT_WIDGET_LANG
العربيةarRAYCHAT_WIDGET_LANG
التركيةtrRAYCHAT_WIDGET_LANG
الكرديةkuRAYCHAT_WIDGET_LANG

نسخ!


        <!--BEGIN OF RAYCHAT CODE-->
        <script type="text/javascript">
          window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
          window.RAYCHAT_WIDGET_LANG ="en";
            (function () {
                d = document;
                s = d.createElement("script");
                s.src = "https://widget-react.raychat.io/install/widget.js";
                s.async = 1;
                d.getElementsByTagName("head")[0].appendChild(s);
            })();
        </script>
        <!--END OF RAYCHAT CODE--> 
        

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

باستخدام المعاملات التالية يمكنك تحميل الكود بشكل أسرع أو أكثر توافقاً مع SEO

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

TYPEVALUEFIELDDESCRIPTION
تحميل سريعFAST_LOADLOAD_TYPEيتم تحميل الأداة بالتزامن مع موقع الويب الخاص بك.
صديق للسيوSEO_FRIENDLYLOAD_TYPEلمنع اكتشاف الأداة بواسطة روبوتات Google SEO والتأثير على مُحسّنات محرّكات البحث لموقعك على الويب، سيتم تحميل الأداة بعد تفاعل المستخدم.

نسخ!


        <!--BEGIN OF RAYCHAT CODE-->
        <script type="text/javascript">
          window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
          window.LOAD_TYPE = "SEO_FRIENDLY";
            (function () {
                d = document;
                s = d.createElement("script");
                s.src = "https://widget-react.raychat.io/install/widget.js";
                s.async = 1;
                d.getElementsByTagName("head")[0].appendChild(s);
            })();
        </script> 
        <!--END OF RAYCHAT CODE-->
        

عرض الأداة بوضع ملء الشاشة

باستخدام هذا المعامل يمكنك عرض الأداة دائماً بوضع ملء الشاشة على موقعك

FIELDVALUE
RAYCHAT_ALWAYS_FULLSCREENtrue

نسخ!


        <!--BEGIN OF RAYCHAT CODE-->
        <script type="text/javascript">
          window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
          window.RAYCHAT_ALWAYS_FULLSCREEN = true;
            (function () {
                d = document;
                s = d.createElement("script");
                s.src = "https://widget-react.raychat.io/install/widget.js";
                s.async = 1;
                d.getElementsByTagName("head")[0].appendChild(s);
            })();
        </script>
        <!--END OF RAYCHAT CODE--> 
        

إخفاء الأداة عند التحميل الأولي

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

عند التفعيل ستكون الأداة مخفية تماماً عند التحميل الأولي للصفحة.

ملاحظة: يمكنك التحكم في عرض الأداة برمجياً باستخدام hideWidget .

FIELDVALUEDESCRIPTION
RAYCHAT_HIDE_WIDGET_ON_INITtrueعند التفعيل ستكون الأداة مخفية عند التحميل الأولي للصفحة

نسخ!

<!--BEGIN OF RAYCHAT CODE-->
<script type="text/javascript">
  window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
  window.RAYCHAT_HIDE_WIDGET_ON_INIT = true;
  (function () {
    var d = document;
    var s = d.createElement("script");
    s.src = "https://widget-react.raychat.io/install/widget.js";
    s.async = 1;
    d.getElementsByTagName("head")[0].appendChild(s);
  })();
</script>
<!--END OF RAYCHAT CODE-->

تثبيت الأداة على أنواع الأطر البرمجية

فيما يلي طريقة تثبيت ريتشات على الأطر البرمجية المختلفة.

ملاحظة: لاحظ أنه بالنسبة لجميع نماذج الأكواد أدناه، يجب استبدال YOUR_WIDGET_TOKEN بالرمز الذي تتلقاه من قسم التثبيت في لوحة التحكم.

نسخ!


        <!--BEGIN OF RAYCHAT CODE-->
        <script type="text/javascript">
          window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
            (function () {
                d = document;
                s = d.createElement("script");
                s.src = "https://widget-react.raychat.io/install/widget.js";
                s.async = 1;
                d.getElementsByTagName("head")[0].appendChild(s);
            })();
        </script> 
        <!--END OF RAYCHAT CODE-->
        

تثبيت الأداة على إطار React.js

لتثبيت ريتشات على إطار React.js يمكنك وضع كود التثبيت في ملف index.html داخل مجلد public قبل نهاية وسم head

نسخ!


        <!--BEGIN OF RAYCHAT CODE-->
        <script type="text/javascript">
          window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
            (function () {
                d = document;
                s = d.createElement("script");
                s.src = "https://widget-react.raychat.io/install/widget.js";
                s.async = 1;
                d.getElementsByTagName("head")[0].appendChild(s);
            })();
        </script> 
        <!--END OF RAYCHAT CODE-->
        

تثبيت الأداة على إطار Next.js

لتثبيت الأداة على إطار next.js يمكنك وضع كود التثبيت كما يلي في ملف _app.js في برنامجك:

نسخ!


        <Script
          id="raychat-widget"
          strategy="afterInteractive"
          dangerouslySetInnerHTML={{
            __html: "
                window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
                (function () {
                    const d = document;
                    const s = d.createElement("script");
                    s.src = "https://widget-react.raychat.io/install/widget.js";
                    s.async = true;
                    d.getElementsByTagName("head")[0].appendChild(s);
              
                })();",
          }}
        />
        

تثبيت الأداة على إطار Vue.js

لتثبيت ريتشات على إطار Vue.js يمكنك وضع كود التثبيت في ملف index.html داخل مجلد public قبل نهاية وسم head

نسخ!


        <!--BEGIN OF RAYCHAT CODE-->
        <script type="text/javascript">
        window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
          (function () {
              d = document;
              s = d.createElement("script");
              s.src = "https://widget-react.raychat.io/install/widget.js";
              s.async = 1;
              d.getElementsByTagName("head")[0].appendChild(s);
          })();
        </script> 
        <!--END OF RAYCHAT CODE-->
        

تثبيت الأداة على إطار AngularJS

لتثبيت ريتشات على إطار AngularJS يمكنك وضع كود التثبيت في ملف index.html داخل مجلد src قبل نهاية وسم head

نسخ!


        <!--BEGIN OF RAYCHAT CODE-->
        <script type="text/javascript">
          window.RAYCHAT_TOKEN = "YOUR_WIDGET_TOKEN";
            (function () {
                d = document;
                s = d.createElement("script");
                s.src = "https://widget-react.raychat.io/install/widget.js";
                s.async = 1;
                d.getElementsByTagName("head")[0].appendChild(s);
            })();
        </script> 
        <!--END OF RAYCHAT CODE-->