polygontech / sms-service-client
Send SMS through sms-service of Polygon Technology
Requires
- php: >=8.1.0
- guzzlehttp/guzzle: ^7.0
- polygontech/common-helpers: ^1.0
README
Send SMS through sms-service of Polygon Technology
polygontech/sms-service-client is mainly used in laravel projects at polygontech in combination of sms-service(e.g.), which is responsible sending sms as a microservice. So, make sure of installing and running the sms-service before integrating this client.
Installation
The preferred method of installation is via Composer. Run the following
command to install the package and add it as a requirement to your project's
composer.json
:
composer require polygontech/sms-service-client
then, publish the needed config:
php artisan vendor:publish --provider='Polygontech\SmsService\ServiceProvider' # or, php artisan vendor:publish # and select 'Polygontech\SmsService\ServiceProvider' when prompted
Usage
First of all, create a enum
implementing the interface
named Feature
. The enum
should contain cases for features supported by the installed sms service. For example for a sms-service supporting test, otp features, the enum
should look like:
use Polygontech\SmsService\Inputs\Feature; enum SmsFeatures implements Feature { case TEST; case OTP; public function getFeatureType(): string { switch ($this) { case self::TEST: return "test"; case self::OTP: return "otp"; } } } // or, enum SmsFeatures : string implements Feature { case TEST = "test"; case OTP = "otp"; public function getFeatureType(): string { return $this->value; } }
Then, to shoot a single sms:
use Polygontech\CommonHelpers\Mobile\BDMobile; use Polygontech\SmsService\Facades\Sms; use Polygontech\SmsService\Responses\SingleSmsResponse; /** @var SingleSmsResponse $output */ $output = Sms::shoot(SmsFeatures::TEST, new BDMobile("+8801678242960"), "test sms"));
To shoot a bulk sms:
use Polygontech\CommonHelpers\Mobile\BDMobile; use Polygontech\SmsService\Facades\Sms; use Polygontech\SmsService\Responses\BulkSmsResponse; /** @var BulkSmsResponse $output */ $output = Sms::shoot(SmsFeatures::TEST, [ new BDMobile("+8801678242960"), new BDMobile("+8801678242961"), ], "test bulk sms"));
Contributing
Contributions are welcome! To contribute, please familiarize yourself with CONTRIBUTING.md.
Copyright and License
The polygontech/nagad-disbursement library is copyright © Shafiqul Islam, Polygon Technology and licensed for use under the MIT License (MIT). Please see LICENSE for more information.