Skip to content

taiwan-sms/every8d

Repository files navigation

Every8d notifications channel for Laravel 5.3+

StyleCI Build Status Total Downloads Latest Stable Version Latest Unstable Version License Monthly Downloads Daily Downloads Scrutinizer Code Quality Code Coverage

This package makes it easy to send notifications using [every8d] with Laravel 5.3+.

Contents

Installation

You can install the package via composer:

composer require taiwan-sms/every8d illuminate/notifications php-http/guzzle6-adapter

Then you must install the service provider:

// config/app.php
'providers' => [
    ...
    TaiwanSms\Every8d\Every8dServiceProvider::class,
],

Setting up the Every8d service

Add your Every8d login, secret key (hashed password) and default sender name (or phone number) to your config/services.php:

// config/services.php
...
'every8d' => [
    'user_id'  => env('SERVICES_EVERY8D_USER_ID'),
    'password' => env('SERVICES_EVERY8D_PASSWORD'),
    'sms_host' => env('SERVICES_EVERY8D_SMS_HOST')
],
...

Usage

You can use the channel in your via() method inside the notification:

use TaiwanSms\Every8d\Every8dMessage;
use TaiwanSms\Every8d\Every8dChannel;
use Illuminate\Notifications\Notification;

class AccountApproved extends Notification
{
    public function via($notifiable)
    {
        return [Every8dChannel::class];
    }

    public function toEvery8d($notifiable)
    {
        return Every8dMessage::create("Task #{$notifiable->id} is complete!");
    }
}

In your notifiable model, make sure to include a routeNotificationForEvery8d() method, which return the phone number.

public function routeNotificationForEvery8d()
{
    return $this->phone;
}

Available methods

subject(): Sets a subject of the notification subject.

content(): Sets a content of the notification message.

sendTime(): Set send time of the notification message.

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.

Contributing

Please see CONTRIBUTING for details.

Credits

License

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

API Only

composer require taiwan-sms/every8d php-http/guzzle6-adapter

How to use

require __DIR__.'/vendor/autoload.php';

use TaiwanSms\Every8d\Client;

$userId = 'xxx';
$password = 'xxx';

$client = new Client(userId, $password);

$client->credit(); // 取得額度
var_dump($client->send([
    'to' => '09xxxxxxxx',
    'text' => 'test message',
]));
/*
return [
    'credit' => 100.0,
    'sended' => 1,
    'cost' => 1.0,
    'unsend' => 0,
    'batchId' => 'd0ad6380-4842-46a5-a1eb-9888e78fefd8',
];
 */