Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Sms Client Laravel Package

asanak/laravel-sms-client

Laravel package for sending SMS via Asanak API. Supports simple send, P2P messages, OTP templates, and message status reports. Includes config publishing, .env credentials, optional logging, and auto-registered service provider and facade.

View on GitHub
Deep Wiki
Context7

📦 Laravel SMS Client

یک پکیج لاراولی برای ارسال پیامک با استفاده از 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

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai