Package Data | |
---|---|
Maintainer Username: | laravel-notification-channels |
Maintainer Contact: | erdemkeren@gmail.com (Hilmi Erdem KEREN) |
Package Create Date: | 2016-11-20 |
Package Last Update: | 2020-03-07 |
Home Page: | http://laravel-notification-channels.com |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-24 03:02:53 |
Package Statistics | |
---|---|
Total Downloads: | 1,461 |
Monthly Downloads: | 1 |
Daily Downloads: | 0 |
Total Stars: | 9 |
Total Watchers: | 5 |
Total Forks: | 5 |
Total Open Issues: | 2 |
This package makes it easy to send notifications using JetSms with Laravel 5.3.
You can install this package via composer:
composer require laravel-notification-channels/jet-sms
Next add the service provider to your config/app.php
:
/*
* Package Service Providers...
*/
NotificationChannels\JetSms\JetSmsServiceProvider::class,
Register the JetSms alias to your application. This registration is not optional because the channel itself uses this very alias.
'JetSms' => NotificationChannels\JetSms\JetSms::class,
Add your desired client, username, password, originator (outbox name, sender name) and request timeout
configuration to your config/services.php
file:
...
'JetSms' => [
'client' => 'http', // or xml
'http' => [
'endpoint' => 'https://service.jetsms.com.tr/SMS-Web/HttpSmsSend',
],
'xml' => [
'endpoint' => 'www.biotekno.biz:8080/SMS-Web/xmlsms',
],
'username' => '',
'password' => '',
'originator' => "", // Sender name.
'timeout' => 60,
],
...
Now you can use the channel in your via() method inside the notification:
use NotificationChannels\JetSms\JetSmsChannel;
use NotificationChannels\JetSms\JetSmsMessage;
class ResetPasswordWasRequested extends Notification
{
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return [JetSmsChannel::class];
}
/**
* Get the JetSms representation of the notification.
*
* @param mixed $notifiable
* @return string|\NotificationChannels\JetSms\JetSmsMessage
*/
public function toJetSms($notifiable) {
return "Test notification";
// Or
return new ShortMessage($notifiable->phone_number, 'Test notification');
}
}
Don't forget to place the dedicated method for JetSms inside your notifiables. (e.g. User)
class User extends Authenticatable
{
use Notifiable;
public function routeNotificationForJetSms()
{
return "905123456789";
}
}
JetSms can also be used directly to send short messages.
Examples:
JetSms::sendShortMessage($to, $message);
JetSms::sendShortMessages([[
'recipient' => $to,
'message' => $message,
], [
'recipient' => $anotherTo,
'message' => $anotherMessage,
]]);
see: jet-sms-php documentation for more information.
JetSms Notification channel comes with handy events which provides the required information about the SMS messages.
NotificationChannels\JetSms\Events\MessageWasSent
)NotificationChannels\JetSms\Events\MessageWasSent
)NotificationChannels\JetSms\Events\SendingMessage
)NotificationChannels\JetSms\Events\SendingMessages
)Example:
namespace App\Listeners;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use NotificationChannels\JetSms\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'. $response->messageReportIdentifiers() will throw BadMethodCallException if the client is set to 'xml'.
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 erdemkeren@gmail.com instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.