chevgenio / smspilot-notification-channel
SmsPilot Notifications channel for Laravel
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^7.0.1
- illuminate/notifications: ^8.0
- illuminate/queue: ^8.0
- illuminate/support: ^8.0
Requires (Dev)
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2025-05-09 16:30:20 UTC
README
This package makes it easy to send notifications using smspilot.ru with Laravel 8.x.
Contents
Installation
Install this package with Composer:
composer require chevgenio/smspilot-notification-channel
Setting up the SmsPilot service
Add your SmsPilot api key, default sender name to your config/services.php
:
// config/services.php ... 'smspilot' => [ 'apikey' => env('SMSPILOT_APIKEY'), 'sender' => env('SMSPILOT_SENDER', 'INFORM'), 'callback' => env('SMSPILOT_CALLBACK_URL', ''), 'callback_method' => env('SMSPILOT_CALLBACK_METHOD', 'get'), ], ...
Usage
You can use the channel in your via()
method inside the notification:
use Illuminate\Notifications\Notification; use Chevgenio\SmsPilot\SmsPilotMessage; use Chevgenio\SmsPilot\SmsPilotChannel; class NewOrder extends Notification { public function via($notifiable) { return [SmsPilotChannel::class]; } public function toSmsPilot($notifiable) { return (new SmsPilotMessage) ->content("Order successfully completed."); } }
In your notifiable model, make sure to include a routeNotificationForSmspilot
method, which returns a phone number
or an array of phone numbers.
public function routeNotificationForSmspilot() { return $this->phone; }
Available methods
from()
: Sets the sender's name. Make sure to register the sender name at you SmsPilot dashboard.
content()
: Set a content of the notification message.
sendAt()
: Set a time for scheduling the notification message.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
License
The MIT License (MIT). Please see License File for more information.