https://github.com/laravel-notification-channels/46elks
46Elks notification channel for Laravel
https://github.com/laravel-notification-channels/46elks
hacktoberfest
Last synced: 2 months ago
JSON representation
46Elks notification channel for Laravel
- Host: GitHub
- URL: https://github.com/laravel-notification-channels/46elks
- Owner: laravel-notification-channels
- License: mit
- Created: 2019-09-18T21:39:29.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-26T12:17:38.000Z (9 months ago)
- Last Synced: 2025-04-13T21:38:19.438Z (2 months ago)
- Topics: hacktoberfest
- Language: PHP
- Homepage:
- Size: 37.1 KB
- Stars: 2
- Watchers: 6
- Forks: 11
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 46Elks notification channel for Laravel
[](https://packagist.org/packages/laravel-notification-channels/46Elks)
[](LICENSE.md)
[](https://travis-ci.org/laravel-notification-channels/46Elks)[](https://scrutinizer-ci.com/g/laravel-notification-channels/46Elks)
[](https://scrutinizer-ci.com/g/laravel-notification-channels/46Elks/?branch=master)
[](https://packagist.org/packages/laravel-notification-channels/46Elks)This package makes it easy to send notifications using [46Elks](https://www.46elks.com) with Laravel.
46Elks has a whole bunch of phone oriented services. This package takes care of:
* SMSWith more endpoints to come. Feel free to contribute.
## Contents
- [46Elks notification channel for Laravel](#46elks-notification-channel-for-laravel)
- [Contents](#contents)
- [Installation](#installation)
- [Setting up the 46Elks service](#setting-up-the-46elks-service)
- [Usage](#usage)
- [Available mediums](#available-mediums)
- [SMS](#sms)
- [Available Message methods for sms](#available-message-methods-for-sms)
- [MMS](#mms)
- [Available Message methods](#available-message-methods)
- [Error handling](#error-handling)
- [Changelog](#changelog)
- [Testing](#testing)
- [Security](#security)
- [Contributing](#contributing)
- [Credits](#credits)
- [License](#license)## Installation
```
composer require laravel-notification-channels/46elks
```### Setting up the 46Elks service
add the following to your config/services.php
``` php
'46elks' => [
'username' => env('FORTY_SIX_ELKS_USERNAME'),
'password' => env('FORTY_SIX_ELKS_PASSWORD'),
],
```
Also remember to update your .env with correct information:
```
FORTY_SIX_ELKS_USERNAME=
FORTY_SIX_ELKS_PASSWORD=
```
You will find your username and password at https://46elks.se/account## Usage
To use this channel simply create a notification that has the following content:
``` php
use NotificationChannels\FortySixElks\FortySixElksChannel;
use NotificationChannels\FortySixElks\FortySixElksSMS;public function via($notifiable)
{
return [FortySixElksChannel::class];
}public function to46Elks($notifiable)
{
return (new FortySixElksSMS())
->line('Testsms')
->line('Olle')
->to('+46701234567')
->from('Emil')
// ->flash() - Optional
// ->whenDelivered(URL) - Optional
// ->dontLog() - Optional
// ->dry() - Optional
}
```Another example without the notification implementation.
``` php
use NotificationChannels\FortySixElks\FortySixElksSMS;(new FortySixElksSMS())
->line('Testsms')
->line('Olle')
->to('+46701234567')
->from('Emil')
// ->flash() - Optional
// ->whenDelivered(URL) - Optional
// ->dontLog() - Optional
// ->dry() - Optional
->send();
```
### Available mediums
#### SMS
The FortySixElksSMS have the following methods, all chainable.
### Available Message methods for sms``from($mixed)`` Accepts a string containing A-Z, a-z, 0-9 up to 11 characters or numbers. Space is not supported. Sms will be sent with that name.
``to($number)`` International phone number.
``line($string)`` Every string in a line will be on its own row.
``flash()`` Will set the message type to flash. Will not endup in sms inbox. See [This tweet](https://twitter.com/46elks/status/583183559420178432) to find out how it looks on an iphone.
``dry()`` Enable when you want to verify your API request without actually sending an SMS to a mobile phone.
No SMS message will be sent when this is enabled. To be able inspect a dry() request you need to
send your message to +4670000000 then you can inspect it at [https://46elks.com/logs](https://46elks.com/logs)``whenDelivered('http://localhost.se/ping')`` This webhook URL will receive a POST request every time the delivery status changes.
``dontLog()`` Enable to avoid storing the message text in your history.
The other parameters will still be stored.#### MMS
To use MMS simply use `new FortySixElksMMS()` instead of `new FortySixElksSMS()`The FortySixElksMMS have the following methods, all chainable.
### Available Message methods
``from($mixed)``. Accepts 'noreply' as a string or a MMS activated number
``to($number)``. International phone number.
``line($string)``. Every string in a line will be on its own row.
``image()``. URL to the image to send in mms.
### Error handling
> How to handle notification send errorsIf for any reason there would be an error when sending a notification it will fire a
`Illuminate\Notifications\Events\NotificationFailed` event. You can then listen for that.Example:
``` php
Event::listen(NotificationFailed::class, function($event){
info('Error while sending sms');
});
```
And the event has `$event->notifiable`, `$event->notification`, `$event->channel` and `$event->data`(where you have the exception at `$event->data['exception']`)## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.
## Testing
``` bash
$ composer test
```## Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
## Credits
- [Emil Österlund](https://github.com/larsemil)
- [All Contributors](../../contributors)## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.