This package makes it easy to send notifications using TurboSMS with Laravel 5.5+, 6.0 and 7.0
You can install this package via composer:
composer require laravel-notification-channels/turbosms
Add your TurboSMS sms gate login, password and default sender name to your config/services.php:
// config/services.php
...
'turbosms' => [
'wsdlEndpoint' => env('TURBOSMS_WSDLENDPOINT', 'http://turbosms.in.ua/api/wsdl.html'),
'login' => env('TURBOSMS_LOGIN'),
'password' => env('TURBOSMS_PASSWORD'),
'sender' => env('TURBOSMS_SENDER'),
'debug' => env('TURBOSMS_DEBUG', false), //will log sending attempts and results
'sandboxMode' => env('TURBOSMS_SANDBOX_MODE', false) //will not invoke API call
],
...
You can use the channel in your via() method inside the notification:
use Illuminate\Notifications\Notification;
use NotificationChannels\TurboSMS\TurboSMSMessage;
class AccountApproved extends Notification
{
public function via($notifiable)
{
return ["turbosms"];
}
public function toTurboSMS($notifiable)
{
return (new TurboSMSMessage("Your account was approved!"));
}
}
In your notifiable model, make sure to include a routeNotificationForTurboSMS() method, which returns a phone number or an array of phone numbers.
public function routeNotificationForTurboSMS()
{
return $this->phone;
}
Sometimes you may need to send a notification to someone who is not stored as a "user" of your application. Using the Notification::route method, you may specify ad-hoc notification routing information before sending the notification:
Notification::route('turbosms', '+380501111111')
->notify(new AccountApproved());
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.