Downloads
Stars
Version
This package makes it easy to send notifications using Hablame with Laravel 6.x, 7.x, 8.x and 9.x
You can install this package via composer:
composer require sideso/hablame
You may publish the config file and add your hablame token, api key and account number to your config/hablame.php:
php artisan vendor:publish --provider="Sideso\Hablame\HablameServiceProvider" --tag="config"
// config/hablame.php
...
'hablame' => [
'account' => env('HABLAME_ACCOUNT',''),
'api_key' => env('HABLAME_API_KEY',''),
'token' => env('HABLAME_TOKEN'.''),
'source_code' => env('HABLAME_SOURCE_CODE',''),
],
...
You can use the channel in your via() method inside the notification:
use Illuminate\Notifications\Notification;
use NotificationChannels\hablame\HablameMessage;
class AccountApproved extends Notification
{
public function via($notifiable)
{
return ["hablame"];
}
public function tohablame($notifiable)
{
return (new HablameMessage)->content("Your account was approved!");
}
}
In your notifiable model, make sure to include a routeNotificationForhablame() or routeNotificationForSMS() method, which returns a phone number.
public function routeNotificationForhablame()
{
return $this->phone;
}
Sometimes you may need to send a notification to someone who is not stored as a "user" of your application. Using the Notification::route method, you may specify ad-hoc notification routing information before sending the notification:
Notification::route('hablame', '573001234567')
->notify(new InvoicePaid($invoice));
If you excpet to send bulk messages, you can use the following method to send a message to multiple recipients.
use Sideso\Hablame\HablameChannel;
use Sideso\Hablame\Hablame;
$bulk = [
[
'numero' => '3000000001',
'sms' => 'Hello World!',
],
[
'numero' => '3000000002',
'sms' => 'Hello World! (again)',
],
;
$sms = new HablameChannel(app(Hablame::class));
$sms->bulkSend($bulk);
content()
: Set a content of the notification message. This parameter should be no longer than 918 char(6 message parts).
sourceCode()
: Set the Source Code name to be used as origin.
requestProofOfDelivery()
: Set the request proof of delivery to be used as origin (Extra cost).
priority()
: Set the priority of the message. (True = Transactional, False = Marketing).
flash()
: Set the if the message should be flash. (True = Flash, False = Normal).
senDate()
: Set the date and time when the message should be sent. (Not used is priority is set to true).
withCallback()
: Set the callback function to be executed when the message is sent.
callBackFunction($notifiable, \Illuminate\Notifications\Notification $notification, \Sideso\SMS\Message $message){
//Do something
}
$message->withCallback('callBackFunction');
tags()
: Set the tags to be used to send the message.
Sideso\SMS\SMSSent
: This event is fired when the message is sent.
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.