Skip to content

msgowl/msgowl-laravel-notification-channel

Repository files navigation

Run PHP Unit Tests

Installation

You can install the package via composer:

composer require msgowl/msgowl-laravel-notification-channel

Setting up your MsgOwl Credentials

Add the environment variables to your config/services.php:

// config/services.php
...
'msgowl' => [
    'sender_id' => env('MSGOWL_SENDER_ID'),
    'api_key' => env('MSGOWL_API_KEY'),
    'recipients' => env('MSGOWL_RECIPIENTS'),
],
...

Add your MsgOwl API Key, Default SenderID and default recipients to your .env:

// .env
...
    MSGOWL_SENDER_ID=
    MSGOWL_API_KEY=
    MSGOWL_RECIPIENTS=
],
...

Usage

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

use MsgOwl\MsgowlLaravelNotificationChannel\MsgOwlChannel;
use MsgOwl\MsgowlLaravelNotificationChannel\MsgOwlMessage;
use Illuminate\Notifications\Notification;

class UserApproved extends Notification
{
    public function via($notifiable)
    {
        return [MsgOwlChannel::class];
    }

    public function toMsgOwl($notifiable)
    {
        return (new MsgOwlMessage("You are approved by the system"));
    }
}

you can add recipients (single value or array)

return (new MsgOwlMessage("You are approved by the system"))->setRecipients($recipients);

Or You can add a routeNotificationForMsgOwl method to your Notifiable model to return the phone number(s):

public function routeNotificationForMsgOwl() : string
{
    return $this->mobile;
}

Reference

License

The MIT License (MIT). Please see License File for more information.