SocialHub.AI
الموارد · مركز المطورين

إشعارات الويب

التواصل مع الأعضاء عبر متصفحاتهم باستخدام بروتوكول إشعارات الويب المفتوح Web Push Protocol — بدون تطبيق، بدون مزود خدمة خارجي مدفوع، بدون رسوم لكل رسالة. Flash يُنشئ تلقائيًا مفاتيح VAPID الخاصة بمساحة العمل عند التفعيل، ويشترك الأعضاء من البوابة، ويتم تشفير كل رسالة باستخدام مفاتيح الاشتراك الخاصة.

كيف يعمل

معيار مفتوح، بدون مُزود

تعمل خدمة إشعارات الويب على بروتوكول إشعارات الويب الخاص بالمتصفح عبر خدمة الإشعارات الخاصة بكل متصفح. لا يوجد مزود خدمة إشعارات مدفوع من طرف ثالث، ولا رسوم على كل رسالة.

مفاتيح VAPID، مُولّدة تلقائيًا

عند التفعيل الأول، يقوم Flash بإنشاء مفاتيح خادم تطبيقات VAPID لمساحة العمل تلقائيًا - لا حاجة لإنشائها أو لصقها أو تعديلها يدويًا.

الاشتراك بمبادرة من العضو

يشترك الأعضاء بأنفسهم من صفحة خصوصية البوابة. ويمنع المتصفح ذلك - بدون إذن، لا اشتراك.

تشفير لكل اشتراك

يتم تشفير كل حمولة إشعار باستخدام مفاتيح الاشتراك الفردية (تشفير رسائل RFC 8291)، بحيث لا يمكن قراءتها إلا من قبل متصفح ذلك العضو.

تفعيله (للمسؤول)

يُفعّل المسؤول خاصية الإشعارات الفورية (Web Push) لمساحة العمل. لا حاجة لإنشاء مفاتيح، إذ يقوم Flash بإنشاء زوج مفاتيح VAPID الخاص بتطبيق الخادم عند التفعيل الأول.

// Admin enables web push for the workspace in Settings → Web Push.
// On first enable, Flash GENERATES the VAPID application-server keypair automatically —
// you don't create or paste keys. You set a contact email and can fire a test send.
//
//   Settings → Web Push:
//     • Enable web push            (OFF by default, per workspace)
//     • Contact email              (identifies the sender to the browser push services)
//     • Send test notification     (verify the end-to-end path)
//
// The public VAPID application server key is what the member's browser uses when it
// creates a push subscription (below).

مسار اشتراك العضو

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

// Members subscribe THEMSELVES from the member portal privacy page. The web-push card
// only renders when (a) the browser supports the Push API AND (b) the workspace enabled
// web push. Tapping it triggers the browser's native permission prompt.
//
//   1. Portal registers a service worker.
//   2. Browser creates a PushSubscription using the workspace's public VAPID key
//      (Notification.requestPermission() → pushManager.subscribe(...)).
//   3. The portal posts that subscription (endpoint + p256dh + auth keys) to Flash:
POST https://flash.socialhub.ai/api/member/web-push
Content-Type: application/json

{
  "endpoint": "<browser push service endpoint>",
  "keys": { "p256dh": "<client public key>", "auth": "<client auth secret>" }
}
// → 200  { data: { ok: true } }
//   GET  https://flash.socialhub.ai/api/member/web-push   → the workspace public key + whether web push is on
//   DELETE https://flash.socialhub.ai/api/member/web-push  { "endpoint": "..." }  → unsubscribe
//   The member identity comes from the signed-in member session — never the body.

التسليم: قناة، وليس مكالمة API

// You do NOT call a "send web push" endpoint directly. Web push is a CHANNEL in the
// same send/automation stack as email and app push. When a campaign or journey targets
// a subscribed member:
//
//   • Flash encrypts the payload to that member's subscription keys (RFC 8291) and
//     hands it to the member's own browser push service for delivery.
//   • Subscriptions that the push service reports as gone/expired are pruned
//     automatically, so you don't keep sending into dead endpoints.

معلومات مفيدة

يعمل على المتصفحات الحديثة التي تدعم خاصية Push API وتقنية Service Workers — لا تعرض البوابة بطاقة الاشتراك إلا في حال دعم المتصفح لها، لذا لن يظهر للأعضاء أي قناة لا يدعمها متصفحهم.

معطل افتراضيًا وعلى مستوى كل مساحة عمل: لا يتم إرسال أي شيء حتى يقوم المسؤول بتفعيله ويختاره العضو عبر متصفحه.

يتم توفير مفاتيح الاشتراك من متصفح العضو؛ وتقوم Flash بتخزينها لتشفير كل رسالة ولا تشاركها أبدًا بين مساحات العمل.

ذات صلة: إشعار التطبيق · تضمين بوابة الأعضاء · الامتثال والموافقةAPI

هل تقوم بإعداد إشعارات الويب؟

تحدث إلى مهندس حول تدفق الاشتراك في خدمة العامل + VAPID، أو مكدس إرسال القنوات، أو تشفير الرسائل لكل اشتراك.

تحدث إلى فريق الهندسة