Download the PHP package amdadulhaq/bd-sms-laravel without Composer
On this page you can find all versions of the php package amdadulhaq/bd-sms-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download amdadulhaq/bd-sms-laravel
More information about amdadulhaq/bd-sms-laravel
Files in amdadulhaq/bd-sms-laravel
Package bd-sms-laravel
Short Description Send SMS from Laravel via Bangladeshi gateways (BulkSMSBD, MimSMS, SSL Wireless, Alpha SMS, GreenWeb BD) or any custom HTTP API.
License MIT
Homepage https://github.com/amdad121/bd-sms-laravel
Informations about the package bd-sms-laravel
BD SMS for Laravel
Send SMS from Laravel via Bangladeshi gateways (BulkSMSBD, MimSMS, SSL Wireless, Alpha SMS, GreenWeb BD) or any custom HTTP API.
Requirements
- PHP 8.2, 8.3, 8.4, or 8.5
- Laravel 11, 12, or 13
Installation
The service provider and Sms facade are auto-discovered. Publish the config file:
Configuration
Set SMS_DRIVER to the gateway you want, then fill in that driver's credentials. SMS_DRIVER defaults to log, so nothing breaks in local/testing environments without gateway credentials. See config/sms.php for every option, including per-driver base_url overrides.
Log (default)
Writes each SMS to the application log instead of sending it — the default when SMS_DRIVER is unset, no configuration needed.
BulkSMSBD
MimSMS
SSL Wireless
Alpha SMS
GreenWeb BD
Any other gateway (generic HTTP driver)
For any REST gateway without a first-class driver (Elitbuzz, REVE Systems, etc.), configure the http driver directly in config/sms.php — no code required. Use {to} and {message} as placeholders anywhere in the payload:
success_path is a dot-notation path into the JSON response (via data_get()); the send is considered successful when the value there loosely equals success_value. Omit both to just check the HTTP response status. This driver's balance() always returns null since there's no generic way to know a gateway's balance endpoint.
Sending SMS
sendMany() sends to each recipient individually and returns an array of results keyed by recipient number — it doesn't assume a gateway's batch API, so it works the same on every driver.
Notifications
Implement toSms() on any notification and route it through the sms channel:
The channel resolves the recipient's number via routeNotificationFor('sms', $notification), falling back to a phone property on the notifiable. Add a route method for full control:
Adding your own gateway
For anything the generic http driver (see Configuration) can't express, register a custom driver:
Any driver just needs to implement AmdadulHaq\BdSms\Contracts\SmsDriver:
Testing
Use Sms::fake() to swap the real gateway with an in-memory fake and assert on what would have been sent, without dispatching anything or hitting the network:
Running the package's own test suite
License
MIT. See LICENSE.md.
All versions of bd-sms-laravel with dependencies
illuminate/notifications Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0