Laravel EnsoLaravel Enso
Guide
Back End
Front End
GitHub
Guide
Back End
Front End
GitHub
  • Back End

    • Action Logger
    • Addresses
    • Alfa Sign
    • Algolia
    • Algolia Webshop
    • API
    • Audit
    • Avatars
    • BTRL (Banca Transilvania iPay)
    • Cache Chain
    • Calendar
    • Cargo Partner
    • Categories
    • Charts
    • CI/CD
    • Cli
    • CNP Validator
    • Comments
    • Commercial
    • Companies
    • Core
    • Countries
    • Currencies
    • Data Export
    • Data Import
    • Discounts
    • Documents
    • Dynamic Methods
    • EAV
    • Emag
    • Emag Checker
    • Enums
    • Excel
    • Facebook
    • Files
    • Filters
    • Financials
    • Forms
    • Frisbo
    • Google
    • Helpers
    • Holidays
    • How-to
    • Image Transformer
    • Impersonate
    • Interactions
    • Inventory
    • IO
    • Localisation
    • Lockable Models
    • Logs
    • Mails
    • Measurement Units
    • Meili Search
    • Meili Search Webshop
    • Menus
    • Migrator
    • Monitored Emails
    • Notifications
    • Packaging Units
    • PDF
    • People
    • Permissions
    • Product Eav
    • Product Lots
    • Products
    • Projects
    • Questionnaires
    • Rememberable
    • Roles
    • Sale Channels
    • Searchable
    • Select
    • Send SMS (Sendsms.ro)
    • Sentry
    • Services
    • Smart Bill
    • Sms Advert
    • Stripe
    • Sunrise Sunset
    • System Notifications
    • Tables
    • Tasks
    • Teams
    • Ticketing
    • Track Who
    • Tutorials
    • Typesense
    • Typesense Webshop
    • Unit Conversion
    • Upgrade
    • UPS
    • User Groups
    • Users
    • Versions
    • Virtual Call Center
    • Vouchers
    • Webshop
    • Webshop Commercial

System Notifications

Configurable system notification definitions for Laravel Enso applications.

Description

System Notifications stores notification definitions, channel templates, context-defined placeholders, handler-driven recipients, and dispatch logs.

This package does not replace laravel-enso/notifications. The existing notifications package remains responsible for the notification inbox, unread counts, read/delete endpoints, and broadcast channel plumbing. This package owns the definition and dispatch orchestration layer.

Installation

Install the package through Composer:

composer require laravel-enso/system-notifications

Run migrations after installing:

php artisan migrate

Features

  • defines system notifications in the database
  • supports mail, SMS, and push templates
  • validates {placeholder} usage through context-defined placeholders
  • resolves to and cc recipients through notification handlers
  • exposes administration endpoints for contexts, placeholders, and notification options
  • exposes context registry contracts for consuming packages
  • sends SMS through an application-bound SmsSender
  • logs notification dispatch per channel and recipient
  • ships Enso routes, form, catalogue table, logs table, permissions, and menu structure

Contexts

Contexts are code-defined and registered by the consuming application or package:

use LaravelEnso\SystemNotifications\Resolvers\Contexts;

Contexts::register(ProjectContext::class);

Context classes implement:

LaravelEnso\SystemNotifications\Contracts\Context

Contracts

  • Contracts\Context
  • Contracts\Placeholder
  • Contracts\Handler
  • Contracts\SmsSender

Handlers return to() and cc() email address arrays for mail, sms() phone number arrays for SMS, and push() notifiable arrays for push/database notifications.

Applications that enable SMS must bind SmsSender to their own implementation. Saving an SMS-enabled notification fails validation while no sender is registered.

Menus

The package exposes a nested administration menu:

  • Administration > Notifications
  • Administration > Notifications > Catalogue
  • Administration > Notifications > Logs

Catalogue manages notification definitions. Logs displays dispatch logs from system_notification_logs and supports filtering by notification, context, channel, status, and creation date.

Routes

Main route group:

  • api/administration/system-notifications

Named route groups:

  • administration.systemNotifications.catalogue.*
  • administration.systemNotifications.logs.*

Companion Frontend Package

  • @enso-ui/system-notifications

License

MIT.

Edit this page on GitHub
Last Updated: 5/21/2026, 9:46:12 AM
Prev
Sunrise Sunset
Next
Tables