This package makes it easy to send notifications using TTMesaj with Laravel 5.5+ and 6.0
You can install this package via composer:
composer require macellan/ttmesaj
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
],
...
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);
}
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());
Please see CHANGELOG for more information what has changed recently.
composer test
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.