freddygenicho/laravel-africastalking-notification

Africastalking Notification Channel for laravel

Downloads

21

Stars

1

Version

1.0.4

laravel-africastalking-notification

Laravel AfricasTalking Notification Channel

Build Status GitHub stars GitHub forks GitHub license GitHub issues Twitter

Use this package to send sms notifications via Africastaclking. Laravel 5.3+ required.

Install

This package can be installed through Composer.

composer require freddygenicho/laravel-africastalking-notification

If installing on < Laravel 5.5 then add the service provider:

// config/app.php
'providers' => [
    ...
    FreddyGenicho\AfricasTalking\AfricasTalkingNotificationServiceProvider::class,
    ...
];

First, publish configuration files

php artisan vendor:publish --provider="FreddyGenicho\AfricasTalking\AfricasTalkingNotificationServiceProvider"

This will publish the africastalking configuration file into the config directory as africastalking.php. This file contains all the configurations required to use the package.

Example Usage

Use Artisan to create a notification:

php artisan make:notification SomeNotification

Return [africasTalking] in the public function via($notifiable) method of your notification:

/**
* @param $notifiable
* @return array
*/
public function via($notifiable)
{
    return ['africasTalking'];
}

Add the method public function toAfricasTalking($notifiable) to your notification, and return an instance of AfricasTalkingMessage:

use FreddyGenicho\AfricasTalking\Message\AfricasTalkingMessage;

...
/**
* Get the AfricasTalking representation of the notification.
* @param $notifiable
* @return AfricasTalkingMessage
*/
public function toAfricasTalking($notifiable)
{
   return (new AfricasTalkingMessage())
          ->content('Hello world')
          ->from('Genicho');
}

In order to let your Notification know which phone are you sending/calling to, the channel will look for the phone_number attribute of the Notifiable model. If you want to override this behaviour, add the routeNotificationForAfricasTalking method to your Notifiable model.

public function routeNotificationForAfricasTalking()
{
    return '+25412345678';
}

Security

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

License

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

freddygenicho

Author

freddygenicho