laravel-notification-channels / vodafone
通过 Vodafone SMS API 发送 Laravel 通知
Requires
- php: ^7.2|^8.0
- guzzlehttp/guzzle: ^6.3 || ^7.0
- illuminate/notifications: ^6.0 || ^7.0 || ^8.0 || ^9.0
- illuminate/support: ^6.0 || ^7.0 || ^8.0 || ^9.0
Requires (Dev)
- mockery/mockery: ^1.3.3
- phpunit/phpunit: ^8.5 || ^9.0
This package is auto-updated.
Last update: 2024-09-05 10:39:51 UTC
README
此包使您能够使用 Laravel 5.5+ 和 6.x 通过 Vodafone 以轻松发送短信通知
在 Laravel 的通知通道的基础上构建,此包允许您通过 Vodafone SMS 网关服务发送 SMS 通知。
发送 SMS 给用户变得和以下使用一样简单
$user->notify(new Notification())
内容
安装
使用 composer 安装包
composer require laravel-notification-channels/vodafone
将配置添加到 services.php 配置文件中
'vodafone' => [ 'username' => env('VODAFONE_USERNAME'), 'password' => env('VODAFONE_PASSWORD'), ]
设置 Vodafone 服务
使用 Vodafone SMS 服务需要一个 Vodafone 账户,可以通过此位置安排: https://www.vodafone.com.au/messaging/smser
提供您的 Vodafone 账户后,您将收到一个 API 用户名和密码,这些需要在您的 env 或 config 文件中输入。
Vodafone 服务有发送带有字母标签的消息的选项,因此消息不是从一个杂项号码发送,而是从一个预定义的名称发送。
使用
发送文本消息
在您的通知中,需要将 Vodafone 通道添加到您的 via() 方法中
use Illuminate\Notifications\Notification; use NotificationChannels\Vodafone\VodafoneChannel; use NotificationChannels\Vodafone\VodafoneMessage; class Invitation extends Notification { public function via($notifiable) { return [VodafoneChannel::class]; } public function toVodafone($notifiable) { return (new VodafoneMessage) ->content($this->content) ->from('My App'); }
在您的可通知模型中,确保包含一个 routeNotificationForVodafone()
方法,该方法应返回一个包括国家代码的完整手机号码。
public function routeNotificationForVodafone() { return $this->phone; }
可用的消息方法
content()
:设置短信的消息内容
from()
:设置消息的合格发送者
检索文本消息
VodafoneClient 类包含一个 'receive' 方法,用于从 Vodafone 服务器检索消息。
注意:它只返回未读消息,并且在 Vodafone 端点被击中后,所有未读消息都被标记为已读。因此,您只有一次机会进一步处理传入的消息。
use NotificationChannels\Vodafone\VodafoneClient; $vc = new VodafoneClient(); $vc->receive(); // A static method is also available VodafoneClient::getUnread();
由于 Vodafone API 只返回一次一个未读消息,所以需要使用循环来检索所有未读消息。
当没有更多未读消息时,Vodafone 将返回一个错误(代码:201),因此在异常上中断循环意味着没有更多消息可以检索。
use NotificationChannels\Vodafone\VodafoneClient; $ex = false; do { try { $message = VodafoneClient::getUnread(); // Process Message } catch (\Exception $ex) {} } while (!$ex);
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
贡献
有关详细信息,请参阅 CONTRIBUTING
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件