daaner / turbosms
TurboSMS for Laravel 7+
1.40
2023-04-17 15:41 UTC
Requires
- php: >=7.2.5
- laravel/framework: >=7.0
Requires (Dev)
- orchestra/testbench: >=3.5
- phpunit/phpunit: >=7.0
README
通过此Laravel框架包(Laravel)使用TurboSMS (turbosms.ua) 发送短信和Viber消息。
方便的包,通过TurboSMS.ua发送和检查短信和Viber消息。
Laravel > 7, PHP >= 7.2.5
最低版本Laravel 7.0
,对于更低版本需要使用 guzzle/guzzle
安装
通过Composser安装包。
composer require daaner/turbosms
如果您不使用autodiscover,请将服务提供者在config/app.php
配置文件中添加。
Daaner\TurboSMS\TurboSMSServiceProvider::class,
在config/app.php
中将TurboSMS
门面添加到数组中。
'TurboSMS' => Daaner\TurboSMS\Facades\TurboSMS::class,
使用命令执行配置和本地化文件的发布。
php artisan vendor:publish --provider="Daaner\TurboSMS\TurboSMSServiceProvider"
配置
发布资源后,更新config/turbosms.php
文件并使用新字段填写.env
。
- 在turbosms.ua网站上创建账户。
- 将“HTTP API”设置复制到网关设置中,并将其添加到
config/turbosms.php
中相应的参数。
注意在网关设置页面上,必须获取API令牌并勾选“HTTP API”。
API使用和设置
API
setApi($apiKey)
-string
指定API密钥,不同于配置中的值
TurboSMS::setApi('MY_TURBOSMS_API_KEY_2');
setSMSSender($smsSender)
-string
指定短信发送者,不同于配置中的值
TurboSMS::setSMSSender('TAXI');
setViberSender($viberSender)
-string
指定Viber发送者,不同于配置中的值
TurboSMS::setViberSender('Mobibon2');
setStartTime($startTime)
-carbon|string
消息的发送日期和时间。在配置中设置睡眠模式和时间段。在睡眠模式下,消息将被推迟
TurboSMS::setStartTime('2020-10-10 08:22'); //or TurboSMS::setStartTime(Carbon\Carbon::now()->addMinutes(5));
用于通过 Viber 发送或用于 混合 发送(更详细)的设置
setViberText($viberReplaceText)
-string
混合发送时在Viber中替换文本(在简单的Viber发送中也会替换文本)
TurboSMS::setViberText('Этот текст будет получен только в Viber');
setTTL($ttl)
-int
消息的生命周期(60 - 86400)
TurboSMS::setTTL(86400);
setImageURL($image)
-string
将在消息中显示的图像的完整URL地址
TurboSMS::setImageURL('http://lorempixel.com/400/400/');
setCaption($caption)
-string
消息中按钮上的文本
TurboSMS::setCaption('Открыть сайт');
setAction($action)
-string
当收到消息并点击按钮时接收者将跳转到的URL地址
TurboSMS::setAction('https://www.google.com');
setCountClicks($countClicks)
-string|int
过渡统计标志(1 - 是,其余 - 否)
TurboSMS::setCountClicks(1);
setTransactional($isTransactional)
-string|int
交易消息标志(1 - 是,其余 - 否)
TurboSMS::setTransactional(1);
方法
getBalance(): return int
- 获取余额。出错时返回 null
$balance = TurboSMS::getBalance(); //or TurboSMS::setApi('MY_TURBOSMS_API_KEY_2'); $balance = TurboSMS::getBalance($otherApiKey); dd($balance); //100500.22 or null
getBalanceJson(): return array
- 以JSON获取余额
$balance = TurboSMS::getBalanceJson(); //or TurboSMS::setApi('MY_TURBOSMS_API_KEY_2'); $balance = TurboSMS::getBalanceJson($otherApiKey); dd($balance);
获取message_id
状态的获取接受 array | string
$status = TurboSMS::getItemsStatus($messageId); //or $arr = collect(); $arr->push('FIRST_MESSAGE_ID'); $arr->push('SECOND_MESSAGE_ID'); $arr->push('XXX_MESSAGE_ID'); $status = TurboSMS::getItemsStatus($arr); dd($status);
[
"success" => true
"result" => [
0 => [
"message_id" => "c91a1593-****-0cd0-****-a41c8a9a22c1"
"response_code" => 0
"recipient" => "*****"
"sent" => "2020-01-01 00:00:01"
"updated" => "2020-01-01 00:00:02"
"status" => "Delivered"
"type" => "sms"
"response_status" => "OK"
],
1 => [
"message_id" => "c91a1593-****-0cd0-****-a41c8a9a22c2"
"response_code" => 414
"response_status" => "NOT_ALLOWED_MESSAGE_ID"
]
...
]
"info" => "Запрос обработан успешно"
]
发送消息(们)。发送者的值(电话号码)被清除多余的符号
TurboSMS::sendMessages($array_or_one_phone, $text, enum['sms' || null, 'viber', 'both'])
$sended = TurboSMS::sendMessages('+38(066) 777-88-99', 'Отправляем SMS'); $sended = TurboSMS::sendMessages('+38(066) 777-88-99', 'Отправляем SMS', 'sms'); // or $sended = TurboSMS::sendMessages('+38(066) 777-88-99', 'Отправляем Viber', 'viber'); $sended = TurboSMS::sendMessages('+38(066) 777-88-99', 'Гибридная отправка. Сразу в Viber, при ошибке - SMS', 'both');
完全自定义的发送。允许自己构建URL和请求体。
TurboSMS::getResponse($url, $body)
$url = 'https://api.turbosms.ua/NEW_MODULE/NEW_METHOD'; $body = [ ... ]; TurboSMS::setApi('MY_TURBOSMS_API_KEY_2'); $custom = TurboSMS::getResponse($url, $body);
使用示例
use TurboSMS; ... //простая отправка $sms = TurboSMS::sendMessages('380667778899', 'TurboSMS приветствует Вас!'); $viber = TurboSMS::sendMessages('380667778899', 'TurboSMS приветствует Вас!', 'viber'); //отправка с параметрами //если сообщение будет получено в Вайбере, SMS отправки не произойдет //если Вайбер на номере не доступен - будет отправлена только SMS $ph = collect(); //массив номеров телефонов $ph->push('+38(066) 666-55-44'); //валидный номер $ph->push('+38 (099)a999-88-77 '); //валидный номер $ph->push(' телефон правильный, отправится даже с этим текстом: +38-099-11122-33 '); //валидный номер $ph->push('телефон с ошибкой (без кода страны): 099-111-22-33'); //невалидный номер $ph->push('лишние цифры после номера: 38-099-333-44-33 добавочный 5'); //невалидный номер $ph->push('лишние цифры до номера: 55 улица, 38-099-333-44-33'); //невалидный номер TurboSMS::setViberSender('Mobibon'); TurboSMS::setSMSSender('TAXI'); TurboSMS::setTTL(86400); TurboSMS::setImageURL('http://lorempixel.com/400/400/'); TurboSMS::setCaption('Открыть сайт с котиками'); TurboSMS::setAction('https://www.google.com'); TurboSMS::setCountClicks(1); TurboSMS::setTransactional(1); TurboSMS::setStartTime('lalala'); //проигнорируется TurboSMS::setStartTime('2020-10-10 08:22'); //установит дату и время отправки, если она больше текущей TurboSMS::setViberText('Этот текст будет получен только в Viber'); $sended = TurboSMS::sendMessages($ph, 'Привет в SMS. В Вайбере не отправится', 'both');
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING获取详细信息。
致谢
许可协议
MIT 许可协议 (MIT)。请参阅许可文件获取更多信息。