贡献模板。

2.0.6 2018-03-17 11:49 UTC

This package is auto-updated.

Last update: 2024-09-06 09:53:14 UTC


README

Latest Version on Packagist Software License Build Status StyleCI Quality Score Code Coverage Total Downloads

此包使您能够轻松使用Laravel 5.3发送Twilio通知。

内容

安装

您可以通过composer安装此包

composer require laravel-notification-channels/twilio

添加服务提供者(仅在Laravel 5.4或更低版本中需要)

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

设置您的Twilio账户

将您的Twilio Account SID、认证令牌和From Number(可选)添加到您的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'),
    'from' => env('TWILIO_FROM'), // optional
],
...

使用

现在您可以在通知内的via()方法中使用该通道

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!");
    }
}

您还可以发送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");
    }
}

或创建Twilio电话

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");
    }
}

为了使通知知道您要发送/拨打给哪个电话,通道将查找Notifiable模型中的phone_number属性。如果您想覆盖此行为,请将routeNotificationForTwilio方法添加到您的Notifiable模型中。

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

可用的消息方法

TwilioSmsMessage

  • from(''):接受一个用作通知发送者的电话。
  • content(''):接受一个字符串值作为通知正文。

TwilioCallMessage

  • from(''):接受一个用作通知发送者的电话。
  • url(''):接受用于呼叫TwiML的URL。

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

$ composer test

安全

如果您发现任何安全问题,请通过电子邮件gregoriohc@gmail.com联系,而不是使用问题跟踪器。

贡献

有关详细信息,请参阅贡献

鸣谢

许可协议

MIT许可(MIT)。有关更多信息,请参阅许可文件