omakei/laravel-nextsms

一个使用NextSMS API发送短信的Laravel包

2.0.0 2023-02-04 16:37 UTC

README

NextSMS Logo

Laravel NextSMS

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Laravel包,用于通过NextSMS API发送短信。

安装

您可以通过composer安装此包

composer require omakei/laravel-nextsms

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="nextsms-config"

以下密钥必须在您的.env文件中可用

NEXTSMS_USERNAME=
NEXTSMS_PASSWORD=
NEXTSMS_SENDER_ID=

这是已发布的config文件内容

return [
    'username' => env('NEXTSMS_USERNAME', 'NEXTSMS'),
    'password' => env('NEXTSMS_PASSWORD', 'NEXTSMS'),
    'api_key' => base64_encode(env('NEXTSMS_USERNAME', 'NEXTSMS').':'.env('NEXTSMS_PASSWORD', 'NEXTSMS')),
    'sender_id' => env('NEXTSMS_SENDER_ID', 'NEXTSMS'),
    'url' => [
        'sms' => [
            'single' => NextSMS::NEXTSMS_BASE_URL.'/api/sms/v1/text/single',
            'multiple' => NextSMS::NEXTSMS_BASE_URL.'/api/sms/v1/text/multi',
            'reports' => NextSMS::NEXTSMS_BASE_URL.'/api/sms/v1/reports',
            'logs' => NextSMS::NEXTSMS_BASE_URL.'/api/sms/v1/logs',
            'balance' => NextSMS::NEXTSMS_BASE_URL.'/api/sms/v1/balance',
        ],
        'sub_customer' => [
            'create' => NextSMS::NEXTSMS_BASE_URL.'/api/reseller/v1/sub_customer/create',
            'recharge' => NextSMS::NEXTSMS_BASE_URL.'/api/reseller/v1/sub_customer/recharge',
            'deduct' => NextSMS::NEXTSMS_BASE_URL.'/api/reseller/v1/sub_customer/deduct',
        ]
    ],
];

使用方法

发送短信

注意:电话号码必须以有效的国家代码开头。例如:255625933171

向单个目的地发送单个短信

use Omakei\NextSMS\NextSMS;

$response = NextSMS::sendSingleSMS(['to' => '255625933171', 'text' => 'Dj Omakei is texting.']);

向多个目的地发送单个短信

use Omakei\NextSMS\NextSMS;

$response = NextSMS::sendSingleSMSToMultipleDestination([
            'to' => ['255625933171','255656699895'], 
            'text' => 'Dj Omakei is texting.']);

向多个目的地发送多个短信(示例1)

use Omakei\NextSMS\NextSMS;

$response = NextSMS::sendMultipleSMSToMultipleDestinations(['messages' => [
                ['to' => '255625933171', 'text' => 'Dj Omakei is texting.'],
                ['to' => '255656699895', 'text' => 'Dj Omakei is texting.']
            ]]);

向多个目的地发送多个短信(示例2)

use Omakei\NextSMS\NextSMS;

$response = NextSMS::sendMultipleSMSToMultipleDestinations(['messages' => [
                ['to' => ['255625933171','255656699895'], 'text' => 'Dj Omakei is texting.'],
                ['to' => '255625933171', 'text' => 'Dj Omakei is texting.']
            ]]);

计划短信

use Omakei\NextSMS\NextSMS;

$response = NextSMS::scheduleSMS([
            'to' => '255625933171', 
            'text' => 'Dj Omakei is texting.', 
            'date' => '2022-01-25' , 
            'time' => '12:00']);

短信投递报告

获取所有投递报告

use Omakei\NextSMS\NextSMS;

$response = NextSMS::getAllDeliveryReports();

通过messageId获取投递报告

use Omakei\NextSMS\NextSMS;

$response = NextSMS::getDeliveryReportWithMessageId(243452542526627);

通过messageId获取投递报告

use Omakei\NextSMS\NextSMS;

$response = NextSMS::getDeliveryReportWithSpecificDateRange('2022-01-25', '2022-01-29');

已发送短信日志

获取所有已发送短信日志

use Omakei\NextSMS\NextSMS;

$response = NextSMS::getAllSentSMSLogs(10, 5);

通过可选参数获取所有已发送短信日志

use Omakei\NextSMS\NextSMS;

$response = NextSMS::getAllSentSMSLogsWithOptionalParameter('255625933171','2022-01-25', '2022-01-29',10, 5);

子客户

注册子客户

use Omakei\NextSMS\NextSMS;

$response = NextSMS::subCustomerCreate(
            'Michael', 
            'Omakei',
            'omakei',
            'omakei96@gmail.com',
            '06259313171', 
            'Sub Customer (Reseller)', 
            100);

充值客户

use Omakei\NextSMS\NextSMS;

$response = NextSMS::subCustomerRecharge('omakei96@gmail.com', 100);

扣除客户

use Omakei\NextSMS\NextSMS;

$response = NextSMS::subCustomerDeduct('omakei96@gmail.com', 100);

获取短信余额

use Omakei\NextSMS\NextSMS;

$response = NextSMS::getSMSBalance();

NextSMS API 文档

请参阅NextSMS 开发者API以获取更多详细信息。

测试

composer test

变更日志

请参阅CHANGELOG以了解最近的变化。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全漏洞

请查看我们的安全策略以了解如何报告安全漏洞。

致谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。