luisdalmolin/laravel-zenvia-channel

Send SMS messages with Zenvia

1.1.0 2020-12-12 10:59 UTC

This package is auto-updated.

Last update: 2024-04-12 18:07:32 UTC


README

Latest Version on Packagist Software License Total Downloads

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.