lomayko / turbosms
TurboSMS for Laravel 5+
1.2
2020-07-22 07:33 UTC
Requires
- php: >=7.2.5
- laravel/framework: >=5.8
This package is auto-updated.
Last update: 2024-09-22 19:01:25 UTC
README
通过此Laravel框架包(Laravel)使用TurboSMS(turbosms.ua)发送短信和Viber消息。
便捷的发送和检查短信及Viber消息的包,通过TurboSMS.ua服务。
Laravel > 5.8, PHP >= 7.2.5
最小版本Laravel 5.8
安装
使用Composer安装包。
composer require lomayko/turbosms
如果您不使用autodiscover,请将服务提供者在config/app.php
配置文件中添加。
Lomayko\TurboSMS\TurboSMSServiceProvider::class,
在config/app.php
中将TurboSMS
门面添加到数组中。
'TurboSMS' => Lomayko\TurboSMS\Facades\TurboSMS::class,
使用命令执行配置文件和本地化文件的发布。
php artisan vendor:publish --provider="Lomayko\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
获取状态message_id
接受array || string
$status = TurboSMS::getItemStatus($messageId); //or $arr = collect(); $arr->push('FIRST_MESSAGE_ID'); $arr->push('SECOND_MESSAGE_ID'); $arr->push('XXX_MESSAGE_ID'); $status = TurboSMS::getItemStatus($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[TurboSMS::SENT_TYPE_SMS || null, TurboSMS::SENT_TYPE_VIBER, TurboSMS::SENT_TYPE_HYBRID])
$sended = TurboSMS::sendMessages('+38(066) 777-88-99', 'Отправляем SMS'); $sended = TurboSMS::sendMessages('+38(066) 777-88-99', 'Отправляем SMS', TurboSMS::SENT_TYPE_SMS); // or $sended = TurboSMS::sendMessages('+38(066) 777-88-99', 'Отправляем Viber', TurboSMS::SENT_TYPE_VIBER); $sended = TurboSMS::sendMessages('+38(066) 777-88-99', 'Гибридная отправка. Сразу в Viber, при ошибке - SMS', TurboSMS::SENT_TYPE_HYBRID);
完全自定义的发送。允许您自己构建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 приветствует Вас!', TurboSMS::SENT_TYPE_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. В Вайбере не отправится', TurboSMS::SENT_TYPE_HYBRID);
变更日志
请参阅变更日志以了解最近的变化。
贡献
请参阅贡献指南以获取详细信息。
鸣谢
许可证
麻省理工学院许可证(MIT)。请参阅许可证文件获取更多信息。