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.
یک پکیج لاراولی برای ارسال پیامک با استفاده از 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 را به اپلیکیشن اضافه میکند، نیاز به تعریف دستی نیست.
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();
}
}
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();
}
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();
}
use Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;
try {
$data = ErsalakSms::msgStatus(['msgid1', 'msgid2']);
} catch (\Throwable $e) {
echo $e->getMessage();
}
use Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;
try {
$data = ErsalakSms::getCredit();
$credit = $data['credit'] ?? null;
} catch (\Throwable $e) {
echo $e->getMessage();
}
use Ersalak\Sms\Facade\ErsalakSmsFacade as ErsalakSms;
try {
$data = ErsalakSms::getRialCredit();
$credit = $data['credit'] ?? null;
} catch (\Throwable $e) {
echo $e->getMessage();
}
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
How can I help you explore Laravel packages today?