mirvan/ippanel

laravel notification channel for ippanel

v2.0 2023-11-14 07:37 UTC

This package is auto-updated.

Last update: 2024-04-14 08:38:52 UTC


README

Packagist Downloads Packagist Version Software License

راهنمای فارسی

Contents

Installation

This package is laravel adapter for Official package ippanel/php-rest-sdk

You can install the package via composer:

$ composer require mirvan/ippanel

Setting up the IPPanel service

You need to set your api key in config/services.php

"ippanel"   => [
    'api_key'  =>  'API_KEY_SECRET',
],

Usage

Official IPPanel PHP Client

You can access Official IPPanel PHP Client directly like

use Mirvan\IPPanel\IPPanel;

$client = new IPPanel();

# return float64 type credit amount
$credit = $client->getCredit();

$bulkID = $client->send(
    "+9810001",          // originator
    ["98912xxxxxxx"],    // recipients
    "ippanel is awesome" // message
);

or use class facade

# return float64 type credit amount
$credit = \IPPanel::getCredit();

$bulkID = \IPPanel::send(
    "+9810001",          // originator
    ["98912xxxxxxx"],    // recipients
    "ippanel is awesome" // message
);

See Full Document

Notification Channel

You can set Reference in your model

public function routeNotificationForIPPanel()
{
    return '09121234567';
}

You can set Originator in your model

public function ippanelOriginator()
{
    return '+983000505';
}

Set channel in notification class

use Mirvan\IPPanel\IPPanelChannel;

public function via($notifiable)
{
    return [IPPanelChannel::class];
}

For send normal message

use Mirvan\IPPanel\IPPanelMessage;

 public function toIPPanel($notifiable)
{
    return (new IPPanelMessage)
        ->reference('09121231212')
        ->originator('+983000505')
        ->body('message');
}

For pattern message

use Mirvan\IPPanel\IPPanelMessage;

 public function toIPPanel($notifiable)
{
    return (new IPPanelMessage)
        ->reference('09121231212')
        ->originator('+983000505')
        ->pattern('pattern_code')
        ->variable('variable-name','1234');
}

Remember: reference() and originator() is overwrite routeNotificationForIPPanel() and ippanelOriginator()

return (new IPPanelMessage)
    ->originator('+983000505')
    ->reference('09121231212')
    ->body('message');

Available Notification Message methods

  • originator(''): Accepts a string value between 1 and 11 characters, used as the message sender name. This will overwrite ippanelOriginator()
  • reference(''): Accepts a string value for your message reference. This information will be returned in a status report so you can match the message and it's status. Restrictions: 1 - 32 alphanumeric characters. This will overwrite routeNotificationForIPPanel()

Available options for Normal Message

  • body(''): Accepts a string value for the message body.

Available options for Pattern Message

  • pattern(''): Accepts a string value for the pattern code.
  • variable('name','value'): Accepts an string for variable name and another string for variable value
  • variables([]): Accepts an array for variables

Changelog

Please see CHANGELOG for more information what has changed recently.

Security

If you discover any security related issues, please email me@mirvan.ir 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.