crafted-systems / laravel-sms
A Laravel Package for Sending out SMS from multiple Gateways
Requires
- illuminate/support: ^6.0|^7.0|^8.0
README
This is a Laravel library meant to make it easier to send SMS and switch between multiple SMS Gateways.
Installation
You can install the package via composer:
composer require crafted-systems/laravel-sms
The package will register itself automatically.
Then publish the package configuration file
php artisan vendor:publish --provider=CraftedSystems\\LaravelSMS\\SMSServiceProvider
Usage
The default gateway is AfricasTalking
Check the config file of all variables required, and then
(new SMS())->send('254712345678','Test SMS');
or using Facade
SMS::send('254712345678','Test SMS');
or using helper
sms()->send('254712345678','Test SMS');
Adding new Gateway
use command
php artisan make:gateway MyGateway
A class MyGateway.php
will be generated under App/Gateways
folder.
The class extends the SMSContract
Remember to map
your gateway in the sms config file.
Changing Gateway
Apart from declaring your default gateway on the sms config or env files, you can also change the gateway you want to use on the fly. e.g:
SMS::gateway('mygateway')->send('254712345678','Test SMS');
Checking SMS balance
SMS::getBalance(); //or SMS::gateway('mygateway')->getBalance();
Delivery Reports
sms()->getDeliveryReports(Request $request); //or sms()->gateway('mygateway')->getDeliveryReports(Request $request);
Contributing
Suggestions, pull requests , bug reporting and code improvements are all welcome. Feel free.
TODO
Write Tests :-(
Credits
License
The MIT License (MIT). Please see License File for more information.