zgabievi/laravel-gosms

GoSMS.GE 集成于 Laravel

安装: 21

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 1

公开问题: 1

类型:项目

0.1.2 2022-02-05 16:11 UTC

This package is auto-updated.

Last update: 2024-09-05 22:03:19 UTC


README

Packagist Packagist license

laravel-gosms

目录

安装

要开始,您需要安装此包

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

配置

您可以使用以下变量配置环境文件

许可证

zgabievi/laravel-gosms 使用MIT 许可证授权。