SMSOffice.ge Service and Notification channel for Laravel
lotuashvili/laravel-smsoffice is a Laravel package for smsoffice.ge service and notification channel for laravel.
It currently has 15 GitHub stars and 284 downloads on Packagist (latest version v1.4).
Install it with composer require lotuashvili/laravel-smsoffice.
Discover more Laravel packages by lotuashvili
or browse all Laravel packages to compare alternatives.
Last updated
This package allows you to send SMS messages with SmsOffice.ge API
You can send sms with notification class or directly with SmsOffice class

composer require lotuashvili/laravel-smsoffice
If you're using Laravel 5.4 or lower, you have to manually add a service provider in your config/app.php file.
Open config/app.php and add SmsOfficeServiceProvider to the providers array.
'providers' => [
# Other providers
Lotuashvili\LaravelSmsOffice\SmsOfficeServiceProvider::class,
],
Then run:
php artisan vendor:publish --provider="Lotuashvili\LaravelSmsOffice\SmsOfficeServiceProvider"
Place your api key and sender name in config/smsoffice.php file
If you want to use log in development instead of sending real sms, then add SMSOFFICE_DRIVER=log to your .env file
In User class, add routeNotificationForSms() method and return phone number of user
class User extends Authenticatable
{
# Code...
public function routeNotificationForSms()
{
return $this->phone;
}
}
Create notification
php artisan make:notification FooNotification
In our newly created notification, import SmsOfficeChannel and add it to via() method. Write notification content in toSms() method
use Illuminate\Notifications\Notification;
use Lotuashvili\LaravelSmsOffice\SmsOfficeChannel;
class FooNotification extends Notification
{
public function via($notifiable)
{
return [SmsOfficeChannel::class];
}
public function toSms($notifiable)
{
return 'Test Notification';
}
}
And then send notification to user
$user->notify(new FooNotification)
You have to inject or initialize SmsOffice class and then call send function
use Lotuashvili\LaravelSmsOffice\SmsOffice;
public function sendSms(SmsOffice $smsoffice)
{
$smsoffice->send('599123123', 'Test Message');
}
use Lotuashvili\LaravelSmsOffice\SmsOffice;
public function getBalance(SmsOffice $smsoffice)
{
$smsoffice->balance();
}