sideso/hablame

Hablame Notification Channel for Laravel 6, 7, 8, 9 and 10

Downloads

320

Stars

0

Version

v1.2.3

Hablame SMS Notifications Channel for Laravel

Latest Version on Packagist Total Downloads Software License

This package makes it easy to send notifications using Hablame with Laravel 6.x, 7.x, 8.x and 9.x

Contents

Installation

You can install this package via composer:

composer require sideso/hablame

Setting up the hablame service

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',''),
],
...

Usage

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

On-Demand Notifications

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

Bulk Messages

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

Available Message methods

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.

Available Events

Sideso\SMS\SMSSent: This event is fired when the message is sent.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

SIDESO

Author

SIDESO