Turbosms notification channel for Laravel

1.1.0 2023-03-12 21:14 UTC

This package is auto-updated.

Last update: 2024-04-22 01:38:43 UTC


README

Latest Version on Packagist Software License Build Status StyleCI Quality Score Code Coverage Total Downloads

This package makes it easy to send notifications using TurboSMS with Laravel 5.5+, 6.0 and 7.0

Contents

Installation

You can install this package via composer:

composer require laravel-notification-channels/turbosms

Setting up the TurboSMS service

Add your TurboSMS sms gate login, password and default sender name to your config/services.php:

// config/services.php
...
    'turbosms' => [
        'wsdlEndpoint' => env('TURBOSMS_WSDLENDPOINT', 'http://turbosms.in.ua/api/wsdl.html'),
        'login' => env('TURBOSMS_LOGIN'),
        'password' => env('TURBOSMS_PASSWORD'),
        'sender' => env('TURBOSMS_SENDER'),
        'debug' => env('TURBOSMS_DEBUG', false), //will log sending attempts and results
        'sandboxMode' => env('TURBOSMS_SANDBOX_MODE', false) //will not invoke API call
    ],
...

Usage

You can use the channel in your via() method inside the notification:

use Illuminate\Notifications\Notification;
use NotificationChannels\TurboSMS\TurboSMSMessage;

class AccountApproved extends Notification
{
    public function via($notifiable)
    {
        return ["turbosms"];
    }

    public function toTurboSMS($notifiable)
    {
        return (new TurboSMSMessage("Your account was approved!"));       
    }
}

In your notifiable model, make sure to include a routeNotificationForTurboSMS() method, which returns a phone number or an array of phone numbers.

public function routeNotificationForTurboSMS()
{
    return $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('turbosms', '+380501111111')                      
            ->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 1c.audit@gmail.com 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.