zanozik/semysms

SemySMS Notifications Channel for Laravel

v0.1 2017-02-06 04:07 UTC

This package is auto-updated.

Last update: 2024-04-08 07:41:24 UTC


README

Latest Version on Packagist Software License

Installation

You can install the package via composer:

composer require zanozik/semysms

You must install the service provider:

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

Setting up the SemySMS service

Sign up on SemySMS and create your token in your Control Panel -> API.

Add the following section and fill in the details there (you can also use your .env file to store your credentials):

// config/services.php
...
'semysms' => [
    'token' => env('SEMYSMS_TOKEN', '12345678901234567890'),
    'device' => env('SEMYSMS_DEVICE', '12345')
],
...

Usage

You can now use the channel in your via() method inside the Notification class.

use NotificationChannels\SemySMS\SemySMSChannel;
use NotificationChannels\SemySMS\SemySMSMessage;
use Illuminate\Notifications\Notification;

class InvoicePaid extends Notification{

    public function via($notifiable){
        return [SemySMSChannel::class];
    }

    public function toSmsGatewayMe($notifiable){
        return (new SemySMSMessage)->text('Your invoice has been paid');
    }
}

Routing a message

You should add a routeNotificationForSemySMS() method in your notifiable model:

...
/**
 * Route notifications for the SemySMS channel.
 *
 * @return int
 */
public function routeNotificationForSemySMS(){
    return $this->phone_number;
}
...

Available methods

  • text($text): (string) SMS Text.

License

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