chuoke/twilio

A boilerplate for contributions.Forked from laravel-notification-channels/twilio

Maintainers

๐Ÿ‘ chuoke

Package info

github.com/chuoke/twilio

pkg:composer/chuoke/twilio

Statistics

Installs: 10

Dependents: 0

Suggesters: 0

Stars: 0

2.0.2 2018-05-12 09:44 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT bef3e3390d1763acc7f4cdb643d74a977a92a39e

This package is not auto-updated.

Last update: 2026-06-19 20:52:40 UTC


README

๐Ÿ‘ Latest Version on Packagist
๐Ÿ‘ Software License
๐Ÿ‘ Build Status
๐Ÿ‘ StyleCI
๐Ÿ‘ Quality Score
๐Ÿ‘ Code Coverage
๐Ÿ‘ Total Downloads

This package makes it easy to send Twilio notifications with Laravel 5.3.

Contents

Installation

You can install the package via composer:

composer require laravel-notification-channels/twilio

Add the service provider (only required on Laravel 5.4 or lower):

// config/app.php
'providers' => [
 ...
 NotificationChannels\Twilio\TwilioProvider::class,
],

Setting up your Twilio account

Add your Twilio Account SID, Auth Token, and From Number (optional) to your config/services.php:

// config/services.php
...
'twilio' => [
 'username' => env('TWILIO_USERNAME'), // optional when using auth token
 'password' => env('TWILIO_PASSWORD'), // optional when using auth token
 'auth_token' => env('TWILIO_AUTH_TOKEN'), // optional when using username and password
 'account_sid' => env('TWILIO_ACCOUNT_SID'),
 'sms_service_sid' => env('TWILIO_SMS_SERVICE_SID'), // optional
 'from' => env('TWILIO_FROM'), // optional
],
...

Usage

Now you can use the channel in your via() method inside the notification:

use NotificationChannels\Twilio\TwilioChannel;
use NotificationChannels\Twilio\TwilioSmsMessage;
use Illuminate\Notifications\Notification;

class AccountApproved extends Notification
{
 public function via($notifiable)
 {
 return [TwilioChannel::class];
 }

 public function toTwilio($notifiable)
 {
 return (new TwilioSmsMessage())
 ->content("Your {$notifiable->service} account was approved!");
 }
}

You can also send an MMS:

use NotificationChannels\Twilio\TwilioChannel;
use NotificationChannels\Twilio\TwilioMmsMessage;
use Illuminate\Notifications\Notification;

class AccountApproved extends Notification
{
 public function via($notifiable)
 {
 return [TwilioChannel::class];
 }

 public function toTwilio($notifiable)
 {
 return (new TwilioMmsMessage())
 ->content("Your {$notifiable->service} account was approved!")
 ->mediaUrl("https://picsum.photos/300");
 }
}

Or create a Twilio call:

use NotificationChannels\Twilio\TwilioChannel;
use NotificationChannels\Twilio\TwilioCallMessage;
use Illuminate\Notifications\Notification;

class AccountApproved extends Notification
{
 public function via($notifiable)
 {
 return [TwilioChannel::class];
 }

 public function toTwilio($notifiable)
 {
 return (new TwilioCallMessage())
 ->url("http://example.com/your-twiml-url");
 }
}

And you can also create a Twilio notify:

use NotificationChannels\Twilio\TwilioChannel;
use NotificationChannels\Twilio\TwilioNotifyMessage;
use Illuminate\Notifications\Notification;

class AccountApproved extends Notification
{
 public function via($notifiable)
 {
 return [TwilioChannel::class];
 }

 public function toTwilio($notifiable)
 {
 return (new TwilioNotifyMessage())
 // you can change the service sid,and default will use the config's
 // ->setServiceSid('Service Sid')
 ->content('Yes! Your account was approved!');
 }
}

In this case,don't need the from.

In order to let your Notification know which phone are you sending/calling to, the channel will look for the phone_number attribute of the Notifiable model. If you want to override this behaviour, add the routeNotificationForTwilio method to your Notifiable model.

public function routeNotificationForTwilio()
{
 return '+1234567890';
}

Available Message methods

TwilioSmsMessage

  • from(''): Accepts a phone to use as the notification sender.
  • content(''): Accepts a string value for the notification body.

TwilioCallMessage

  • from(''): Accepts a phone to use as the notification sender.
  • url(''): Accepts an url for the call TwiML.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email gregoriohc@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.