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
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.9
- psr/log: ^3.0
Suggests
- monolog/monolog: Allows advanced logging capability if needed
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);