PHP code example of zgabievi / laravel-gosms

1. Go to this page and download the library: Download zgabievi/laravel-gosms library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

zgabievi / laravel-gosms example snippets


'providers' => [
    ...
    Zorb\GoSMS\GoSMSServiceProvider::class,
    ...
];

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
        }
    }
} 

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
        }
    }
} 

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);
    }
}
shell script
php artisan vendor:publish --provider="Zorb\GoSMS\GoSMSServiceProvider"