وثّق بسلاسة مع NovaMind
ادمج نظام الدعم الذكي في منصّتك خلال دقائق. Token واحد يكفي لتفعيل المحادثات المباشرة والردود الذكية لعملائك.
الويدجت الجاهز (الأسرع)
سطر واحد فقط ويعمل widget كامل على موقعك. مع تخصيص اللون والاسم من لوحتك، حفظ الجلسة، رفع الصور، الذكاء الاصطناعي، ومتجاوب مع الجوال.
أضف هذا السطر قبل </body>
استبدل YOUR_TOKEN_HERE
احصل على Token API من لوحة تحكم العميل → Token API → نسخ.
خصّص من لوحتك
كل التخصيصات (اللون، اسم البوت، رسالة الترحيب، الردود التلقائية، الذكاء الاصطناعي) تتم من لوحة العميل — تنطبق فوراً بدون تعديل الكود.
- ✅ تسجيل الزائر — يطلب الاسم والإيميل/الجوال قبل البدء
- ✅ حفظ الجلسة في localStorage — لا تتكرر المحادثة عند refresh
- ✅ Live polling كل 2 ثانية — الردود تصل بسرعة
- ✅ عرض الصور والصوت والفيديو تلقائياً (يكتشف
[صورة] URLو[رسالة صوتية] URL) - ✅ متجاوب مع الجوال — يعمل بشكل ممتاز على iPhone و Android
- ✅ دعم RTL كامل للعربية
- ✅ إشعار رسائل جديدة — badge أحمر على زر الـ widget
معاينة
الويدجت سيظهر كزر دائري في الزاوية اليمنى السفلية لموقعك. عند الضغط عليه، يفتح نافذة دردشة احترافية.
أمثلة متقدمة (اختيارية)
1. إضافة الويدجت في WordPress
اذهب لـ Appearance → Theme File Editor → footer.php وأضف السطر قبل </body>.
2. تأخير ظهور الويدجت
3. إخفاء الويدجت في صفحات معينة
البدء السريع (التكامل اليدوي)
ثلاث خطوات لتفعيل الدردشة المباشرة في منصّتك.
احصل على Token
العميل يسجّل ويدفع، ويحصل على Token من لوحته.
أضف حقلاً في منصّتك
خانة "Token API" في إعدادات العميل، يضع فيها التوكن.
ابدأ الإرسال
استخدم التوكن في Header Authorization: Bearer.
مثال أول
تحقّق من صلاحية التوكن واشتراك العميل:
تدفق الاتصال الكامل
كيف تتواصل منصّتك مع NovaMind من بداية المحادثة حتى نهايتها.
session_id هو معرّف فريد لكل محادثة زائر. منصّتك تولّده وتحتفظ به خلال جلسة الزائر (مثال: sess_abc123). نفس المعرّف يُستخدم في كل الطلبات المتعلقة بتلك المحادثة.
المصادقة
كل طلبات API تتطلّب Bearer Token في Header المصادقة.
صيغة التوكن
كل توكن يبدأ بـ nw_ ويتبعه 40 رمز hex. مثال:
فحص التوكن والاشتراك
استخدمه عند بدء جلسة الزائر للتحقق من أن العميل لديه اشتراك فعّال.
Headers
| المفتاح | الوصف | |
|---|---|---|
| Authorization | Bearer CLIENT_TOKEN | مطلوب |
استجابة ناجحة (200)
استجابة — اشتراك منتهي أو توكن غير صالح (200)
إرسال رسالة
أرسل رسالة الزائر إلى NovaMind. يردّ النظام فوراً بالرد التلقائي (إن وُجد).
Body (JSON)
| الحقل | النوع | الوصف | |
|---|---|---|---|
| session_id | string | معرّف فريد للمحادثة | مطلوب |
| name | string | اسم الزائر | اختياري |
| message | string | نص الرسالة (حد أقصى 4000 حرف) | مطلوب |
استجابة ناجحة (200)
customer_id_ كبادئة على المعرّف الذي ترسله. احفظ session_id الذي يرجع من الاستجابة واستخدمه في طلبات provider_poll اللاحقة.
جلب ردود الإدارة
اسحب ردود الإدارة الجديدة دورياً لعرضها للزائر.
Query Parameters
| المفتاح | الوصف | |
|---|---|---|
| session_id | نفس المعرّف المستخدم في provider_send | مطلوب |
استجابة ناجحة (200)
provider_poll كل 3–5 ثوان فقط عندما تكون نافذة الدردشة مفتوحة. الرسائل التي تم جلبها مرة لا تُرجَع مرة أخرى (يُعلم الخادم أنها استُلمت).
رموز الأخطاء
كل الأخطاء تُرجَع بـ JSON يحتوي ok: false مع رسالة وصفية.
| الرمز | المعنى | الحل |
|---|---|---|
| 400 | بيانات الطلب ناقصة (مثل empty_message) | تأكّد من إرسال message غير فارغة |
| 403 | التوكن غير صالح أو الاشتراك ملغى | تحقّق من Bearer Token أو جدّد اشتراك العميل |
| 404 | المورد غير موجود | تحقّق من صحة action |
| 429 | تجاوزت حد الطلبات (Rate Limit) | انتظر دقيقة ثم أعد المحاولة |
| 500 | خطأ داخلي | جرّب لاحقاً أو تواصل مع الدعم |
| 503 | قاعدة البيانات غير مُعدّة | راجع مسؤول النظام |
أمثلة على أشكال الأخطاء
التوكن غير صالح أو الاشتراك ملغى (HTTP 403):
الرسالة فارغة (HTTP 400):
تجاوز حد الطلبات (HTTP 429):
حدود الطلبات
حماية لمنع الاستخدام الزائد وضمان الجودة للجميع.
| Endpoint | الحد | النافذة |
|---|---|---|
| provider_bootstrap | 120 طلب | لكل دقيقة / IP |
| provider_send | 80 طلب | لكل دقيقة / IP |
| provider_poll | 180 طلب | لكل دقيقة / IP |
HTTP 429 مع error: "rate_limited". نفّذ backoff تصاعدي (5 → 10 → 20 ثانية) قبل إعادة المحاولة.
الكود المرجعي الكامل (موصى)
انسخ والصق هذا الكود في موقعك. يدعم: live polling كل ثانيتين، عرض الصور والصوت والفيديو تلقائياً، حفظ الجلسة في localStorage.
HTML (ضع في موقعك)
- polling = 2 ثانية — تجربة مستخدم سلسة (live)
- localStorage — يحفظ session_id فلا تتكرر المحادثة عند refresh
- regex للصور — يحوّل
[صورة] URLلصورة فعلية تلقائياً - للأمان في الإنتاج، احفظ TOKEN في الخادم الخلفي وأرسل الطلبات منه
الأمان
ممارسات موصى بها لحماية عملائك وبياناتهم.
تخزين التوكن
احفظ التوكن في قاعدة بيانات منصّتك مشفّراً. NovaMind يحفظه مشفّراً بـ AES-256-GCM أو sodium_crypto_secretbox، مع HMAC-SHA256 للفهرسة السريعة.
حماية الطلبات
- أرسل التوكن دائماً في Header
Authorization— ليس في URL - استخدم HTTPS فقط
- لا تُخزّن التوكن في JavaScript على الواجهة الأمامية
- استخدم الـ API من خادمك الخلفي فقط
دوّر التوكن عند الشك
إذا تسرّب التوكن، اطلب من العميل إعادة توليده فوراً من لوحته، ثم حدّث القيمة في منصّتك.
chat-api.php يقبل طلبات من أي أصل بشرط وجود Bearer Token صحيح. هذا آمن لأن التوكن لا يمكن تزويره.
أسئلة شائعة
كيف أحصل على حساب اختباري؟
سجّل حساباً في صفحة التسجيل واطلب من الأدمن تفعيله يدوياً.
من يولّد session_id؟
منصّتك. يجب أن يكون فريداً لكل محادثة زائر (UUID أو IP+timestamp).
هل يوجد Webhook بدلاً من Polling؟
حالياً لا. استخدم polling كل 3–5 ثوان — Rate limit يسمح بذلك.
كيف أعرف أن العميل ألغى اشتراكه؟
استدعِ provider_bootstrap دورياً. إذا رجع active: false أخفِ الشات.
ماذا يحدث للرسائل بعد إغلاق الجلسة؟
تبقى محفوظة مع status: closed. يستطيع العميل مراجعتها من لوحته.