zgabievi / laravel-sender
SENDER.GE 对 Laravel 的集成
0.5.2
2021-08-10 09:45 UTC
Requires
- php: ^7.2
- bensampo/laravel-enum: ^1.38|^2.1|^3.0
- illuminate/config: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
README
目录
安装
要开始使用,您需要安装此包
composer require zgabievi/laravel-sender
如果您的 Laravel 版本低于 5.5,则将以下内容添加到您的 config/app.php 中的服务提供者中
'providers' => [ ... Zorb\Sender\SenderServiceProvider::class, ... ];
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Zorb\Sender\SenderServiceProvider"
此命令将复制您配置目录中的配置文件。
使用
发送消息
use Zorb\Sender\Enums\MessageStatus; use Zorb\Sender\Enums\MessageType; use Zorb\Sender\Facades\Sender; class SenderController extends Controller { // public function __invoke() { // recipient who should get sms $mobile_number = '5XXXXXXXX'; // content of the message $message = 'Welcome, you are getting this message from integration'; // type of the message $type = MessageType::Advertising; // MessageType::Information $result = Sender::send($mobile_number, $message, $type); if (isset($result->data[0])) { // $result->data[0]->messageId // $result->data[0]->statusId if ((int)$result->data[0]->statusId === MessageStatus::Delivered) { // message has been sent } } else { // message was not sent } } }
检查状态
use Zorb\Sender\Enums\MessageStatus; use Zorb\Sender\Facades\Sender; class SenderController extends Controller { // public function __invoke() { // message id provided by send method $message_id = 0000; $result = Sender::check($message_id); if (isset($result->data[0])) { // $result->data[0]->messageId // $result->data[0]->statusId // $result->data[0]->timestamp if ((int)$result->data[0]->statusId === MessageStatus::Delivered) { // message has been delivered } } else { // message status check failed } } }
通知
您可以将此包用作通知通道。
use Illuminate\Notifications\Notification; use Zorb\Sender\Notifications\SMSMessage; use Zorb\Sender\Channels\SenderChannel; use Illuminate\Support\Facades\Log; class WelcomeNotification extends Notification { // public function via($notifiable) { return [SenderChannel::class]; } // public function toSender($notifiable): SMSMessage { return (new SMSMessage()) ->content('Your message goes here.') ->recipient($notifiable->phone) ->callback(function ($response) { // optional // use response here }); } }
附加信息
消息类型
消息类型有自己的枚举 Zorb\Sender\Enums\MessageType
消息状态
消息状态有自己的枚举 Zorb\Sender\Enums\MessageStatus
配置
您可以使用以下变量配置环境文件
许可证
zgabievi/laravel-sender 使用 MIT 许可证 许可。