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