Skip to content

io-digital/clickatell

 
 

Repository files navigation

Clickatell notifications channel for Laravel

Latest Version on Packagist Software License Total Downloads

This package makes it easy to send notifications using clickatell.com with Laravel 5.5+, 6.x & 7.x.

Contents

Installation

You can install the package via composer:

composer require io-digital/clickatell

Setting up the clickatell service

Add your Clickatell user, password and api identifier to your config/services.php:

// config/services.php
...
'clickatell' => [
    'api_key' => env('CLICKATELL_API_KEY'),
],
...

Usage

Number format: +27840000000

To route Clickatell notifications to the proper phone number, define a routeNotificationForClickatell method on your notifiable entity:

class User extends Authenticatable
{
    use Notifiable;

    /**
     * Route notifications for the Nexmo channel.
     *
     * @param  \Illuminate\Notifications\Notification  $notification
     * @return string
     */
    public function routeNotificationForClickatell($notification)
    {
        return $this->phone_number; 
    }
}

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

use Illuminate\Notifications\Notification;
use IoDigital\Clickatell\ClickatellMessage;
use IoDigital\Clickatell\ClickatellChannel;

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

    public function toClickatell($notifiable)
    {
        return (new ClickatellMessage())
            ->content("Your {$notifiable->service} account was approved!");
    }
}
Notification::route('clickatell', 'YOUR E164 NUMBER')
        ->notifyNow(new \App\Notifications\MyNotification($model));

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

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