PHPackages                             niazpardazsms/sms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. niazpardazsms/sms

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

niazpardazsms/sms
=================

PHP SDK for Niazpardaz SMS API - SDK رسمی پنل پیامکی نیازپرداز

v1.0.2(4mo ago)051MITPHPPHP &gt;=7.4CI passing

Since Feb 15Pushed 4mo agoCompare

[ Source](https://github.com/NiazpardazSms/niazpardaz-sms-php)[ Packagist](https://packagist.org/packages/niazpardazsms/sms)[ Docs](https://niazpardaz-sms.com)[ RSS](/packages/niazpardazsms-sms/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (2)Used By (0)

Niazpardaz SMS SDK for PHP
==========================

[](#niazpardaz-sms-sdk-for-php)

Official PHP SDK for Niazpardaz SMS API | کتابخانه رسمی PHP برای API پیامکی نیازپرداز

[![Packagist](https://camo.githubusercontent.com/1a242f19369693cbbb635a0cda6002cd9a625423f5cf4437cb0a9ce1e9de91cd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e69617a70617264617a536d732f736d732e737667)](https://packagist.org/packages/niazpardazSms/sms)[![PHP Version](https://camo.githubusercontent.com/cf4a9760e6d442265b4fad57ad0202e470dd0bf36beed2d5081302e251343d34/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6e69617a70617264617a736d732f736d732e737667)](https://packagist.org/packages/niazpardazSms/sms)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)[![Tests](https://github.com/NiazpardazSms/niazpardaz-sms-php/actions/workflows/tests.yml/badge.svg)](https://github.com/NiazpardazSms/niazpardaz-sms-php/actions)

Features | امکانات
------------------

[](#features--امکانات)

- **Zero dependency** — Works with built-in cURL, no Guzzle required
- **بدون وابستگی خارجی** — فقط با ext-curl کار می‌کند
- **Laravel** — Auto-discovery, Facade, Config
- **Symfony** — Bundle, DI Extension
- **Framework-agnostic** — Works with any PHP framework (CodeIgniter, Yii, CakePHP, Slim, Laminas, ...)
- **PHP 7.4+** — Supports PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4
- **Fully typed** — Type hints on all properties and methods

---

نصب | Installation
------------------

[](#نصب--installation)

```
composer require niazpardazsms/sms
```

---

شروع سریع | Quick Start
-----------------------

[](#شروع-سریع--quick-start)

```
use Niazpardaz\Sms\NiazpardazSmsClient;
use Niazpardaz\Sms\Models\SendResultCode;

require 'vendor/autoload.php';

$client = new NiazpardazSmsClient("YOUR_API_KEY");

$result = $client->send(
    fromNumber: "10001234",
    toNumber: "09123456789",
    message: "سلام از نیازپرداز!"
);

if ($result->resultCode === SendResultCode::SendWasSuccessful) {
    echo "BatchSmsId: " . $result->batchSmsId;
}
```

---

استفاده در فریم‌ورک‌ها | Framework Integration
----------------------------------------------

[](#استفاده-در-فریم‌ورک‌ها--framework-integration)

### Laravel

[](#laravel)

پکیج به صورت خودکار شناسایی می‌شود (Auto-Discovery). فقط API Key رو در `.env` تنظیم کنید:

```
NIAZPARDAZ_SMS_API_KEY=your-api-key-here
```

سپس فایل تنظیمات را منتشر کنید:

```
php artisan vendor:publish --tag=niazpardaz-sms-config
```

**استفاده با Facade:**

```
use Niazpardaz\Sms\Laravel\Facades\NiazpardazSms;

$result = NiazpardazSms::send("10001234", "09123456789", "سلام!");
```

**استفاده با Dependency Injection:**

```
use Niazpardaz\Sms\Contracts\NiazpardazSmsClientInterface;

class SmsController extends Controller
{
    public function send(NiazpardazSmsClientInterface $sms)
    {
        $result = $sms->send("10001234", "09123456789", "سلام!");
    }
}
```

### Symfony

[](#symfony)

در `config/bundles.php` اضافه کنید:

```
return [
    // ...
    Niazpardaz\Sms\Symfony\NiazpardazSmsBundle::class => ['all' => true],
];
```

در `config/services.yaml` پارامترها رو تنظیم کنید:

```
parameters:
    niazpardaz_sms.api_key: '%env(NIAZPARDAZ_SMS_API_KEY)%'
    niazpardaz_sms.timeout: 30
    niazpardaz_sms.connect_timeout: 10
    niazpardaz_sms.verify_ssl: true
```

```
use Niazpardaz\Sms\NiazpardazSmsClient;

class SmsService
{
    public function __construct(private NiazpardazSmsClient $smsClient) {}

    public function notify(string $phone, string $message): void
    {
        $this->smsClient->send("10001234", $phone, $message);
    }
}
```

### CodeIgniter 4

[](#codeigniter-4)

در `app/Config/Services.php`:

```
use Niazpardaz\Sms\NiazpardazSmsClient;

public static function sms(bool $getShared = true): NiazpardazSmsClient
{
    if ($getShared) return static::getSharedInstance('sms');
    return new NiazpardazSmsClient(env('NIAZPARDAZ_SMS_API_KEY'));
}
```

```
$result = service('sms')->send("10001234", "09123456789", "سلام!");
```

### Yii2

[](#yii2)

در `config/web.php`:

```
'components' => [
    'sms' => function () {
        return new \Niazpardaz\Sms\NiazpardazSmsClient(
            getenv('NIAZPARDAZ_SMS_API_KEY')
        );
    },
],
```

```
$result = Yii::$app->sms->send("10001234", "09123456789", "سلام!");
```

### CakePHP 5

[](#cakephp-5)

در `config/app.php`:

```
'NiazpardazSms' => [
    'api_key' => env('NIAZPARDAZ_SMS_API_KEY'),
],
```

```
use Niazpardaz\Sms\NiazpardazSmsClient;

$client = new NiazpardazSmsClient(Configure::read('NiazpardazSms.api_key'));
$result = $client->send("10001234", "09123456789", "سلام!");
```

### Slim / Laminas / هر فریم‌ورک دیگر

[](#slim--laminas--هر-فریم‌ورک-دیگر)

```
use Niazpardaz\Sms\NiazpardazSmsClient;

$client = new NiazpardazSmsClient("YOUR_API_KEY");
$result = $client->send("10001234", "09123456789", "سلام!");
```

### Plain PHP (بدون فریم‌ورک)

[](#plain-php-بدون-فریم‌ورک)

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

use Niazpardaz\Sms\NiazpardazSmsClient;

$client = new NiazpardazSmsClient("YOUR_API_KEY");
$result = $client->send("10001234", "09123456789", "سلام!");
```

---

استفاده با Guzzle (اختیاری)
---------------------------

[](#استفاده-با-guzzle-اختیاری)

اگر از Guzzle استفاده می‌کنید:

```
composer require guzzlehttp/guzzle
```

```
$guzzle = new \GuzzleHttp\Client(['timeout' => 60]);
$client = NiazpardazSmsClient::withGuzzle("YOUR_API_KEY", $guzzle);
```

---

تمام متدها | API Reference
--------------------------

[](#تمام-متدها--api-reference)

### ارسال پیامک تکی

[](#ارسال-پیامک-تکی)

```
$result = $client->send("10001234", "09123456789", "متن پیامک");
echo $result->batchSmsId;
echo $result->resultCode;
```

### ارسال گروهی

[](#ارسال-گروهی)

```
$result = $client->sendBulk("10001234", ["09123456789", "09198765432"], "پیام گروهی");
```

### ارسال نظیر به نظیر

[](#ارسال-نظیر-به-نظیر)

```
$result = $client->sendSmsLikeToLike(
    "10001234",
    ["09123456789", "09198765432"],
    ["سلام علی", "سلام رضا"]
);
echo $result->smsId;
```

### ارسال OTP صوتی

[](#ارسال-otp-صوتی)

```
$result = $client->sendVoiceOtp("10001234", "09123456789", "12345");
```

### گزارش تحویل

[](#گزارش-تحویل)

```
use Niazpardaz\Sms\Models\DeliveryResultCode;

$delivery = $client->getBatchDelivery(123456);
if ($delivery->resultCode === DeliveryResultCode::Success) {
    foreach ($delivery->numbers as $i => $number) {
        echo "$number: " . $delivery->deliveryStatus[$i];
    }
}
```

### اعتبار

[](#اعتبار)

```
use Niazpardaz\Sms\Models\CreditResultCode;

$credit = $client->getCredit();
if ($credit->resultCode === CreditResultCode::Success) {
    echo "اعتبار: " . $credit->credit;
}
```

### شماره‌های فرستنده

[](#شماره‌های-فرستنده)

```
$senders = $client->getSenderNumbers();
foreach ($senders->senders as $sender) {
    echo $sender;
}
```

### تعداد پیامک‌های دریافتی

[](#تعداد-پیامک‌های-دریافتی)

```
$inbox = $client->getInboxCount(isRead: false);
echo "تعداد: " . $inbox->inboxCount;
```

### لیست پیامک‌ها

[](#لیست-پیامک‌ها)

```
$messages = $client->getMessages(1, "10001234", 1, 50);
foreach ($messages->messages as $msg) {
    echo $msg->content;
}
```

### پیامک‌ها بر اساس بازه زمانی

[](#پیامک‌ها-بر-اساس-بازه-زمانی)

```
$messages = $client->getMessagesByDateRange(1, "10001234", "2023-01-01", "2023-01-31");
```

### لیست سیاه مخابرات

[](#لیست-سیاه-مخابرات)

```
$isBlack = $client->numberIsInTelecomBlacklist("09123456789");
echo $isBlack->isBlack ? "بله" : "خیر";

$blacklist = $client->extractTelecomBlacklistNumbers(["09123456789", "09198765432"]);
foreach ($blacklist->blackListNumbers as $number) {
    echo $number;
}
```

### بررسی محتوای پیامک

[](#بررسی-محتوای-پیامک)

```
$check = $client->checkSmsContent("متن تست");
echo $check->isValid ? "معتبر" : "نامعتبر";
```

---

مدیریت خطا | Error Handling
---------------------------

[](#مدیریت-خطا--error-handling)

```
use Niazpardaz\Sms\Exceptions\NiazpardazApiException;
use Niazpardaz\Sms\Exceptions\NiazpardazNetworkException;
use Niazpardaz\Sms\Exceptions\NiazpardazValidationException;

try {
    $result = $client->send("10001234", "09123456789", "تست");
} catch (NiazpardazValidationException $e) {
    // خطای ورودی (مثل API Key خالی)
    echo "خطای اعتبارسنجی: " . $e->getMessage();
} catch (NiazpardazApiException $e) {
    // خطای منطقی API (مثل اعتبار ناکافی)
    echo "خطای API: " . $e->getMessage();
    echo "کد خطا: " . $e->getErrorCode();
} catch (NiazpardazNetworkException $e) {
    // خطای شبکه (مثل timeout)
    echo "خطای شبکه: " . $e->getMessage();
}
```

---

تست | Testing
-------------

[](#تست--testing)

```
composer install
composer test
```

---

نیازمندی‌ها | Requirements
--------------------------

[](#نیازمندی‌ها--requirements)

- PHP 7.4 یا بالاتر
- اکستنشن `json`
- اکستنشن `curl`

---

مجوز | License
--------------

[](#مجوز--license)

MIT License — [LICENSE](LICENSE)

پشتیبانی | Support
------------------

[](#پشتیبانی--support)

- مستندات:
- گزارش باگ: [GitHub Issues](https://github.com/NiazpardazSms/niazpardaz-sms-php/issues)

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance75

Regular maintenance activity

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

138d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0ed80e395cea91b169e868ba03cd2e49bed328b2cf3a760fc7a18b3bbf362a41?d=identicon)[niazpardaz](/maintainers/niazpardaz)

---

Top Contributors

[![FarhadParsa8](https://avatars.githubusercontent.com/u/143347135?v=4)](https://github.com/FarhadParsa8 "FarhadParsa8 (1 commits)")

---

Tags

otpsmssms apisymfony smsiranpersianbulk-smslaravel-smssms-gatewayپیامکphp-smsniazpardazvoice-otpنیازپرداز

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/niazpardazsms-sms/health.svg)

```
[![Health](https://phpackages.com/badges/niazpardazsms-sms/health.svg)](https://phpackages.com/packages/niazpardazsms-sms)
```

###  Alternatives

[tzsk/sms

A robust and unified SMS gateway integration package for Laravel, supporting multiple providers.

319270.8k6](/packages/tzsk-sms)[daaner/turbosms

TurboSMS for Laravel 7+

2337.0k](/packages/daaner-turbosms)[ghasedak/php

ghasedak sms gateway package for PHP

2045.5k7](/packages/ghasedak-php)[nutnet/laravel-sms

Package for sending SMS form your Laravel app, includes pre-installed sms providers and your custom.

2527.7k](/packages/nutnet-laravel-sms)[hooman-mirghasemi/laravel-iran-sms

Laravel Sms

251.9k](/packages/hooman-mirghasemi-laravel-iran-sms)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
