الإشعارات والدفع
إشعارات داخل التطبيق
البادئة: /v1/notifications. المصادقة: عميل (Authorization: Bearer).
| الطريقة | المسار | الغرض |
|---|---|---|
GET | /v1/notifications | صندوق الوارد بصفحات |
GET | /v1/notifications/sse | بث مباشر (text/event-stream) |
PATCH | /v1/notifications/read-all | تعليم الكل مقروءاً |
PATCH | /v1/notifications/:notificationId/read | تعليم واحد مقروءاً |
القائمة
الاستعلام: page، limit، واختياري status = unread | read.
results:
| الحقل | المعنى |
|---|---|
data[] | الإشعارات |
pagination | { total, page, limit, hasMore } |
unreadCount | رقم الشارة |
كل إشعار:
| الحقل | المعنى |
|---|---|
_id | لتعليم القراءة |
type | مفتاح ثابت (انظر أدناه) |
status | unread | read |
title، body | { "en", "ar" } — اختر حسب Accept-Language |
data | حمولة رابط اختياري (orderId، orderNumber، ticketNumber، url، …) |
createdAt | طابع ISO |
قيم type (العميل)
type | متى |
|---|---|
order.placed | أُنشئ الطلب |
order.confirmed | قبله المتجر |
order.preparing | بدأ الالتقاط |
order.out_for_delivery | السائق في الطريق |
order.delivered | تم التوصيل |
order.delivery_failed | فشلت الزيارة |
order.cancelled | أُلغي |
order.refunded | استرداد |
points.earned / points.redeemed / points.expiring | الولاء |
wallet.credited / wallet.debited | المحفظة |
coupon.received | مُنح كوبون |
offer.expiring | عرض ينتهي |
review.requested | طلب تقييم |
subscription.activated / expiring / expired | برو |
account.welcome / account.password_changed | الحساب |
campaign.message | حملة تسويقية |
support.ticket_created / support.replied / support.resolved | الدعم |
SSE
http
GET /v1/notifications/sse
Authorization: Bearer <accessToken>
Accept: text/event-streamهذا ليس غلاف JSON. الإطارات:
event: notification
data: { ...كائن الإشعار... }data بنفس شكل صف الصندوق. أبقِ الاتصال مفتوحاً. أعد الاتصال بتراجع عند الانقطاع.
لا يوجد SSE لإشعارات الملتقط/السائق. تطبيقات التجهيز تستطلع طوابيرها.
رموز الدفع
| الطريقة | المسار | المصادقة | الجسم |
|---|---|---|---|
POST | /v1/push/register | عميل | { "token": "...", "platform": "ios" | "android" } |
token من 10 إلى 256 حرفاً.
إرسال FCM غير مكتمل الإعداد. تسجيل الرمز آمن؛ لا تفترض وصول دفع الحملات حتى يفعّل التشغيل FCM.