Troubleshooting

Notifications not arriving: push, SMS and email

How to find out why a push notification, SMS or email did not arrive: what you can configure in the Notification center, SMS settings and Firebase, what is logged, and what only the super admin can fix.

Last updated 22 October 2026 · Last verified 22 October 2026

What it means#

The platform uses three separate channels, each with its own failure causes:

  • Push notifications (Firebase Cloud Messaging, FCM) to the mobile apps, managed in the Notification center («مركز الإشعارات»).
  • SMS through a provider set up under SMS Setting.
  • Email through the SMTP values under Mail Settings.

Who can access what#

Role What they can do
Super admin All four tabs of the Notification center (including «إعدادات Firebase»), plus the separate SMS Setting and Mail Settings pages.
Company admin or in-charge Their company's Notification center («إرسال إشعار» send, «الإشعارات التلقائية» automatic, «السجل» log); under Settings, SMS Setting, SMS Send Setting and Notification Settings if their role has the permission.
Merchant with its own delivery company «إشعارات المناديب»: couriers only.
Accounts of the hub type No Notification center: an account of the hub type that tries to open it gets a 403 page: «ما عندك صلاحية على الإشعارات» (you have no permission for notifications). No screen in the product creates this type: every staff user created on the Users screen is of type admin, even when saved with a Hub or given a limited role, and sees the Notification center whatever the role's permissions are. The old «Push Notification» (دفع الإخطار) menu item appears only for an account that does not get the center (such as the hub type) and has the read permission for it (see Old pages below).
Other merchants, couriers No notification screens.

Likely causes#

Push

  • No Firebase file. The service-account file was never uploaded. The center shows «الإشعارات مو شغّالة لسا» (notifications are not running yet) and its send buttons are disabled.
  • No registered device. The mobile app registers its token with POST /api/v10/fcm-subscribe as the signed-in user; anyone who has not opened the app since the update has none. The log then says «ما عندهم أجهزة مسجّلة» (no registered devices).
  • The rule is off. A rule that is off at platform level shows to a company with a lock icon («موقّف من الإدارة», stopped by the administration) in place of the switch and with both text fields disabled, so the company can neither switch it on nor reword it. The super admin can switch any automatic notification off for everyone in the «الإشعارات التلقائية» tab. Four rules are off by default and show to a company as locked until the super admin switches them on in that same tab: new parcel and pickup courier assigned (merchant), delivered and returned (staff). A company can switch off or reword the rules that are not locked.
  • The event is not a notification rule. Rule-based pushes (the ones you can switch off, reword and see in the log) exist only for the events on the «الإشعارات التلقائية» tab (parcel created, courier assigned, pickup courier assigned, rescheduled, delivered, partial, returned, wallet top-up and withdrawal, top-up request, failed store order); other status changes, such as received at the warehouse, trigger no rule-based push. A few older code paths (rescheduling a pickup and assigning a delivery courier) also push straight to the merchant's stored device token, outside those rules and outside the log, using a separate credentials file in the application's firebase folder rather than the file uploaded in the Notification center.
  • Google rejected the token. Tokens that Google rejects with the code UNREGISTERED, INVALID_ARGUMENT, NOT_FOUND or SENDER_ID_MISMATCH are deleted from the device list; the person must open the app again.
  • Old pages. «Notification Settings» (Firebase Secret Key, FCM Topic) belongs to an old sending interface (fcm/send) that Google has stopped, so filling it does not fix push. The old «Push Notification» page (its menu item appears only for an account that does not get the Notification center, and another staff user with the read permission can open it only by typing its address) sends through that old interface and also straight to each user's device token through the newer FCM v1 interface, using a separate credentials file in the application's firebase folder; it does not use the file uploaded in the Notification center and does not write to its log.

SMS

  • No provider is on. SMS Setting has four provider cards (REVE, TWILIO, NEXMO, CLICKSEND), each with a status switch; a new company starts with REVE, Twilio and Nexmo off and blank. REVE needs API key, secret key and API URL; Twilio SID, token and from-number; Nexmo key and secret key.
  • Wrong provider or wrong settings. The sign-up verification code goes only through REVE or Twilio. It is sent while the visitor is not signed in, so it uses the platform's SMS Setting (the super admin's), not the delivery company's; parcel SMS sent by company staff uses the company's own SMS Setting. If several providers are on, each message is sent through every one.
  • Nobody asked for it. Parcel SMS is not automatic: staff must tick «Send SMS for pickup man» or «Send SMS for merchant» when assigning or rescheduling a pickup. The text is fixed English (Bengali if the session language is bn).
  • Top-up approvals. Approving a merchant's top-up request, whether by the super admin or by the company, sends no SMS. The merchant is notified by push instead, through the automatic rule «طلبات شحن الرصيد» (wallet top-up requests), so a missing SMS there is not a fault.

Email. The SMTP values are missing or wrong. Only the super admin has Mail Settings.

How to diagnose#

  • Open Notification center, tab «السجل» (a company sees its own rows, the super admin sees all). It lists the latest 100 sends, filterable by «الكل», «اليدوي» and «التلقائي»; the «النتيجة» column shows ✓ accepted or ✗ failed with the error text.
  • Group sends (everyone, a role, a company) go to an FCM topic, so ✓ 1 means Google accepted the request, not that one device received it.
  • SMS leaves no trace: the platform stores no provider reply and shows no error.

Resolution steps#

  1. Register the device

    Ask the person to open the mobile app and sign in. The counter «عندهم جهاز مسجّل» (have a registered device) at the top of the center should then rise.

  2. Check the automatic rule

    In «الإشعارات التلقائية» make sure the event's switch is on and not locked. An empty text field means the default text. If the row is locked (🔒), only the super admin can switch it on: ask them.

  3. Send yourself a test

    In the «إرسال إشعار» tab press «ابعتلي إشعار تجربة» (send me a test notification). Without a registered device you get «ما في جهاز مسجّل لحسابك» (no device is registered for your account).

  4. Fix Firebase (super admin)

    In the Firebase console create a new private key under Project settings, Service accounts. Upload the JSON file (up to 64 KB) in «إعدادات Firebase» with «رفع وتجربة الاتصال». «انحفظ ملف Firebase واشتغل الاتصال ✓» means it works; «انحفظ الملف بس الاتصال فشل» is followed by Google's reason. Never paste the file into a ticket or chat.

  5. Fix SMS and email

    In SMS Setting fill one provider and switch it on (for the sign-up code this must be the super admin's SMS Setting; for parcel SMS, the company's own). In Mail Settings save the SMTP values and send a test email: «Sended successfully» or «Invalid mail configuration».

When to contact support#

Open a ticket (company staff: «Tickets & support»; merchants: «Support», «الدعم» in the Arabic interface) when the Firebase upload fails, the log shows a Google error you cannot explain, opening the center shows a bare 503 Service Unavailable page (the notification tables are missing, and the page does not say so; the super admin must apply the database updates under System maintenance), or sends to «أشخاص معيّنين» (specific people) work but group sends reach nobody (only the super admin can investigate topics and «مزامنة الأجهزة», sync devices). Include the time, the recipient's role, the event name and the log row text.

Limits and notes#

  • Almost all of the Notification center's text is Arabic-only, even in the English interface; a few words (for example «الكل» and «النتيجة») are translated.
  • The «SMS Send Setting» switches (Parcel Create, Delivered Cancel Customer, Delivered Cancel Merchant) do not affect sending.

API

  • POST /api/v10/fcm-subscribe
  • POST /api/v10/fcm-unsubscribe