This package makes it easy to send notifications using https://ultramsg.com/ with Laravel 5.3+.
Code Reference from laravel-notification-channels/smsc-ru
You can install the package via composer:
composer require shiroamada/ultrasms-laravel-notification
Then you must install the service provider:
// config/app.php
'providers' => [
...
NotificationChannels\UltraSms\UltraSmsServiceProvider::class,
],
Add your ultrasms instanceId and token to your config/services.php
:
// config/services.php
...
'ultrasms' => [
'isEnable' => env('ULTRASMS_ENABLE') ?? 0,
'instanceId' => env('ULTRASMS_INSTANCEID'),
'token' => env('ULTRASMS_TOKEN'),
'isMalaysiaMode' => env('ULTRASMS_MALAYSIA_MODE') ?? 0,
'isDebug' => env('ULTRASMS_DEBUG_ENABLE') ?? 0,
'debugReceiveNumber' => env('ULTRASMS_DEBUG_RECEIVE_NUMBER'),
],
...
You can use the channel in your via()
method inside the notification:
use Illuminate\Notifications\Notification;
use NotificationChannels\UltraSms\UltraSmsMessage;
use NotificationChannels\UltraSms\UltraSmsChannel;
class AccountApproved extends Notification
{
public function via($notifiable)
{
return [UltraSmsChannel::class];
}
public function toUltraSms($notifiable)
{
return UltraSmsMessage::create("Task #{$notifiable->id} is complete!");
}
}
In your notifiable model, make sure to include a routeNotificationForUltraSms() method, which return the phone number.
public function routeNotificationForUltraSms()
{
return $this->mobile; //depend what is your db field
}
content()
: Set a content of the notification message.
sendAt()
: Set a time for scheduling the notification message.
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please use the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.