fomvasss/laravel-notification-channel-turbo-sms
Composer 安装命令:
composer require fomvasss/laravel-notification-channel-turbo-sms
包简介
This package makes it easy to send notifications using [turbosms.ua](https://turbosms.ua) with Laravel
README 文档
README
Відправка SMS-сповіщень через turbosms.ua у Laravel.
Можливості
- Відправка SMS через TurboSMS API
- Перевизначення відправника для кожного повідомлення
- Відкладена відправка (планування)
- Тестовий режим — імітація без реального надсилання
- Отримання балансу рахунку
- Подія
NotificationFailedпри помилках
Вимоги
| Залежність | Версія |
|---|---|
| PHP | >= 8.1 |
| Laravel | 10, 11, 12, 13 |
Встановлення
composer require fomvasss/laravel-notification-channel-turbo-sms
Налаштування
Додайте конфігурацію у config/services.php:
'turbosms' => [ 'api_token' => env('TURBOSMS_API_TOKEN'), 'sender' => env('TURBOSMS_SENDER', 'TAXI'), 'is_test' => env('TURBOSMS_IS_TEST', false), // Необов'язково: 'timeout' => env('TURBOSMS_TIMEOUT', 15), 'connect_timeout' => env('TURBOSMS_CONNECT_TIMEOUT', 10), ],
.env:
TURBOSMS_API_TOKEN=your_api_token_here TURBOSMS_SENDER=TAXI TURBOSMS_IS_TEST=false
Безкоштовні тестові відправники:
TAXI,AKCIYA,BEAUTY,Best-offer,Best-Shop,BonusShop,IT Alarm,MAGAZIN,Dostavka24,SERVIS TAXI,BRAND
Використання
1. Створіть клас сповіщення
use Illuminate\Notifications\Notification; use NotificationChannels\TurboSms\TurboSmsChannel; use NotificationChannels\TurboSms\TurboSmsMessage; class OrderShipped extends Notification { public function __construct(private Order $order) {} public function via(mixed $notifiable): array { return [TurboSmsChannel::class]; } public function toTurboSms(mixed $notifiable): TurboSmsMessage { return TurboSmsMessage::create("Ваше замовлення #{$this->order->id} відправлено!") ->from('MyShop'); // необов'язково: перевизначити відправника } }
2. Додайте метод маршрутизації до моделі
// app/Models/User.php public function routeNotificationForTurboSms(): string { return $this->phone; // напр. '380991234567' }
3. Надішліть сповіщення
$user->notify(new OrderShipped($order)); // або через фасад: Notification::send($users, new OrderShipped($order));
Методи повідомлення
| Метод | Опис |
|---|---|
content(string $text) |
Текст SMS |
from(string $sender) |
Перевизначити ім'я або номер відправника |
time(?int $timestamp) |
Запланувати відправку. Наприклад: time() + 7*60*60 — через 7 годин |
test(bool $test = true) |
Перевизначити тестовий режим для конкретного повідомлення |
Приклад:
TurboSmsMessage::create('Привіт!') ->from('BRAND') ->time(time() + 3600) // відправити через 1 годину ->test(false);
Пряме використання API
Можна використовувати TurboSmsApi напряму через сервіс-контейнер:
Отримати баланс:
$balance = app(\NotificationChannels\TurboSms\TurboSmsApi::class)->getBalance(); // float|null — напр. 123.45
Відправити повідомлення:
use NotificationChannels\TurboSms\TurboSmsApi; use NotificationChannels\TurboSms\TurboSmsMessage; $result = app(TurboSmsApi::class)->sendMessage( '380991234567', TurboSmsMessage::create('Привіт від Laravel!') ); // Повертає: // [ // 'success' => true, // 'result' => [...], // дані відповіді API // 'info' => 'TurboSMS response status: OK', // ]
Обробка помилок
При невдалій відправці канал генерує подію Illuminate\Notifications\Events\NotificationFailed.
use Illuminate\Notifications\Events\NotificationFailed; use Illuminate\Support\Facades\Event; Event::listen(NotificationFailed::class, function (NotificationFailed $event) { // $event->notifiable — модель отримувача // $event->notification — об'єкт сповіщення // $event->data['exception'] — виняток logger()->error('TurboSMS помилка: ' . $event->data['message']); });
Підтримка проекту
Якщо пакет вам корисний — підтримайте розробку:
USDT TRC20: THLgp6DxiAtbNHvgnKV56vk1L38UuUagKf
Changelog
Дивіться CHANGELOG.
Безпека
Повідомляйте про вразливості на fomvasss@gmail.com, а не через публічний issue.
Участь у розробці
Дивіться CONTRIBUTING.
Автори
Ліцензія
MIT — дивіться LICENSE.md.
fomvasss/laravel-notification-channel-turbo-sms 适用场景与选型建议
fomvasss/laravel-notification-channel-turbo-sms 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8.11k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2022 年 12 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「sms」 「notifications」 「laravel」 「turbo-sms」 「ТурбоСМС」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 fomvasss/laravel-notification-channel-turbo-sms 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 fomvasss/laravel-notification-channel-turbo-sms 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 fomvasss/laravel-notification-channel-turbo-sms 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A Laravel Nova package that adds a notification feed in your Nova app.
SDK for payment gateway PlatbaMobilom.sk for PHP7.0
Extensible library for building notifications and sending them via different delivery channels.
Captures outgoing SMS notifications
yii2-sms expand
Alfabank REST API integration
统计信息
- 总下载量: 8.11k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 34
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-12-13