lbhurtado/engagespark

This package makes it easy to send SMS notifications and topups via engageSPARK with Laravel.

v3.7 2024-04-04 03:11 UTC

This package is auto-updated.

Last update: 2024-11-04 04:37:07 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

Installation

You can install the package via composer:

composer require lbhurtado/engagespark
php artisan notifications:table
php artisan migrate

required environment variables:

ENGAGESPARK_API_KEY=
ENGAGESPARK_ORGANIZATION_ID=

optional environment variables:

ENGAGESPARK_SENDER_ID=
ENGAGESPARK_SMS_WEBHOOK=
ENGAGESPARK_AIRTIME_WEBHOOK=
NOTIFICATION_CLASS=
ENGAGESPARK_MIN_TOPUP=

optional configuration:

php artisan vendor:publish --provider="LBHurtado\EngageSpark\EngageSparkServiceProvider"

Usage

in your notification:

use LBHurtado\EngageSpark\EngageSparkChannel;
use LBHurtado\EngageSpark\EngageSparkMessage;

public function via($notifiable)
{
    return [EngageSparkChannel::class];
}
 
public function toEngageSpark($notifiable)
{
    return (new EngageSparkMessage())
        ->content('The quick brown fox jumps over the lazy dog.')
        ;
}   

in your notifiable model:

use Illuminate\Notifications\Notifiable;

public function routeNotificationForEngageSpark()
{
    return $this->mobile;
} 

or use the trait:

use LBHurtado\EngageSpark\Traits\HasEngageSpark;

class Contact extends Model 
{
    use HasEngageSpark;
}

in your application:

use LBHurtado\EngageSpark\Notifications\Topup
use LBHurtado\EngageSpark\Notifications\Adhoc;

$user->notify(new Adhoc('The quick brown fox...'));
$user->notify(new Topup(25);

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email lester@hurtado.ph instead of using the issue tracker.

Credits

License

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

Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.