This package makes it easy to send notifications using AllMySms with Laravel 5.5+, 6.x and 7.x.
You can install the package via composer:
composer require laravel-notification-channels/all-my-sms
Add the following code to you config/services.php
:
// config/services.php
...
'all_my_sms' => [
'uri' => env('ALL_MY_SMS_URI', 'https://api.allmysms.com/http/9.0'),
'login' => env('ALL_MY_SMS_LOGIN'),
'api_key' => env('ALL_MY_SMS_API_KEY'),
'format' => env('ALL_MY_SMS_FORMAT', 'json'),
'sender' => env('ALL_MY_SMS_SENDER'),
'universal_to' => env('ALL_MY_SMS_UNIVERSAL_TO'),
],
...
Now you can use the channel in your via()
method inside the notification:
use NotificationChannels\AllMySms\AllMySmsChannel;
use NotificationChannels\AllMySms\AllMySmsMessage;
use Illuminate\Notifications\Notification;
class ProjectCreated extends Notification
{
public function via($notifiable)
{
return [AllMySmsChannel::class]; // or 'all_my_sms'
}
public function toAllMySms($notifiable)
{
return new AllMySmsMessage('Content');
}
}
In order to let your Notification know which phone number to use, add the routeNotificationForAllMySms
method to your Notifiable model.
This method needs to return a phone number.
public function routeNotificationForAllMySms(Notification $notification)
{
return $this->phone_number;
}
When developing an application that sends sms, you probably don't want to actually send sms to live phone numbers. You may set a universal recipient of all sms sent. This can be done by the ALL_MY_SMS_UNIVERSAL_TO
environment variable or the universal_to
option.
content(string $content)
: Accepts a string value for the sms content.sender(string $sender)
: Accepts a string value for the sender name.campaign(string $campaign)
: Accepts a string value for the sms campaign name.sendAt(\DateTimeInterface|string $sendAt)
: Accepts a DateTimeInterface or string for the sms due date.parameters(array $parameters)
: Accepts an array for the sms parameters.
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.