toneflix-code/kudisms-notification

KUDI SMS 通知驱动程序,适用于 Laravel。

1.0.1 2024-04-02 19:31 UTC

This package is auto-updated.

Last update: 2024-09-02 20:21:16 UTC


README

Test & Lint Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require codecov

此包使您能够轻松使用 Laravel 8.x, 9.x & 10.x 发送 KudiSMS 通知。

内容

安装

您可以通过 composer 安装此包。

composer require toneflix-code/kudisms-notification

配置

将您的 KudiSMS 账户令牌、发送者 ID 和呼叫者 ID(可选)添加到您的 .env 文件中。

KUDISMS_GATEWAY= # optional
KUDISMS_API_KEY=ZYX # always required
KUDISMS_SENDER_ID=ABCD # always required
KUDISMS_CALLER_ID=ABCD # optional when sender id is set
KUDISMS_TEST_NUMBERS=23423423423,12312312312 # Comma separated list of numbers to send messages to when running tests

高级配置

运行 php artisan vendor:publish --provider="ToneflixCode\KudiSmsNotification\KudiSmsProvider"

/config/kudi-notification.php

使用

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

use ToneflixCode\KudiSmsNotification\KudiSmsChannel;
use ToneflixCode\KudiSmsNotification\KudiSmsMessage;
use Illuminate\Notifications\Notification;

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

    public function toKudiSms($notifiable)
    {
        return (new KudiSmsMessage())
            ->message("Your {$notifiable->service} account was approved!");
    }
}

您还可以创建 Kudi 语音呼叫。

use ToneflixCode\KudiSmsNotification\KudiSmsChannel;
use ToneflixCode\KudiSmsNotification\KudiSmsVoiceMessage;
use Illuminate\Notifications\Notification;

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

    public function toTwilio($notifiable)
    {
        return (new KudiSmsVoiceMessage())
            ->url("https://download.samplelib.com/mp3/sample-3s.mp3");
    }
}

或者创建 Kudi 文本到语音呼叫。

use ToneflixCode\KudiSmsNotification\KudiSmsChannel;
use ToneflixCode\KudiSmsNotification\KudiSmsTTSMessage;
use Illuminate\Notifications\Notification;

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

    public function toTwilio($notifiable)
    {
        return (new KudiSmsTTSMessage())
            ->message("Hello {$notifiable->name}, how are you today?");
    }
}

为了让您的通知知道您要发送/呼叫的电话号码,该通道将查找可通知模型中 phone_number 属性。如果您想覆盖此行为,请将 routeNotificationForKudiSms 方法添加到您的可通知模型中。

public function routeNotificationForKudiSms()
{
    return '+2349034567890';
}

可用的消息方法

KudiSmsMessage

  • senderId(''):接受一个已注册的发送者 ID,用作通知的发送者。
  • message(''):接受一个字符串值作为通知正文。

KudiSmsVoiceMessage

  • callerId(''):接受一个已注册的呼叫者 ID,用作通知的发送者。
  • url(''):接受一个公开可用的音频文件的 URL。

KudiSmsTTSMessage

  • callerId(''):接受一个已注册的呼叫者 ID,用作通知的发送者。
  • message(''):接受一个字符串值作为通知正文。

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ composer test

安全

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

贡献

有关详细信息,请参阅 CONTRIBUTING

致谢

许可

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