Send Laravel Notifications as a Phone Call
Published on by Paul Redmond
Nexmo Voice Channel is a package that adds a notification channel to Laravel using Nexmo’s voice API:
This package provides a notification channel for the Laravel framework that works with Nexmo’s voice API, allowing text-to-speech phone calls. It also provides a fluent interface to construct your message content.
To use this notification channel, you route a notification through VoiceChannel
and provide a toVoice()
method. The readme documents an example so you can get a visual of using this package:
use Roomies\NexmoVoiceChannel\Markup\Message;use Roomies\NexmoVoiceChannel\Markup\SayAs;use Roomies\NexmoVoiceChannel\Markup\Sentence;use Roomies\NexmoVoiceChannel\NexmoVoiceChannel; /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */public function via($notifiable){ return [NexmoVoiceChannel::class];} /** * Get the voice representation of the notification. * * @param mixed $notifiable * @return \Roomies\NexmoVoiceChannel\Markup\Message */public function toVoice($notifiable){ return new Message([ new Sentence('Hi, thanks for joining Roomies.'), new Sentence([ 'Your verification code is', new SayAs('ABC123')->interpretAs('spell-out') ]), ]);}
Here’s another example demonstrating the package’s markup types you can use to create a notification:
new Sentence([ 'Hey!', (new Pause)->time('1s'), (new Prosody('Wake up!'))->volume('loud'), (new Substitution( (new SayAs('US'))->interpretAs('spell-out'), ))->alias('United States'),])
You can learn more about this package, get full installation instructions, and view the source code on GitHub at roomies-com/nexmo-voice-channel.
This package was submitted to our Laravel News Links section. Links is a place the community can post packages and tutorials around the Laravel ecosystem. Follow along on Twitter @LaravelLinks