webregul / laravel-sms-ru-channel
Laravel sms.ru channel
v2.0.0
2023-05-03 12:24 UTC
Requires
- php: ^8.0
- illuminate/notifications: ^8.0|^9.0|^10.0
- illuminate/support: ^8.0|^9.0|^10.0
- webregul/sms-ru-client: ^2.0
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-12-03 15:46:26 UTC
README
Content
Installation
Install package with Composer:
composer require webregul/laravel-sms-ru-channel
Usage
Configuration
Register provider:
// config/app.php 'providers' => [ ... Kafkiansky\SmsRuChannel\SmsRuProvider::class, ],
Add configuration in config/services.php
:
// config/services.php 'sms_ru' => [ 'api_id' => env('SMS_RU_API_ID'), 'login' => env('SMS_RU_LOGIN', null), 'password' => env('SMS_RU_PASSWORD', null), 'partner_id' => env('SMS_RU_PARTNER', null), 'test' => env('SMS_RU_TEST', 1), 'json' => env('SMS_RU_JSON', 1), 'from' => env('SMS_RU_FROM', null), ],
Read more about configuration on official site.
How to
First way
Create notification message:
use Illuminate\Notifications\Notification; use Kafkiansky\SmsRu\Message\SmsRuMessage; use Kafkiansky\SmsRu\Message\To; use Kafkiansky\SmsRuChannel\SmsRuChannel; final class RegistrationComplete extends Notification { public function via($notifiable) { return [SmsRuChannel::class]; } public function toSmsRu($notifiable) { return new SmsRuMessage(new To($notifiable->phone, 'Congratulations, you have become part of our application')); } }
Second way
Or create routeNotificationForSmsRu
method in notifiable instance:
use Illuminate\Notifications\Notifiable; /** * @property string $phone */ class User { use Notifiable; public function routeNotificationForSmsRu() { return $this->phone; // can be array of phone numbers } }
In this case notification message should look like this:
use Illuminate\Notifications\Notification; use Kafkiansky\SmsRuChannel\SmsRuChannel; final class RegistrationComplete extends Notification { public function via($notifiable) { return [SmsRuChannel::class]; } public function toSmsRu($notifiable) { return 'Congratulations, you have become part of our application'; } }
Testing
$ composer test
License
The MIT License (MIT). See License File for more information.