romanstruk/smsnotify

Відправка смс

v0.0.3-alpha 2021-12-26 16:44 UTC

This package is auto-updated.

Last update: 2024-04-27 00:37:51 UTC


README

Release

Бібліотека для 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'
]
...