# Messagebird notifications channel for Laravel 5.x & 6

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

This package makes it easy to send Messagebird SMS notifications with Laravel 5.x & 6.

# Contents

# Requirements

  • Sign up for a free MessageBird account
  • Create a new access_key in the developers sections

# Installation

You can install the package via composer:

composer require laravel-notification-channels/messagebird

for Laravel 5.4 or lower, you must add the service provider to your config:

// config/app.php
'providers' => [
    ...
    NotificationChannels\Messagebird\MessagebirdServiceProvider::class,
],

# Setting up your Messagebird account

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

// config/services.php
...
'messagebird' => [
    'access_key' => env('MESSAGEBIRD_ACCESS_KEY'),
    'originator' => env('MESSAGEBIRD_ORIGINATOR'),
    'recipients' => env('MESSAGEBIRD_RECIPIENTS'),
],
...

Add your Messagebird Access Key, Default originator (name or number of sender), and default recipients to your .env:

// .env
...
MESSAGEBIRD_ACCESS_KEY=
MESSAGEBIRD_ORIGINATOR=
MESSAGEBIRD_RECIPIENTS=
],
...

Notice: The originator can contain a maximum of 11 alfa-numeric characters.

# Usage

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

use NotificationChannels\Messagebird\MessagebirdChannel;
use NotificationChannels\Messagebird\MessagebirdMessage;
use Illuminate\Notifications\Notification;

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

    public function toMessagebird($notifiable)
    {
        return (new MessagebirdMessage("Your {$notifiable->service} was ordered!"));
    }
}

Additionally you can add recipients (single value or array)

return (new MessagebirdMessage("Your {$notifiable->service} was ordered!"))->setRecipients($recipients);

In order to handle a status report you can also set a reference

return (new MessagebirdMessage("Your {$notifiable->service} was ordered!"))->setReference($id);

# Changelog

Please see CHANGELOG for more information what has changed recently.

# Testing

$ composer test

# Security

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