softon/sms

Simple SMS Gateway Package for sending short text messages from your Application. Facade for Laravel 5.Currently supported Gateways Clickatell , MVaayoo, Gupshup, SmsAchariya, SmsCountry , SmsLane , Nexmo, Mocker / Any HTTP/s based Gateways are supported by Custom Gateway. Log gateway can be used fo

v2.0.6 2020-09-23 09:53 UTC

This package is auto-updated.

Last update: 2021-05-23 11:23:58 UTC


README

Simple SMS(Short Messaging Service) Gateway Package for sending short text messages from your Application. Facade for Laravel 5(Updated to work with Laravel 5.*).Currently supported Gateways Clickatell, MVaayoo, Gupshup, SmsAchariya, SmsCountry, SmsLane, Nexmo, Mocker, MSG91 / Any HTTP/s based Gateways are supported by Custom Gateway. Log gateway can be used for testing.

Installation

  1. Edit the composer.json add to the require array & run composer update
     composer require softon/sms 
  2. (Optional for Laravel 5.5+) Add the service provider to the config/app.php file in Laravel
     Softon\Sms\SmsServiceProvider::class, 
  3. (Optional for Laravel 5.5) Add an alias for the Facade to the config/app.php file in Laravel
     'Sms' => Softon\Sms\Facades\Sms::class, 
  4. Publish the config & views by running
     php artisan vendor:publish --provider="Softon\Sms\SmsServiceProvider" 

Usage

Edit the config/sms.php. Set the appropriate Gateway and its parameters. Then in your code...
Put your blade template for the SMS in the resources/views/sms folder. Then use the below lines of code to send SMS.

use Softon\Sms\Facades\Sms;  

Send Single SMS with View:-

// Params: [MobileNumber,Blade View Location,SMS Params If Required]
Sms::send('9090909090','sms.test',['param1'=>'Name 1']);  

Send Single SMS with Raw Message:-

// Params: [MobileNumber,Blade View Location,SMS Params If Required]
Sms::send('9090909090','Any Message Text To be sent.');  

Send Multiple SMS:-

// Params: [Array of MobileNumbers,Blade View Location,SMS Params If Required]
Sms::send(['87686655455','1212121212','2323232323'],'sms.test',['param1'=>'Name 1']);  

Select the Gateway before sending the Message:-

/*****************************************************
 Gateways ::  log / clickatell / gupshup / mvaayoo / 
              smsachariya / smscountry / smslane / 
              nexmo / msg91 / mocker / custom 
*****************************************************/

Sms::gateway('mocker')->send(['87686655455','1212121212','2323232323'],'sms.test',['param1'=>'Name 1']);  

With Response:-

// This command gives you the reply recieved from the server.
Sms::send(['87686655455','1212121212','2323232323'],'sms.test',['param1'=>'Name 1'])->response();  

Custom Gateway Let us suppose you want to use any other gateway. Find the API url with which sms can be sent. For Example : http://example.com/api/sms.php?uid=737262316a&pin=YOURPIN&sender=your_sender_id&route=0&mobile=8888888888&message=How are You&pushid=1

Then you can setup the Config of Custom Gateway like this:

        'custom' => [                           // Can be used for any gateway
            'url' => '',                        // Gateway Endpoint
            'params' => [                       // Parameters to be included in the request
                'send_to_name' => 'mobile',           // Name of the field of recipient number
                'msg_name' => 'message',               // Name of the field of Message Text
                'others' => [                   // Other Authentication params with their values
                    'uid' => '737262316a',
                    'pin' => 'YOURPIN',
                    'sender' => 'your_sender_id',
                    'route' => '0',
                    'pushid' => '1',
                ],
            ],
            'add_code' => true,                 // Append country code to the mobile numbers
        ],