karnoweb / sms-sender
A fluent SMS manager for Laravel with multi-driver support and automatic failover.
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/karnoweb/sms-sender
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.0
- illuminate/config: ^11.0|^12.0
- illuminate/container: ^11.0|^12.0
- illuminate/contracts: ^11.0|^12.0
- illuminate/database: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^10.0
- phpunit/phpunit: ^11.0
README
A fluent SMS manager for Laravel with multi-driver support and automatic failover.
โจ Features
- ๐ Fluent API โ Chainable, readable interface
- ๐ Auto Failover โ Automatic switch between SMS providers
- ๐ Logging โ Every attempt logged to database
- ๐ Delivery Reports โ Check message delivery status
- ๐ Extensible โ Add custom drivers with a single interface
- โ๏ธ Usage Control โ Daily/monthly limits per driver
๐ Quick Start
composer require karnoweb/sms-sender php artisan vendor:publish --tag=sms-config php artisan vendor:publish --tag=sms-migrations php artisan migrate
use Karnoweb\SmsSender\Facades\Sms; use Karnoweb\SmsSender\Enums\SmsTemplateEnum; // Simple message Sms::message('Hello World') ->number('09120000000') ->send(); // OTP Sms::otp(SmsTemplateEnum::LOGIN_OTP) ->input('code', '1234') ->number('09120000000') ->send(); // Multiple recipients Sms::message('Announcement') ->numbers(['09121111111', '09122222222']) ->send(); // Check delivery status $results = Sms::number('09120000000')->checkStatus();
๐ Documentation
Full documentation is available in the docs/ directory.
| # | Topic |
|---|---|
| 01 | Overview |
| 02 | Installation |
| 03 | Configuration |
| 04 | Basic Usage |
๐งช Testing
./vendor/bin/phpunit
๐ License
MIT License. See LICENSE for details.