macellan/ttmesaj

TTMesaj notification channel for Laravel

v1.1.0 2023-01-18 09:11 UTC

This package is auto-updated.

Last update: 2024-10-18 12:53:30 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

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.