daniyal2959 / persian-sms
Package for send sms from any persian service provider to numbers
Requires
- ext-curl: *
- ext-json: *
This package is auto-updated.
Last update: 2024-05-28 14:19:34 UTC
README
PHP SMS Services
This is a PHP library for Sms Services Integration. This library supports PHP 8.0+
.
For PHP integration you can use daniyal2959/persian-sms package.
This packages works with multiple drivers, and you can create custom drivers if you can't find them in the current drivers list (below list).
List of available drivers
Help me to add the services below by creating pull requests
- farazsms.com
- sms.ir
- mellipayamak.com
- farapayamak.ir
- ...
All services that work with ippanel can used default service
ippanel
you can create your own custom drivers if it's not exists in the list, read the
Create custom drivers
section.
Install
Via Composer
$ composer require daniyal2959/persian-sms
Configure
Just include library's autoload.php
file in your code
include_once 'vendor/autoload.php'
There is not any config file in this package. so you can set settings for your sms service provider in your code.
How to use
available methods:
driver
: set the drivertext
: set the message to send without patternpatten
: set your pattern codedata
: set array of data patternto
: set array of numbers receiversfrom
: set sender numbersend
: send your sms and return response as json or plain string
Methods with Parameters
Method | driver | text | pattern | data | to | from | credential | send |
---|---|---|---|---|---|---|---|---|
Parameter | $key | $text | $pattern_code | $data | $numbers | $number | $credentials | $asJson |
Type | string | string | string | array | array | string | array | boolean |
Required | * | * | * | * | * |
Example for sending sms message from kavenegar service provider:
$apiKey = '<YOUR_API_KEY>'; $sms = new SMS($apiKey); $response = $sms->driver('kavenegar') ->text('<MESSAGE_TO_SEND>') ->from('<SERVICE_PROVIDER_NUMBER>') ->to('<ARRAY_OF_PHONE_NUMBERS>') ->send();
Example for sending sms pattern from kavenegar service provider:
$apiKey = '<YOUR_API_KEY>'; $sms = new SMS($apiKey); $response = $sms->driver('kavenegar') ->pattern('<YOUR_PATTERN_NAME>') ->data('<ARRAY_OF_PATTERN_VALUES>') #E.g:['%token' => '1234'] ->from('<SERVICE_PROVIDER_NUMBER>') ->to('<ARRAY_OF_PHONE_NUMBERS>') ->send();
Example for sending sms message from ippanel service provider:
$apiKey = '<YOUR_API_KEY>'; $sms = new SMS($apiKey); $response = $sms->driver('ippanel') ->text('<MESSAGE_TO_SEND>') ->from('<SERVICE_PROVIDER_NUMBER>') ->to('<ARRAY_OF_PHONE_NUMBERS>') ->send();
Example for sending sms pattern from ippanel service provider:
$apiKey = '<YOUR_API_KEY>'; $sms = new SMS($apiKey); $response = $sms->driver('ippanel') ->pattern('<YOUR_PATTERN_CODE>') ->data('<ARRAY_OF_PATTERN_VALUES>') ->from('<SERVICE_PROVIDER_NUMBER>') ->to('<ARRAY_OF_PHONE_NUMBERS>') ->send();
Create custom drivers:
You can create your custom driver with one step. this step is:
Created a class: Sms\Driver\MyDriver
.
namespace Sms\Driver; use Sms\Contract\IDriver; use Sms\Driver; class MyDrive extends Driver implements IDriver { const BASE_URL = ''; /** * @return void */ public function __construct() { $this->client = new Http(self::BASE_URL, 30, []); } /** * @return bool|mixed|string */ public function sendPattern() { // TODO: Implement send pattern code for current service provider } /** * @param $text * @return bool|mixed|string */ public function message($text) { // TODO: Implement send message code for current service provider } /** * @return void */ public function setCredential() { // TODO: Implement set credential code for current service provider } }
Donate (if you like it ❤️)
Security
If you discover any security related issues, please email daniyal.s.2959@gmail.com instead of using the issue tracker.
Credits
The MIT License (MIT). Please see License File for more information.