Downloads
Stars
Version
This package makes it easy to send notifications using Devinotelecom with Laravel 5.7.
You can install this package via composer:
composer require ol-zamovshafu/devinotelecom-laravel
Next add the service provider to your config/app.php
:
/*
* Package Service Providers...
*/
NotificationChannels\Devinotelecom\DevinotelecomSmsServiceProvider::class,
Register the DevinotelecomSms alias to your application. This registration is not optional because the channel itself uses this very alias.
'DevinotelecomSms' => NotificationChannels\Devinotelecom\DevinotelecomSms::class,
Add your desired client, login, password, originator (outbox name, sender name) and request timeout
configuration to your config/services.php
file:
...
'DevinotelecomSms' => [
'client' => 'http',
'http' => [
'endpoint' => 'https://integrationapi.net/rest/',
],
'login' => '',
'password' => '',
'originator' => '', // Sender name.
'timeout' => 60,
],
...
Now you can use the channel in your via() method inside the notification:
use NotificationChannels\Devinotelecom\DevinotelecomSmsChannel;
use Zamovshafu\Devinotelecom\ShortMessage;
class ResetPasswordWasRequested extends Notification
{
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return [DevinotelecomSmsChannel::class];
}
/**
* Get the DevinotelecomSms representation of the notification.
*
* @param mixed $notifiable
* @return string|\Zamovshafu\Devinotelecom\ShortMessage
*/
public function toDevinotelecomSms($notifiable) {
return "Test notification";
// Or
return new ShortMessage($notifiable->phone_number, 'Test notification');
}
}
Don't forget to place the dedicated method for DevinotelecomSms inside your notifiables. (e.g. User)
class User extends Authenticatable
{
use Notifiable;
public function routeNotificationForDevinotelecomSms()
{
return "905123456789";
}
}
DevinotelecomSms can also be used directly to send short messages.
Examples:
DevinotelecomSms::sendShortMessage($to, $message);
see: devinotelecom-php documentation for more information.
DevinotelecomSms Notification channel comes with handy events which provides the required information about the SMS messages.
NotificationChannels\Devinotelecom\Events\MessageWasSent
)NotificationChannels\Devinotelecom\Events\SendingMessage
)Example:
namespace App\Listeners;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use NotificationChannels\Devinotelecom\Events\MessageWasSent;
class SentMessageHandler
{
/**
* Handle the event.
*
* @param MessageWasSent $event
* @return void
*/
public function handle(MessageWasSent $event)
{
$response = $event->response;
$message = $event->message;
}
}
$response->groupId() will throw BadMethodCallException if the client is set to 'http'.
Change client configuration with caution.
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see CONTRIBUTING for details.
Copyright (c) Hilmi Erdem KEREN [email protected]
The MIT License (MIT). Please see License File for more information.