Skip to content

Xenon\LaravelBDSms is a laravel based multi sms gateway package for sending text message to Bangladeshi mobile numbers using several gateways like sslsms, greenweb, dianahost, metronet, boomcast, bulksmsbd, adn, mobireach, tense, banglalink. You can see installation from https://youtu.be/i2wjLNoIvIo

License

Notifications You must be signed in to change notification settings

BornonIt/laravelbdsms

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xenon\LaravelBDSms is a sms gateway package for sending text message to Bangladeshi mobile numbers using several gateways for Laravel Framework. You can watch installation process from youtube.

Installation

Step 1:

composer require xenon/laravelbdsms

Step 2:

Then, publish the package

php artisan vendor:publish --provider=Xenon\LaravelBDSms\LaravelBDSmsServiceProvider

Step 3:

Select Vendor From Console

Step 4:

php artisan config:cache && php artisan migrate

Usage

Simply use the facade

use Xenon\LaravelBDSms\Facades\SMS;

SMS::shoot('017XXYYZZAA', 'helloooooooo boss!');

SMS::shoot(['017XXYYZZAA','018XXYYZZAA'], 'helloooooooo boss!'); //for Ssl Sms Gateway Only

Or, with facade alias

use LaravelBDSms, SMS;

LaravelBDSms::shoot('017XXYYZZAA', 'helloooooooo boss!');
SMS::shoot('017XXYYZZAA', 'helloooooooo boss!');

Or, if you need to change the default provider on the fly

use Xenon\LaravelBDSms\Facades\SMS;
use Xenon\LaravelBDSms\Provider\Ssl;

$response = SMS::via(Ssl::class)->shoot('017XXYYZZAA', 'helloooooooo boss!');

That should do it.

Or, if you want to send message with queue. This queue will be added in your jobs table. Message will be sent as soon as job is run.

use Xenon\LaravelBDSms\Facades\SMS;
use Xenon\LaravelBDSms\Provider\Ssl;

SMS::shootWithQueue("01XXXXXXXXX",'test sms');
SMS::via(Ssl::class)->shootWithQueue("01XXXXXXXXX",'test sms');

That should do it.

Log Generate

You can generate log in database for every sms api request and save in database. For doing this. Follow below points

  1. Be confirm you have completed step-2 and step-3
  2. Run command php artisan migrate. This will create lbs_log table in your database
  3. Go to your project directory and locate config/sms.php
  4. Find and make true 'sms_log' => true,

Otherwise, if you want more control, you can use the underlying sender object. This will not touch any laravel facade or service provider.

Sample Code

SSLCommerz

use Xenon\LaravelBDSms\Provider\Ssl;
use Xenon\LaravelBDSms\Sender;

$sender = Sender::getInstance();
$sender->setProvider(Ssl::class); 
$sender->setMobile('017XXYYZZAA');
//$sender->setMobile(['017XXYYZZAA','018XXYYZZAA']);
$sender->setMessage('helloooooooo boss!');
$sender->setQueue(true); //if you want to sent sms from queue
$sender->setConfig(
   [
       'api_token' => 'api token goes here',
       'sid' => 'text',
       'csms_id' => 'sender_id'
   ]
);
$status = $sender->send();

Demo Response Using SSL

array:6 [▼
  "status" => "response"
  "response" => "{"status":"FAILED","status_code":4003,"error_message":"IP Blacklisted"}"
  "provider" => "Xenon\LaravelBDSms\Provider\Ssl"
  "send_time" => "2021-07-06 08:03:23"
  "mobile" => "017XXYYZZAA"
  "message" => "helloooooooo boss!"
]

MimSMS

use Xenon\LaravelBDSms\Provider\MimSms;
use Xenon\LaravelBDSms\Sender;

$sender = Sender::getInstance();
$sender->setProvider(MimSms::class);
$sender->setMobile('017XXYYZZAA');
$sender->setMessage('This is test message');
$sender->setQueue(true); //if you want to sent sms from queue
$sender->setConfig(
   [
       'api_key' => 'api_key_goes_here',
       'type' => 'text',
       'senderid' => 'approved_send_id',
   ]
);

$status = $sender->send();

Currently Supported SMS Gateways

Provider Credentials Required
For Sending SMS
Status Comment Contact
AjuraTech apikey, secretkey , callerID Done - -
Adn api_key, type, senderid Done - -
Banglalink userID, passwd , sender Done - -
BDBulkSMS token Done - -
BoomCast masking , userName , password Done - -
BulksmsBD api_key,senderid Done - -
DianaHost api_key, type, senderid Done - -
DianaSMS ApiKey, ClientId, SenderId Done - -
Esms api_token, sender_id Done - -
ElitBuzz api_key, type, senderid Done not tested yet in live -
Infobip user, password Done not tested yet in live -
MDL api_key, type, senderid Done not tested yet in live -
Metronet api_key, mask Done - -
MimSms api_key, type, senderid Done - -
Mobireach Username,Password, From Done - -
NovocomBD ApiKey , ClientId , SenderId Done - -
OnnoRokomSMS userName, userPassword, type, maskName, campaignName Done not tested yet in live -
RedmoITSms api_token, sender_id Support closed -
SmartLabSMS user, password, sender Done - -
SmsinBD api_token, senderid Done 01777-333677 -
SmsQ sender_id, client_id, api_key Done -
SMSNet24 user_id, user_password, route_id(optional), sms_type_id(optional) Done - admin2@digitallabbd.com, +880 1705 691269, +880 1733393 712
SmsNoc sender_id, bearer_token Done -
Sslsms api_token, sid, csms_id Done - -
Tense user, password, campaign, masking Done - -
TwentyFourSmsBD apiKey, sender_id Done - -
Trubosms api_token, sender_id Done - -
Viatech api_key, mask Done - -

Stargazers

Stargazers repo roster for @arif98741/laravelbdsms

Forkers

Forkers repo roster for @arif98741/laravelbdsms

Contributors


We are continuously working in this open source library for adding more Bangladeshi sms gateway. If you feel something is missing then make a issue regarding that. If you want to contribute in this library, then you are highly welcome to do that....

For clear documentation read this blog in Medium! and also you can download several sms providers documentations as pdf from this link!

Special thanks to
tusharkhan
tusher9352

About

Xenon\LaravelBDSms is a laravel based multi sms gateway package for sending text message to Bangladeshi mobile numbers using several gateways like sslsms, greenweb, dianahost, metronet, boomcast, bulksmsbd, adn, mobireach, tense, banglalink. You can see installation from https://youtu.be/i2wjLNoIvIo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%