zhandos-prog / mobizon-sms-driver
Mobizon SMS driver package for tzsk/sms
0.2.0
2023-03-03 08:39 UTC
Requires
- php: ^8.0
- tzsk/sms: ^6.0|^7.0
Requires (Dev)
- phpunit/phpunit: ^9.5
README
Requirements
- PHP >= 8.0
- Laravel SMS Gateway
Features
- [✓] Send sms single
- [✓] Send sms mass
Installation
composer require zhandos-prog/mobizon-sms-driver
Configure
Publish the config file
$ php artisan sms:publish
In the config file you can set the default driver to use for all your SMS. But you can also change the driver at runtime.
Choose what gateway you would like to use for your application. Then make that as default driver so that you don't have to specify that everywhere. But, you can also use multiple gateways in a project.
Path config file: app/config/sms.php
// Eg. if you want to use MobizonSmsDriver. 'default' => 'smsmobizon',
Then fill the credentials for that gateway in the drivers
array.
// Eg. for MobizonSmsDriver. 'drivers' => [ 'smsmobizon' => [ // Fill all the credentials here. 'apiKey' => 'Your Api Key', 'from' => 'Your Mobizon Sender ID', 'url' => 'Your Url Api' ], ... ]
Сlass MobizonSmsDriver needs to be mapped specify it in the map
section
// Eg. for MobizonSmsDriver. 'map' => [ ... 'smsmobizon' => ZhandosProg\MobizonSmsDriver\Driver\MobizonDriver::class, ]
Register a service provider
Path config file: app/config/app.php
// Eg. for MobizonSmsDriver. 'providers' => [ ... ZhandosProg\MobizonSmsDriver\MobizonServiceProvider::class, ]
Usage
In your code just use it like this.
use ZhandosProg\MobizonSmsDriver\MobizonSenderSMSInterface; Class ExampleController { private MobizonSenderSMSInterface $mobizonSenderSMS; public function __construct(MobizonSenderSMSInterface $mobizonSenderSMS) { $this->mobizonSenderSMS = $mobizonSenderSMS } public function single() { /// ... your logic $response = $this->mobizonSenderSMS->send('77779998877', '42') dd($response); /// ... your logic } public function mass() { /// ... your logic $response = $this->mobizonSenderSMS->send(['77773335566','87774444242'], '42') dd($response); /// ... your logic } }
You can also use a package facade Laravel SMS Gateway. All details in Usage section!
if you use a facade Laravel SMS Gateway, then registering the service provider is not necessary!
Exceptions
PhoneNumberValidationException