salamwaddah / laravel-smsglobal-notifications-channel
SmsGlobal notification channel for Laravel 10, 11, 12
Installs: 484
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 2
Open Issues: 0
pkg:composer/salamwaddah/laravel-smsglobal-notifications-channel
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.2
- illuminate/http: ^10.0 || ^11.0 || ^12.0
- illuminate/notifications: ^10.0 || ^11.0 || ^12.0
- illuminate/support: ^10.0 || ^11.0 || ^12.0
Requires (Dev)
- laravel/pint: ^1.25
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.1
This package is auto-updated.
Last update: 2025-11-12 17:33:47 UTC
README
Laravel SMSGlobal
Use this package to send SMS with SmsGlobal
Installation
composer require salamwaddah/laravel-smsglobal-notifications-channel
Configure
In your services.php config file add the following configs.
// ...
'sms_global' => [
'debug' => env('SMS_GLOBAL_DEBUG', true),
'api_key' => env('SMS_GLOBAL_API_KEY'),
'api_secret' => env('SMS_GLOBAL_API_SECRET'),
'origin' => 'YourCompanyName',
],
Debug Mode
Debug mode is on by default, which means SMS will not be actually sent, instead only a log record will be added
to /storage/logs/laravel.log
In your services.php change the value of sms_global.debug to false
Usage
Notification class
Using Laravel notification class add SmsGlobalChannel::class to via()
method like so:
use Illuminate\Notifications\Notification; use SalamWaddah\SmsGlobal\SmsGlobalChannel; use SalamWaddah\SmsGlobal\SmsGlobalMessage; class OrderPaid extends Notification { public function via($notifiable): array { return [ SmsGlobalChannel::class, ]; } public function toSmsGlobal($notifiable): SmsGlobalMessage { $message = 'Order paid, Thank you for your business!'; $smsGlobal = new SmsGlobalMessage(); return $smsGlobal->to($notifiable->phone)->content($message); } }
On demand notification
You can utilize Laravel on-demand notification facade to send SMS directly to a phone number without having to store a user in your application.
Notification::send( '+971555555555', new OrderPaid($order) );
The notifiable argument in toSmsGlobal of your notification class should expect the same data type you passed to
the Notification facade.
In this example, we passed the phone number as a string because we don't have a "user" and so toSmsGlobal should
expect a string.
public function toSmsGlobal(string $phoneNumber): SmsGlobalMessage { $message = 'Order paid, Thank you for your business!'; $smsGlobal = new SmsGlobalMessage(); return $smsGlobal->to($phoneNumber)->content($message); }