smkbd / bangla-sms
面向孟加拉国短信服务提供商的 Laravel SMS 通知通道
v1.1.3
2024-05-15 10:13 UTC
Requires
- ext-curl: *
- laravel/framework: ^8.0|^9.0|^10.0
README
截至 Laravel 10,它仅支持 Vonage 作为 SMS 通知通道。但 smkbd/bangla-sms
包允许您利用孟加拉国的批量短信服务发送 SMS 通知。
此包支持多个孟加拉国 SMS 服务提供商/网关(见下文)。
版本支持
安装
以下命令将添加包的最新版本到您的 Laravel 项目中。
composer require smkbd/bangla-sms
配置
1. 发布配置文件
php artisan vendor:publish --tag=bangla-sms
它将在项目的 /config
目录中发布 bangla-sms.php
。
2. 配置短信服务提供商密钥和 API 令牌
您需要在发布的 /config/bangla-sms.php
配置文件中设置所有必要的密钥和 API 令牌。
'smsq' => [
'client_id' => 'SET_CLIENT_ID_HERE',
'api_key' => 'SET_API_KEY_HERE',
'sender_id' => 'SET_SENDER_ID_HERE',
...
]
3. 路由短信通知
要启用可通知的(例如用户)接收短信通知,您需要通过定义一个 routeNotificationForBanglaSms
方法来告诉包短信将被发送到哪里。例如,如果您的用户电话号码存储在数据库的 phone_number
列中,您可以这样做-
class User extends Authenticatable
{
use Notifiable;
...
public function routeNotificationForBanglaSms()
{
return $this->phone_number;
}
}
4. 配置 Laravel 通知类
按照以下方式配置您的通知类-
use Smkbd\BanglaSms\BanglaSmsChannel;
class ProductPurchased extends Notification
{
...
public function via(object $notifiable): array
{
return [BanglaSmsChannel::class];
}
public function toBanglaSms(object $notifiable)
{
return "SMS content goes here";
}
...
}
您还可以像通常一样使用队列机制。
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
class ProductPurchased extends Notification implements ShouldQueue
{
use Queueable;
...
}
不使用通知类发送 SMS
您可以直接(即不启动任何通知类)使用以下方式通过 Smkbd\BanglaSms\Sender
类发送 SMS-
use Smkbd\BanglaSms\Sender;
...
$sender = new Sender("My message", ["01712345678", "01987654321"]);
$sender->send();
您也可以指定一个 SMS 提供商,如下所示-
use Smkbd\BanglaSms\Sender;
use Smkbd\BanglaSms\Provider\Smsq;
...
$provider = new Smsq();
$sender = new Sender("My message", ["01712345678", "01987654321"], $provider);
$sender->send();
可用的 SMS 提供商
我没有所需的信息。我从哪里获得它?
如果您已注册 SMS 网关服务提供商,您可以向他们询问 API 令牌/ID。他们将能够帮助您。