macellan / ttmesaj
TTMesaj notification channel for Laravel
Requires
- php: >=7.2
- ext-soap: *
- illuminate/notifications: ~5.5|~6.0|~7.0|~8.0|~9.0|~10.0
- illuminate/support: ~5.5|~6.0|~7.0|~8.0|~9.0|~10.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^8.0 || ^9.0
This package is auto-updated.
Last update: 2024-10-18 12:53:30 UTC
README
This package makes it easy to send notifications using TTMesaj with Laravel 5.5+ and 6.0
Contents
Installation
You can install this package via composer:
composer require macellan/ttmesaj
Setting up the TTMesaj service
Add your TTMesaj sms gate login, password and default sender name to your config/services.php:
// config/services.php ... 'ttmesaj' => [ 'wsdlEndpoint' => env('TTMESAJ_WSDL_ENDPOINT', 'https://ws.ttmesaj.com/Service1.asmx?WSDL'), 'username' => env('TTMESAJ_USERNAME'), 'password' => env('TTMESAJ_PASSWORD'), 'origin' => env('TTMESAJ_ORIGIN'), 'enable' => env('TTMESAJ_ENABLE', true), 'debug' => env('TTMESAJ_DEBUG', false), //will log sending attempts and results 'sandboxMode' => env('TTMESAJ_SANDBOX_MODE', false) //will not invoke API call ], ...
Usage
You can use the channel in your via() method inside the notification:
use Carbon\Carbon; use Illuminate\Notifications\Notification; use Macellan\TTMesaj\TTMesajMessage; class AccountApproved extends Notification { public function via($notifiable) { return ['ttmesaj']; } public function toTTMesaj($notifiable) { return TTMesajMessage::create() ->setBody('Your account was approved!') ->setSendTime(Carbon::now()) ->setEndTime(Carbon::now()->addDay()); } }
In your notifiable model, make sure to include a routeNotificationForTTMesaj() method, which returns a phone number or an array of phone numbers.
public function routeNotificationForTTMesaj() { return str_replace(['+', ' '], '', $this->phone); }
On-Demand Notifications
Sometimes you may need to send a notification to someone who is not stored as a "user" of your application. Using the Notification::route method, you may specify ad-hoc notification routing information before sending the notification:
Notification::route('ttmesaj', '905322234433') ->notify(new AccountApproved());
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
composer test
Security
If you discover any security related issues, please email fatih@aytekin.me instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.