انتقل إلى المحتوى الرئيسي

المقدمة

قم بتفعيل الإشعارات والرسائل التلقائية بناءً على أحداث النظام.

🎯 ماذا يفعل هذا الموديل؟

يتيح لك موديل Events إعداد إشعارات تلقائية تُفعّل عندما يحدث شيء ما في نظامك - مثل إرسال بريد إلكتروني عندما يعود منتج إلى المخزون، أو إشعار دفع عندما يتم شحن طلب.

فكر في الأمر كنظام أتمتة للإشعارات - أنت تحدد الزناد (ما يحدث) والإجراء (من يتم إخطاره وكيف).

📖 شرح بسيط

تخيل أنك تدير متجرًا عبر الإنترنت وترغب في إبقاء المستخدمين على اطلاع:

  • 📦 تم تقديم الطلب → إرسال بريد إلكتروني للتأكيد
  • 🚚 تم شحن الطلب → إرسال إشعار دفع مع تتبع
  • المنتج عاد إلى المخزون → إبلاغ المستخدمين الذين طلبوا تنبيهات
  • 💳 تم استلام الدفع → إرسال بريد إلكتروني بالإيصال
  • 🎉 ترويج جديد → إرسال بريد إلكتروني تسويقي للمشتركين
  • ⚠️ تم تغيير كلمة المرور → إرسال تنبيه أمني

بدلاً من كتابة كود لكل إشعار يدويًا:

  • ✅ تكوين الأحداث في لوحة إدارة OneEntry
  • ✅ تحديد الزناد (ما يحدث)
  • ✅ إعداد الإجراءات (الإشعارات التي سيتم إرسالها)
  • ✅ تخصيص الرسائل لكل حدث
  • ✅ تتبع التسليم والتفاعل

مثال من العالم الحقيقي:

بدون موديل الأحداث (يدوي):
- المستخدم يسجل → كتابة كود لإرسال بريد إلكتروني ❌
- المنتج تم إعادة تخزينه → كتابة كود لإخطار المستخدمين ❌
- كل حدث يحتاج إلى كود مخصص ❌

مع موديل الأحداث (تلقائي):
- تكوين حدث "المستخدم المسجل" → يرسل تلقائيًا بريد الترحيب ✅
- تكوين حدث "المنتج المعاد تخزينه" → يخطر تلقائيًا قائمة الانتظار ✅
- جميع الأحداث تُدار في مكان واحد ✅

✨ المفاهيم الأساسية

ما هو الحدث؟

الحدث هو شيء يحدث في نظامك يمكن أن يُفعّل الإشعارات:

  • الزناد - الإجراء الذي يبدأ الحدث (مثل "تم تقديم الطلب")
  • الإشعار - ما يتلقاه المستخدمون (بريد إلكتروني، دفع، رسالة سوكت)
  • المستلمون - من يتم إخطاره (مستخدمون محددون، جميع المستخدمين، المسؤولون)
  • القالب - محتوى الرسالة

أنواع الأحداث

يدعم OneEntry أنواع مختلفة من الزناد:

نوع الزنادمتى يتم تفعيلهمثال
تغيير الحالةتغيير حالة الكيانالمنتج: غير متوفر → متوفر
إنشاء كيانإضافة عنصر جديدطلب جديد، تسجيل مستخدم جديد
تحديث كيانتعديل عنصرتحديث الملف الشخصي، تغيير حالة الطلب
زناد مخصصزناد يدوي من الكودإرسال النشرة الإخبارية، بدء الترويج

قنوات الإشعار

ثلاث طرق لإخطار المستخدمين:

القناةالوصفالأفضل من أجل
البريد الإلكترونيإرسال رسائل بريد إلكترونيتأكيدات الطلب، الإيصالات، النشرات الإخبارية
إشعار الدفعتنبيهات على الهاتف/المتصفحتحديثات في الوقت الحقيقي، تنبيهات عاجلة
Socket.IOرسائل ويب سوكت في الوقت الحقيقيتحديثات حية، دردشة، مزامنة فورية

تدفق الحدث

1. يحدث شيء ما (الزناد)

2. الحدث يكتشف الزناد

3. الحدث يتحقق من الشروط (إن وجدت)

4. الحدث يرسل الإشعارات

5. المستخدمون يتلقون الرسالة

📋 ما تحتاج لمعرفته

زنادات الأحداث الشائعة

الأحداث النموذجية التي قد تقوم بإعدادها:

التجارة الإلكترونية:

  • تم تقديم الطلب
  • تم شحن الطلب
  • تم تسليم الطلب
  • تم استلام الدفع
  • المنتج عاد إلى المخزون
  • تنبيه انخفاض السعر

إدارة المستخدم:

  • تم تسجيل المستخدم
  • تم التحقق من البريد الإلكتروني
  • تم تغيير كلمة المرور
  • تم تحديث الملف الشخصي
  • تم حذف الحساب

