aldemco/laravel-notification-channel-sms-ru

This package makes it easy to send notifications using [sms.ru](https://sms.ru) (aka SMSRU) with Laravel 7.0+ (fomvasss/laravel-notification-channel-sms-ru fork)

dev-main 2024-01-08 07:29 UTC

This package is auto-updated.

Last update: 2024-11-08 09:07:37 UTC


README

Here's the latest documentation on Laravel's Notifications System:

https://laravel.com/docs/master/notifications

Contents

Installation

Install this package with Composer:

composer require aldemco/laravel-notification-channel-sms-ru:dev-main

The service provider gets loaded automatically. Or you can do this manually:

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

Setting up the SmsRu service

Add your SmsRu apiID, default sender name (or phone number) to your config/services.php:

// config/services.php
...
'sms_ru' => [
    'api_id'  => env('SMSRU_API_ID'),
],
...

Usage

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

use Illuminate\Notifications\Notification;
use NotificationChannels\SmsRu\SmsRuMessage;
use NotificationChannels\SmsRu\SmsRuChannel;

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

    public function toSmsru($notifiable)
    {
        return (new SmsRuMessage())->content("Hello SMS!!!")->test(true)->translit(false);
    }
}

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

public function routeNotificationForSmsru()
{
    return $this->phone;
}

Available methods

from(): Sets the sender's name or phone number.

content(): Set a content of the notification message.

time(): Example argument = time() + 7*60*60 - Postpone shipping for 7 hours.

translit(): Text transliteration

test(): Test SMS sending (free)

from(): Approved letter sender

parentId(): You can specify your partner ID if you integrate the code into a foreign system

Credits

License

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