zhandos-prog/mobizon-sms-driver

Mobizon SMS driver package for tzsk/sms

0.2.0 2023-03-03 08:39 UTC

This package is auto-updated.

Last update: 2024-04-30 00:45:59 UTC


README

Requirements

Features

  • [✓] Send sms single
  • [✓] Send sms mass

Installation

composer require zhandos-prog/mobizon-sms-driver

Configure

Publish the config file

$ php artisan sms:publish

In the config file you can set the default driver to use for all your SMS. But you can also change the driver at runtime.

Choose what gateway you would like to use for your application. Then make that as default driver so that you don't have to specify that everywhere. But, you can also use multiple gateways in a project.

Path config file: app/config/sms.php

// Eg. if you want to use MobizonSmsDriver.
'default' => 'smsmobizon',

Then fill the credentials for that gateway in the drivers array.

// Eg. for MobizonSmsDriver.
'drivers' => [
    'smsmobizon' => [
        // Fill all the credentials here.
        'apiKey' => 'Your Api Key',
        'from' => 'Your Mobizon Sender ID',
        'url' => 'Your Url Api'
    ],
    ...
]

Сlass MobizonSmsDriver needs to be mapped specify it in the map section

// Eg. for MobizonSmsDriver.
'map' => [
    ...
    'smsmobizon' => ZhandosProg\MobizonSmsDriver\Driver\MobizonDriver::class,
]

Register a service provider

Path config file: app/config/app.php

// Eg. for MobizonSmsDriver.
'providers' => [
    ...
    ZhandosProg\MobizonSmsDriver\MobizonServiceProvider::class,
]

Usage

In your code just use it like this.

use ZhandosProg\MobizonSmsDriver\MobizonSenderSMSInterface;

Class ExampleController {
    
    private MobizonSenderSMSInterface $mobizonSenderSMS;
    
    public function __construct(MobizonSenderSMSInterface $mobizonSenderSMS)
    {
        $this->mobizonSenderSMS = $mobizonSenderSMS
    }
    
    public function single()
    {
        /// ... your logic
       
        $response = $this->mobizonSenderSMS->send('77779998877', '42')
        dd($response);
        
        /// ... your logic
    }
    
    public function mass()
    {
        /// ... your logic
       
        $response = $this->mobizonSenderSMS->send(['77773335566','87774444242'], '42')
        dd($response);
        
        /// ... your logic
    }
}

You can also use a package facade Laravel SMS Gateway. All details in Usage section!

if you use a facade Laravel SMS Gateway, then registering the service provider is not necessary!

Exceptions

  • PhoneNumberValidationException