asanak/php-sms-client

There is no license information available for the latest version (v1.0.0) of this package.

A modern PHP SMS client for sending and reporting messages via REST API

v1.0.0 2025-06-29 17:56 UTC

This package is not auto-updated.

Last update: 2025-06-30 00:16:58 UTC


README

یک کلاینت مدرن PHP برای ارسال پیامک، پیامک نظیر به نظیر، پیامک خدماتی و دریافت گزارش‌ها از طریق یک سرویس RESTful.

📌 ویژگی‌ها

  • ارسال پیامک تکی یا چندمقصدی
  • ارسال پیامک نظیر به نظیر (P2P)
  • ارسال پیامک خدماتی با قالب (OTP)
  • دریافت گزارش وضعیت پیامک
  • مشاهده موجودی اعتبار پیامکی
  • قابل توسعه، تمیز و قابل مانیتورینگ

🔧 نصب پکیج

در ترمینال خود اجرا کنید:

composer require asanak/php-sms-client

🧪 نحوه استفاده

1- مقداردهی اولیه کلاینت:

use Asanak\SmsClient;
use Asanak\SmsConfig;

$config = new SmsConfig([
    'base_url' => 'https://sms.asanak.ir'
]);
$sms = new SmsClient('your-username', 'your-password', $config);

2- ارسال پیامک تکی یا چند مقصدی

try {
    $data = $sms->sendSms(
        source: '9821XXXXX',
        destination: '09120000000',
        message: 'کد فعالسازی شما 123456 می‌باشد.',
        send_to_black_list: false
    );
    // $data is message ids list
} catch(\Throwable $th) {
    echo $th->getMessage();
}

3- ارسال پیامک نظیر به نظیر (P2P)

try{
    $data = $sms->p2p(
        source: ['9821X1', '9821X2'],
        destination: ['0912XXXX1', '0912XXXX2'],
        message: ['متن پیامک شماره یک', 'متن پیامک شماره دو'],
        send_to_black_list: [false, true]
    );
    $messageIds = array_column($data, 'messageId');
} catch(\Throwable $th) {
    echo $th->getMessage();
}

4- ارسال پیامک خدماتی با قالب (OTP)

try{
    $data = $sms->template(
        template_id: 101,
        parameters: ['code' => 123456],
        destination: '09120000000',
        send_to_black_list: false
    );
    // $data is message ids list
} catch(\Throwable $th) {
    echo $th->getMessage();
}

5- استعلام وضعیت پیامک

$response = $sms->msgStatus(['12345678', '12345679']);

6- مشاهده موجودی اعتبار پیامکی

try {
    $data = $sms->getCredit();
    $credit = $data['credit'] ?? null;
} catch(\Throwable $th) {
    echo $th->getMessage();
}

7- مشاهده موجودی اعتبار پیامکی (ریال)

try {
    $data = $sms->getRialCredit();
    $credit = $data['credit'] ?? null;
} catch(\Throwable $th) {
    echo $th->getMessage();
}

8- دریافت لیست قالب‌های پیامک

try {
    $templates = $sms->getTemplates();
} catch(\Throwable $th) {
    echo $th->getMessage();
}

🧰 لاگ‌گذاری و مانیتورینگ (اختیاری)

اگر قصد دارید لاگ‌ها را ذخیره کنید، می‌توانید از Monolog استفاده نمایید:

composer require monolog/monolog
<?php
use Asanak\SmsClient;
use Asanak\SmsConfig;

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$logger = new Logger('sms-client');
$logger->pushHandler(new StreamHandler(__DIR__.'/sms.log'));

$config = new SmsConfig([
    'base_url' => 'https://sms.asanak.ir'
]);
$sms = new SmsClient('username', 'password', $config, $logger);

📮 ارتباط با پشتیبانی

📞 ۰۲١۶۴۰۶۳۱۸۰
📨 info@asanak.ir