zgabievi / laravel-gosms
GoSMS.GE 集成于 Laravel
0.1.2
2022-02-05 16:11 UTC
Requires
- php: ^7.2|^8.0
- ext-curl: *
- bensampo/laravel-enum: ^1.38|^2.1|^3.3
- illuminate/config: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
README
目录
安装
要开始,您需要安装此包
composer require zgabievi/laravel-gosms
如果您的 Laravel 版本低于 5.5,请将以下代码添加到您的 config/app.php 文件中的服务提供者中
'providers' => [ ... Zorb\GoSMS\GoSMSServiceProvider::class, ... ];
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Zorb\GoSMS\GoSMSServiceProvider"
此命令将配置文件复制到您的配置目录中。
使用
发送消息
use Zorb\GoSMS\Facades\GoSMS; class MessageController extends Controller { // public function __invoke() { // recipient who should get sms $mobile_number = '9955XXXXXXXX'; // content of the message $message = 'Welcome, you are getting this message from integration'; // brand name, if empty, config value will be used $brand = 'MY_BRAND'; $result = GoSMS::send($mobile_number, $message, $brand); if ($result->success) { // $result->success // $result->messageId // $result->from // $result->to // $result->text // $result->sendAt // $result->balance // $result->encode // $result->segment // $result->smsCharacters } else { // message was not sent } } }
检查状态
use Zorb\GoSMS\Facades\GoSMS; class MessageController extends Controller { // public function __invoke() { // message id provided by send method $message_id = 0000; $result = GoSMS::status($message_id); if ($result->success) { // $result->success // $result->messageId // $result->from // $result->to // $result->text // $result->sendAt // $result->encode // $result->segment // $result->smsCharacters // $result->status if ($result->status === 'DELIVERED') { // message has been delivered } } else { // message status check failed } } }
发送 OTP
use Zorb\GoSMS\Facades\GoSMS; class MessageController extends Controller { // public function __invoke() { // recipient who should get sms $mobile_number = '9955XXXXXXXX'; $result = GoSMS::sendOTP($mobile_number); if ($result->success) { // $result->success // $result->hash // $result->to // $result->sendAt // $result->encode // $result->segment // $result->smsCharacters } else { // message wasn't sent } } }
验证 OTP
use Zorb\GoSMS\Facades\GoSMS; class MessageController extends Controller { // public function __invoke() { // recipient who should get sms $mobile_number = '9955XXXXXXXX'; // hash was received from otp send method $hash = 'asd987asd76fds6f5sd7fsdf'; // otp code from user input $code = '1234'; $result = GoSMS::verifyOTP($mobile_number, $hash, $code); if ($result->success) { // $result->success // $result->verify if ($result->verify) { // otp has been verified } } else { // otp couldn't be checked } } }
检查余额
use Zorb\GoSMS\Facades\GoSMS; class MessageController extends Controller { // public function __invoke() { $result = GoSMS::balance(); if ($result->success) { // $result->success // $result->balance } else { // balance couldn't be checked } } }
通知
您可以将此包用作通知通道。
use Illuminate\Notifications\Notification; use Zorb\GoSMS\Notifications\SMSMessage; use Zorb\GoSMS\Channels\GoSMSChannel; class WelcomeNotification extends Notification { // public function via($notifiable) { return [GoSMSChannel::class]; } // public function toGoSMS($notifiable): SMSMessage { return (new SMSMessage()) ->content('Your message goes here.') ->recipient($notifiable->phone); } }
附加信息
错误
错误有自己的枚举 Zorb\GoSMS\Enums\Errors
配置
您可以使用以下变量配置环境文件