المحتوى:

  • تم نشر مقال جديد
  • تمت إضافة تعليق
  • تمت الموافقة على المحتوى
  • تم تجديد الاشتراك

متغيرات القالب

استخدم عناصر نائب في قوالب الإشعار


📊 جدول مرجعي سريع - الطرق الشائعة

الطريقةماذا تفعل
getAllSubscriptions()الحصول على جميع الاشتراكات
subscribeByMarker()الاشتراك في حدث محدد بواسطة علامة
unsubscribeByMarker()إلغاء الاشتراك من حدث محدد بواسطة علامة

ملاحظة: يتم تكوين الأحداث في لوحة إدارة OneEntry. SDK هو للقراءة فقط - استخدمه لجلب معلومات الحدث، وليس لإنشاء الأحداث.


❓ الأسئلة الشائعة (FAQ)

كيف يمكنني إنشاء أو تعديل الأحداث؟

تتم إدارة الأحداث في لوحة إدارة OneEntry:

  1. تسجيل الدخول إلى إدارة OneEntry
  2. الانتقال إلى قسم الأحداث
  3. إنشاء أو تعديل الأحداث
  4. تكوين الزناد، القنوات، والقوالب
  5. تفعيل الحدث

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


ما الفرق بين إشعار الدفع وSocket.IO؟

إشعار الدفع - يُرسل إلى الجهاز (يعمل حتى عند إغلاق التطبيق)

  • يظهر في مركز الإشعارات

  • يمكن للمستخدم النقر لفتح التطبيق

  • الأفضل من أجل: التنبيهات المهمة، التذكيرات

  • Socket.IO - رسالة ويب سوكت في الوقت الحقيقي (فقط عندما يكون التطبيق مفتوحًا)

    • تسليم فوري للعملاء المتصلين
    • تحديثات حية بدون تحديث
    • الأفضل من أجل: البيانات الحية، الدردشة، التعاون

هل يمكنني تفعيل حدث يدويًا من الكود الخاص بي؟

لا يدعم SDK الزنادات اليدوية. تُفعّل الأحداث تلقائيًا بناءً على الزنادات المكونة في OneEntry.


هل يمكنني تخصيص قوالب البريد الإلكتروني؟

نعم! في لوحة إدارة OneEntry:

  • قوالب بريد إلكتروني بتنسيق HTML
  • تصميم مخصص
  • دعم متعدد اللغات
  • اختبار قبل التفعيل

ماذا يحدث إذا فشل حدث في الإرسال؟

يتولى OneEntry إدارة إعادة المحاولة والتسجيل:

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

هل يمكنني استخدام محتوى غني في الإشعارات؟

  • البريد الإلكتروني - دعم كامل لـ HTML (صور، روابط، تنسيق)
  • إشعار الدفع - عنوان + نص الجسم + صورة اختيارية
  • Socket.IO - أي هيكل بيانات JSON

ما الفرق بين الحدث وتقديم النموذج؟

  • الأحداث - إشعارات تلقائية مُفعّلة بواسطة النظام
  • النماذج - بيانات يقدمها المستخدم تقوم بجمعها

مثال:

  • حدث: "تم تسجيل المستخدم" → إرسال بريد الترحيب تلقائيًا
  • نموذج: المستخدم يملأ نموذج الاتصال → تتلقى التقديم

💡 ملاحظات مهمة

📬 قنوات الإشعار

في منصة OneEntry، هناك ثلاث طرق للتفاعل مع مستخدمي نظامك من خلال موديل "الأحداث":

  • 📧 البريد الإلكتروني - إرسال رسائل بريد إلكتروني بمحتوى HTML غني
  • 📱 إشعار الدفع - إرسال تنبيهات في الوقت الحقيقي إلى الهاتف/المتصفح
  • 🔌 Socket.IO - إرسال رسائل ويب سوكت فورية إلى العملاء المتصلين

الأحداث للقراءة فقط في SDK

تذكر: SDK مخصص لـ قراءة الأحداث، وليس لإنشائها.


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

استخدم علامات واضحة ووصفية:

✅ علامات جيدة:
- order_confirmed
- product_back_in_stock
- user_registered
- payment_failed
- password_reset_requested

❌ علامات سيئة:
- event1
- notification
- email_event
- test

🎓 أفضل الممارسات

  • استخدم علامات أحداث وصفية
  • اختبر الأحداث قبل التفعيل
  • قدم قيم احتياطية للمتغيرات
  • راقب سجلات الأحداث بانتظام
  • قم بإلغاء تفعيل الأحداث غير المستخدمة
  • استخدم القنوات المناسبة (البريد للإيصالات، الدفع للضرورة)
  • قم بترجمة رسائل الأحداث
  • تعامل مع الأحداث المفقودة/المعطلة بشكل سلس

مزيد من المعلومات حول واجهة مستخدم الموديل https://doc.oneentry.cloud/docs/events/introduction


تعريف موديل الأحداث


const { Events } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 الوثائق ذات الصلة