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

Ersalak Laravel Sms Laravel Package

ersalak/ersalak-laravel-sms

Laravel package for sending SMS via Ersalak API. Provides facade-based methods for simple SMS, P2P messages, OTP template sends, and message status reports. Easy install via Composer, publish config, and set ERSALAK env credentials.

View on GitHub
Deep Wiki
Context7

📦 Laravel SMS Client

یک پکیج لاراولی برای ارسال پیامک با استفاده از API Ersalak، طراحی شده برای توسعه‌پذیری، خوانایی و تجربه توسعه ساده.

برای ثبت نام و دریافت پنل پیامک: https://sms.ersalak.ir


🔧 نصب پکیج

ابتدا از طریق Composer نصب کنید:

composer require ersalak/ersalak-laravel-sms

سپس فایل پیکربندی را publish نمایید:

php artisan vendor:publish --tag=ersalak-config

و فایل .env پروژه را با مقادیر زیر تکمیل کنید:

ERSALAK_SMS_USERNAME=your-username
ERSALAK_SMS_PASSWORD=your-password
ERSALAK_SMS_BASE_URL=https://sms.ersalak.ir
ERSALAK_SMS_LOG=true

پکیج به صورت اتوماتیک provider و facade را به اپلیکیشن اضافه می‌کند، نیاز به تعریف دستی نیست.


✅ استفاده در پروژه لاراول

1. ارسال پیامک ساده در کنترلر

use Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;

public function send()
{
    try {
        $data = ErsalakSms::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 Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;

try {
    $data = ErsalakSms::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 Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;

try {
    $data = ErsalakSms::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 Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;

try {
    $data = ErsalakSms::msgStatus(['msgid1', 'msgid2']);
} catch (\Throwable $e) {
    echo $e->getMessage();
}

5. دریافت اعتبار پیامکی

use Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;

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

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

use Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;

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

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


use Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;

try {
    $templates = ErsalakSms::getTemplates();
} catch (\Throwable $e) {
    echo $e->getMessage();
}

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

در صورتی که مقدار ERSALAK_SMS_LOG در .env برابر true باشد، لاگ درخواست‌ها و پاسخ‌ها در log لاراول ثبت می‌گردد.


🧪 تست پکیج در پروژه واقعی

پیشنهاد می‌شود برای تست اولیه، از ابزارهایی مانند Mailtrap یا Postman استفاده نمایید تا عملکرد API و پارامترهای ارسال را بررسی کنید.


🙋‍♂️ پشتیبانی

📞 تماس: 02191091557

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.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
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