webup/laravel-twilio-channel

Laravel 的 Twilio 通知通道

v1.2.0 2023-06-16 10:13 UTC

This package is auto-updated.

Last update: 2024-09-16 12:44:15 UTC


README

Software License

这之前是 laravel-notification-channels/twilio:2.0.11

此包使您能够通过 Laravel 5.3 发送 Twilio 通知。

内容

安装

您可以通过 composer 安装此包

composer require webup/laravel-twilio-channel

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

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

设置 Twilio 账户

将您的 Twilio Account SID、Auth Token 和 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 Webup\LaravelTwilioChannel\TwilioChannel;
use Webup\LaravelTwilioChannel\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 Webup\LaravelTwilioChannel\TwilioChannel;
use Webup\LaravelTwilioChannel\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 Webup\LaravelTwilioChannel\TwilioChannel;
use Webup\LaravelTwilioChannel\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");
    }
}

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

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

可用的消息方法

TwilioSmsMessage

  • from(''):接受一个用于通知发送者的电话。
  • content(''):接受通知主体的字符串值。

TwilioCallMessage

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

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

测试

$ composer test

安全

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

贡献

有关详细信息,请参阅 CONTRIBUTING

致谢

许可

MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。