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();
}