bluedot-bd/laravel-bulksms

'laravel-bulksms' 是一个用于与基于HTTP的短信网关集成的Laravel包。该包与孟加拉国和其他国家的短信提供商兼容,并允许通过Laravel通知发送通知。它还包括检查短信账户余额的功能

1.0.4 2024-04-17 18:25 UTC

This package is auto-updated.

Last update: 2024-09-17 19:19:23 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

"laravel-bulksms" 是一个用于与任何基于HTTP的短信网关集成的Laravel包。该包与孟加拉国和其他国家的短信提供商兼容,并允许通过Laravel通知发送通知。它还包括检查支持提供商的短信账户余额的功能。此包可用于将短信功能集成到基于Laravel的应用程序中,向人们发送短信消息,并跟踪短信使用情况和账户余额。

安装

您可以通过composer安装此包

composer require bluedot-bd/laravel-bulksms

使用方法

检查并保存配置

use LaravelBulksms;
$sms = new LaravelBulksms(); // config name not needed
$params = [
    'api_mode'         => 'dry', // dry/live
    'send_method'      => 'GET', // GET/POST
    'send_url'         => '',
    'send_header'      => '', // Comma separated header
    'send_success'     => '', // valid regex or empty (without delimiter)
    'send_error'       => '', // valid regex or empty (without delimiter)
    'balance_url'      => '',
    'balance_method'   => '', // GET/POST
    'balance_header'   => '', // Comma separated header
    'balance_key'      => '', // json object key
];
$config = 'smsdone'; // any name you want, this will be your config file name
$url = ''; // your api url with all params
try {
    $sms->checkAndSave($params, $url, $config);
} catch (Exception $e) {
    // Get Error from Exception
    // If you get this error, create a issue with your api url (please remove any api key or password)
}

您可以在通知(用于发送短信)中使用它

use LaravelBulksms;
use BluedotBd\LaravelBulksms\SmsChannel;

public function via($notifiable)
{
    return [SmsChannel::class];
}

/**
 * Get the sms representation of the notification.
 *
 * @param  mixed  $notifiable
 */
public function toSms($notifiable)
{
    return (new LaravelBulksms("config_file_name"))
        ->to()
        ->line();
}

或直接使用

use LaravelBulksms;
$sms = new LaravelBulksms("config_file_name");
try {
    $sms->to('01xxxx')->message('Your SMS Text')->send();   
} catch (Exception $e) {
    // SMS Sending Error
}

或使用Laravel排队作业发送短信

dispatch(new BluedotBd\LaravelBulksms\Jobs\SendSMS($config,$number, $message));
// or
dispatch((new BluedotBd\LaravelBulksms\Jobs\SendSMS($config,$number, $message))->onQueue('high'));
// or
dispatch((new BluedotBd\LaravelBulksms\Jobs\SendSMS($config,$number, $message))->delay(60));

如果支持,获取余额

use LaravelBulksms;
$sms = new LaravelBulksms("config_file_name");
$sms->balance(); // returns float

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

有关详细信息,请参阅CONTRIBUTING

安全性

如果您发现任何与安全相关的问题,请通过saiful@bluedot.ltd发送电子邮件,而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件

Laravel Package Boilerplate

此包是使用Laravel Package Boilerplate生成的。