polygontech/sms-service-client

Send SMS through sms-service of Polygon Technology

1.0.0 2022-12-11 11:47 UTC

This package is auto-updated.

Last update: 2025-04-11 16:33:41 UTC


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.