xenon / laravelbdsms
这是一个用于通过 Laravel 应用程序向孟加拉国手机号码发送短信的包
V1.0.63.0
2024-09-18 12:35 UTC
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^6.3|^7.3
- dev-master
- V1.0.63.0
- V1.0.62.0
- V1.0.61.0
- V1.0.60.3
- V1.0.60.2
- V1.0.60.1
- V1.0.60.0
- V1.0.59.3
- V1.0.59.2
- V1.0.59.1
- V1.0.59.0
- v1.0.58.1
- V1.0.58.0
- V1.0.57.2
- v1.0.57.1
- v1.0.57.0
- v1.0.56.0
- v1.0.56.0-alpha
- v1.0.55.0-alpha
- v1.0.54.0
- v1.0.53.0
- v1.0.52.0
- v1.0.52.0-beta
- v1.0.51.0
- v1.0.51.0-beta
- v1.0.50.5
- v1.0.50.4
- v1.0.50.3
- v1.0.50.2
- v1.0.50.1
- v1.0.50.0
- v1.0.49.3
- v1.0.49.2
- v1.0.49.1
- v1.0.49.0
- v1.0.48.1
- v1.0.47.2
- v1.0.47.0
- v1.0.46.2
- v1.0.46.1
- v1.0.46.0
- v1.0.45.5
- v1.0.45.3
- v1.0.45.2
- v1.0.45.1
- v1.0.45.0
- v1.0.44.3
- v1.0.44.2
- v1.0.44.1
- v1.0.44.0
- v1.0.43.0
- v1.0.42.1
- v1.0.42.0
- v1.0.41.5
- v1.0.41.2
- v1.0.41.1
- v1.0.41.0
- v1.0.41-beta
- v1.0.40.0
- v1.0.39.0
- v1.0.38.5
- v1.0.38.4
- v1.0.38.3
- v1.0.38.2
- v1.0.38.1
- v1.0.38.0
- v1.0.37.3
- v1.0.37.2
- v1.0.37.1
- v1.0.37.0
- v1.0.36.7
- v1.0.36.6
- v1.0.36.5
- v1.0.36.4
- v1.0.36.3
- v1.0.36.2
- v1.0.36.1
- v1.0.36
- v1.0.36-rc1
- v1.0.35-rc-2
- v1.0.35-rc1
- v1.0.34
- v1.0.33
- v1.0.32
- v1.0.31
- v1.0.31-beta
- v1.0.31-alpha
- v1.0.30
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dev
- dev-testing
- dev-quicksms-gateway
- dev-muthofun-sms-gateway
- dev-alpha_sms_fixing
- dev-feat-grameenphone-sms
- dev-trubosms_gateway
- dev-doc
- dev-SmsNOC_sms_gateway
- dev-SmsinBD_gateway
- dev-smsnet24-gateway
- dev-redmoit_sms_gateway
- dev-smartlabsms-gateway
- dev-patch-1
- dev-sms_queue
- dev-feature_logger
- dev-otp_verify
This package is auto-updated.
Last update: 2024-09-30 13:17:32 UTC
README
Xenon\LaravelBDSms 是一个用于通过多个网关将短信发送到孟加拉国手机号码的 Laravel 框架短信网关包。您可以在 YouTube 上查看安装过程。
安装
步骤 1
composer require xenon/laravelbdsms
步骤 2
使用命令发布包
php artisan vendor:publish --provider=Xenon\LaravelBDSms\LaravelBDSmsServiceProvider --tag="migrations"
php artisan vendor:publish --provider=Xenon\LaravelBDSms\LaravelBDSmsServiceProvider --tag="config"
php artisan migrate
步骤 3
步骤 4
php artisan config:cache && php artisan migrate
使用方法
简单使用外观
注意:要使用外观发送消息,您必须设置 .env 凭据并设置默认提供者;从 config/sms.php 内部查找不同提供者的 .env 凭据)
use Xenon\LaravelBDSms\Facades\SMS;
SMS::shoot('017XXYYZZAA', 'helloooooooo boss!');
SMS::shoot(['017XXYYZZAA','018XXYYZZAA'], 'helloooooooo boss!');
或者,使用外观别名
use LaravelBDSms, SMS;
LaravelBDSms::shoot('017XXYYZZAA', 'helloooooooo boss!');
SMS::shoot('017XXYYZZAA', 'helloooooooo boss!');
或者,如果您需要动态更改默认提供者
use Xenon\LaravelBDSms\Facades\SMS;
use Xenon\LaravelBDSms\Provider\Ssl;
$response = SMS::via(Ssl::class)->shoot('017XXYYZZAA', 'helloooooooo boss!');
或者,您可以使用队列发送消息。这个队列将被添加到您的作业表中。作业运行时,将发送消息。
确保您已启用 jobs 表和其他相关作业功能
use Xenon\LaravelBDSms\Facades\SMS;
use Xenon\LaravelBDSms\Provider\Ssl;
SMS::shootWithQueue("01XXXXXXXXX",'test sms');
SMS::via(Ssl::class)->shootWithQueue("01XXXXXXXXX",'test sms');
日志生成
您可以为每个短信 API 请求生成日志并将其保存到数据库或文件中。为此,请遵循以下要点
- Laravelbdsms 将日志存储在两个驱动程序中(
database, file)。默认为database。您可以从 config/sms.php 中更改它 - 查找并使
'sms_log' => true,为真 - 确认您已完成 步骤-2 和 步骤-3
- 对于
database驱动程序- 将日志驱动程序更改为
log_driver =>'database'从config/sms.php - 运行命令
php artisan migrate。这将创建数据库中的lbs_log表
- 将日志驱动程序更改为
- 对于
file驱动程序- 将日志驱动程序更改为
log_driver =>'file'从config/sms.php
- 将日志驱动程序更改为
否则,如果您想有更多控制权,您可以使用底层的发送者对象。这将不会触及任何 Laravel 外观或服务提供者。
示例代码
SSLCommerz
use Xenon\LaravelBDSms\Provider\Ssl;
use Xenon\LaravelBDSms\Sender;
$sender = Sender::getInstance();
$sender->setProvider(Ssl::class); //change this provider class according to need
$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!"
]
--------------------------------------------------
使用自定义网关发送短信
我们已尽可能地将孟加拉国的所有网关添加到本包中。但是,如果您在此列表中找不到您期望的网关,则可以使用以下代码片段使用自定义网关。
use Xenon\LaravelBDSms\Provider\CustomGateway;
use Xenon\LaravelBDSms\Sender;
$sender = Sender::getInstance();
$sender->setProvider(CustomGateway::class);
$sender->setUrl('https://your_cusom_gateway_provider_url_here')
->setMethod('post')
->setHeaders([
'Content-Type: application/json',
'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
], false);
$sender->setMobile('017XXYYZZAA');
$sender->setMessage('text message goes here');
$sender->setQueue(false);
//use required parameters based on your sms gateway. This will be changed according to need
$sender->setConfig(
[
'MsgType' => 'TEXT',
'masking' => 'sample',
'userName' => 'test_user',
'message' => 'test message',
'receiver' => '017xxxxxxxxxx',
]
);
echo $status = $sender->send();
当前支持的短信网关
星级关注者
分支者
贡献者
我们正在持续为此开源库添加更多孟加拉国短信网关。如果您觉得缺少某些东西,请就此事创建一个问题。如果您想为此库做出贡献,那么您将非常欢迎这样做……
为了清晰的文档,请阅读 Medium 上的这篇文章,并且您还可以从此链接下载多个短信提供商的文档作为 PDF。
特别感谢
tusharkhan
tusher9352
