asanak / laravel-sms-client
A modern Laravel SMS client for sending and reporting messages via REST API
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:laravel-package
Requires
- php: ^8.0 || ^8.1 || ^8.2
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^9.0 || ^10.0 || ^11.0
- psr/log: ^1.1 || ^2.0 || ^3.0
This package is not auto-updated.
Last update: 2025-06-30 00:20:08 UTC
README
یک پکیج لاراولی برای ارسال پیامک با استفاده از API Asanak، طراحی شده برای توسعهپذیری، خوانایی و تجربه توسعه ساده.
🔧 نصب پکیج
ابتدا از طریق Composer نصب کنید:
composer require asanak/laravel-sms-client
سپس فایل پیکربندی را publish نمایید:
php artisan vendor:publish --tag=asanak-config
و فایل .env
پروژه را با مقادیر زیر تکمیل کنید:
ASANAK_SMS_USERNAME=your-username ASANAK_SMS_PASSWORD=your-password ASANAK_SMS_BASE_URL=https://sms.asanak.ir ASANAK_SMS_LOG=true
پکیج به صورت اتوماتیک provider و facade را به اپلیکیشن اضافه میکند، نیاز به تعریف دستی نیست.
✅ استفاده در پروژه لاراول
1. ارسال پیامک ساده در کنترلر
use Asanak\Sms\Facade\AsanakSmsFacade as AsanakSms; public function send() { try { $data = AsanakSms::sendSms( source: '9821XXXXX', destination: '09120000000', message: 'کد تایید شما: 123456', send_to_black_list: 1 ); //Log or save $data as messageIds for get message status report } catch (\Throwable $e) { echo $e->getMessage(); } }
2. پیامک نظیر به نظیر (P2P)
use Asanak\Sms\Facade\AsanakSmsFacade as AsanakSms; try { $data = AsanakSms::p2p( source: ['9821XXX1', '9821XXX2'], destination: ['09120000000', '09120000001'], message: ['متن اول', 'متن دوم'], send_to_black_list: [1, 0] ); $messageIds = array_column($data, 'messageId'); } catch (\Throwable $e) { echo $e->getMessage(); }
3. پیامک OTP با قالب
use Asanak\Sms\Facade\AsanakSmsFacade as AsanakSms; try { $data = AsanakSms::template( template_id: 1234, parameters: ['code' => 67890], destination: '09120000000' ); //Log or save $data as messageIds for get message status report } catch (\Throwable $e) { echo $e->getMessage(); }
4. مشاهده وضعیت پیامک
use Asanak\Sms\Facade\AsanakSmsFacade as AsanakSms; try { $data = AsanakSms::msgStatus(['msgid1', 'msgid2']); } catch (\Throwable $e) { echo $e->getMessage(); }
5. دریافت اعتبار پیامکی
use Asanak\Sms\Facade\AsanakSmsFacade as AsanakSms; try { $data = AsanakSms::getCredit(); $credit = $data['credit'] ?? null; } catch (\Throwable $e) { echo $e->getMessage(); }
7. مشاهده موجودی اعتبار پیامکی (ریال)
use Asanak\Sms\Facade\AsanakSmsFacade as AsanakSms; try { $data = AsanakSms::getRialCredit(); $credit = $data['credit'] ?? null; } catch (\Throwable $e) { echo $e->getMessage(); }
8. دریافت لیست قالبهای پیامک
use Asanak\Sms\Facade\AsanakSmsFacade as AsanakSms; try { $templates = AsanakSms::getTemplates(); } catch (\Throwable $e) { echo $e->getMessage(); }
🧰 لاگگذاری و مانیتورینگ
در صورتی که مقدار ASANAK_SMS_LOG
در .env
برابر true
باشد، لاگ درخواستها و پاسخها در log
لاراول ثبت میگردد.
🧪 تست پکیج در پروژه واقعی
پیشنهاد میشود برای تست اولیه، از ابزارهایی مانند Mailtrap یا Postman استفاده نمایید تا عملکرد API و پارامترهای ارسال را بررسی کنید.
🙋♂️ پشتیبانی
📞 تماس: ۰۲١۶۴۰۶۳۱۸۰ 📨 ایمیل: info@asanak.ir