luisdalmolin / laravel-zenvia-channel
Send SMS messages with Zenvia
Installs: 249 306
Dependents: 0
Suggesters: 0
Security: 0
Stars: 18
Watchers: 2
Forks: 9
Open Issues: 1
Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ^6.2|^7.0
Requires (Dev)
- illuminate/notifications: ^5.3
- illuminate/support: ^5.1|^5.2|^5.3|^5.4|^5.5|^5.6|^5.7|^5.8|^6.0|^7.0
- mockery/mockery: ^0.9.5
- phpunit/phpunit: 4.*
README
This package makes it easy to send Zenvia SMS messages using Zenvia API with Laravel 5.
Contents
Installation
You can install the package via composer:
composer require luisdalmolin/laravel-zenvia-channel
You must install the service provider:
// config/app.php 'providers' => [ ... NotificationChannels\Zenvia\ZenviaServiceProvider::class, ],
Configuration
Configure your credentials:
// config/services.php ... 'zenvia' => [ 'from' => env('ZENVIA_FROM', 'Laravel Notification Channels'), 'pretend' => env('ZENVIA_PRETEND', false), 'conta' => env('ZENVIA_CONTA', 'YOUR ACCOUNT'), 'senha' => env('ZENVIA_SENHA', 'YOUR PASSWORD') ], ...
Usage
You can now use the channel in your via()
method inside the Notification class.
use NotificationChannels\Zenvia\ZenviaChannel; use NotificationChannels\Zenvia\ZenviaMessage; use Illuminate\Notifications\Notification; class InvoicePaid extends Notification { public function via($notifiable) { return [ZenviaChannel::class]; } public function toZenvia($notifiable) { return ZenviaMessage::create() ->from('Laravel') // optional ->to($notifiable->phone) // your user phone ->content('Your invoice has been paid') ->id('your-sms-id'); } }
Routing a message
You can either send the notification by providing with the chat id of the recipient to the to($phone) method like shown in the above example or add a routeNotificationForZenvia() method in your notifiable model:
... /** * Route notifications for the Telegram channel. * * @return int */ public function routeNotificationForZenvia() { return $this->phone; } ...
Available Message methods
to($phone)
: (integer) Recipient's phone.content('message')
: (string) SMS message.from('Sender')
: (string) Sender's name.id('sms-id')
: (string) SMS ID.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Security
If you discover any security related issues, please email luis.nh@gmail.com instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.