Infobip notification channel for Laravel

1.1.0 2020-10-08 21:25 UTC

This package is auto-updated.

Last update: 2024-11-29 05:57:33 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 Infobip with Laravel 5.5+, 6.x and 7.x

Contents

Installation

You can install the package via composer:

composer require laravel-notification-channels/infobip

Setting up your Infobip account

Add your Infobip Product Token and default originator (name or number of sender) to your config/services.php:

// config/services.php
...
'infobip' => [
    'username' => env('INFOBIP_USERNAME'),
    'password' => env('INFOBIP_PASSWORD'),
    'from' => env('INFOBIP_FROM', 'Info'),
    'notify_url' = env('INFOBIP_NOTIFY_URL', null),
],
...

To change Base URL to personal use this (See more)

...
'infobip' => [
    ...
    'baseUrl' => env('INFOBIP_BASE_URL', null),
],
...

Usage

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

use Illuminate\Notifications\Notification;
use NotificationChannels\Infobip\InfobipMessage;

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

    public function toInfobip($notifiable)
    {
        return (new InfobipMessage)->content("Your account was approved!");
    }
}

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

public function routeNotificationForInfobip()
{
    return $this->phone_number;
}

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('infobip', '5555555555')
            ->notify(new InvoicePaid($invoice));

Available Message methods

from(''): Accepts a phone number/sender name to use as the notification sender.. Make sure to register the sender name at you Infobip dashboard.

content(''): Accepts a string value for the notification body.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email cliff@nyumbanitechnologies.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.