Бібліотека для Laravel який реалізує відправку смс повідомлень різними клієнтами по одному API Підтримуються сторонні сервіси такі як :
- Viber UA
- MTS Communicator BY
- TurboSMS UA
Рекомендований спосіб встановлення SmsNotify через Composer.
composer require romanstruk/smsnotify
На даний момент перевірено тільки на Laravel 8.x
php artisan vendor:publish RomanStruk\SmsNotify\SmsNotifyServiceProvider
Після цього оновіть config/smsnotify.php
вашими налаштуваннями.
Щоб використовувати бібліотеку SmsNotify, ви можете використовувати фасад або отримати екземпляр із сервіс контейнера:
SmsNotifyFacade::to(new PhoneNumber('0666000000', 'UA'))
->send(new SmsMessage('Some sms text'));
або
$smsNotify = app(SmsNotifyInterface::class);
$smsNotify->to(new PhoneNumber('0666000000', 'UA'))
->send(new SmsMessage('Some sms text'));
Якщо сервіс відправки смс потрібно змінювати динамічно під час виконання то можна використати Closure
для методу clientMap(Closure $func)
результатом має бути один із ключів за яким прікріплений клієнт в файлі конфігурації
SmsNotifyFacade::clientMap(function (){
return 'ua';
})
->to(new PhoneNumber('0666000000', 'UA'))
->send(new SmsMessage('Some text'));
Файл config/smsnotify.php
...
'map' => [
'ua' => 'log',
'by' => 'mts-communicator'
]
...