پیامک ووکامرس پارسی (Persian WooCommerce SMS)
persian-woocommerce ارسال SMS وضعیت سفارش

راهنمای جامع معماری و فنی افزونه پیامک ووکامرس پارسی (Persian WooCommerce SMS)

بررسی فنی، هوک‌ها، سازوکار پترن‌های خدماتی و بهینه‌سازی افزونه پیامک ووکامرس پارسی برای فروشگاه‌های اینترنتی وردپرس در wp-hub.org.

آخرین نگارش نسخه 7.2.2
نصب‌های فعال +40 هزار
امتیاز کاربران ★ 4.5 (116 رأی)
توسعه‌دهنده رسمی PersianScript

📋 تفکیک گزارش تغییرات (Changelog) در ۲ نسخه اخیر

پایش لحظه‌ای تغییرات، وصله‌های امنیتی و ویژگی‌های اضافه شده در نسخه کنونی و نسخه پیشین از مخزن رسمی WordPress.org:

نگارش فعلی (Latest) نسخه 7.2.2
• حل مشکل ارسال پیامک تکراری کمبود موجودی به مدیر
📑 فهرست عناوین و سرفصل‌های این مقاله:

معماری رویدادمحور و مکانیزم ارسال پیامک در ووکامرس

افزونه پیامک ووکامرس پارسی با تکیه بر ساختار قلاب‌ها (Hooks) و رویدادهای هسته ووکامرس و وردپرس طراحی شده است. این افزونه با شنود وضعیت‌های مختلف سفارش (مانند در انتظار پرداخت، در حال انجام، تکمیل شده و لغو شده) از طریق اکشن‌های ووکامرس نظیر woocommerce_order_status_changed، فرآیند آماده‌سازی و ارسال داده‌ها به وب‌سرویس پیامکی را به صورت غیرهمگام یا همگام مدیریت می‌کند. ساختار کلاس‌بندی این افزونه به گونه‌ای است که توسعه‌دهندگان می‌توانند با استفاده از فیلترهای سفارشی، متن پیامک‌ها را بر اساس متغیرهای پویا مانند نام مشتری، شناسه سفارش و مبلغ فاکتور دستکاری کنند. از منظر مهندسی نرم‌افزار، مدیریت این حجم از درخواست‌ها نیازمند بهینه‌سازی کدهای پایگاه داده و استفاده بهینه از جدول postmeta و ووکامرس است تا در زمان ثبت سفارش‌های همزمان (High Concurrency)، سیستم دچار تأخیر یا قفل شدن جدول (Table Locking) نشود. افزونه با استفاده از توابع کمکی امن و اعتبارسنجی شماره‌های موبایل، اطمینان حاصل می‌کند که فرمت شماره‌ها با استانداردهای مخابراتی ایران همخوانی کامل داشته باشد و از ارسال درخواست‌های نامعتبر به سمت درگاه پیامک جلوگیری به عمل آورد.

عبور از بلک‌لیست مخابراتی با استفاده از پترن‌های خدماتی (Pattern-based SMS)

یکی از چالش‌های بزرگ وبمستران در اکوسیستم وب فارسی، مسدود بودن خطوط کاربران به دلیل عضویت در لیست سیاه مخابراتی (Blacklist) برای دریافت پیامک‌های انبوه و تبلیغاتی است. افزونه پیامک ووکامرس پارسی با پشتیبانی کامل از وب‌سرویس‌های پیامکی معتبر ایرانی و استفاده از سیستم ارسال بر اساس پترن (Pattern/Template)، این مانع بزرگ را دور می‌زند. در این روش، پیامک‌های اطلاع‌رسانی سفارش و کدهای تایید هویت (OTP) به عنوان پیامک خدماتی و از طریق خطوط خدماتی اشتراکی یا اختصاصی ارسال می‌شوند که حتی به دست گیرندگان با خطوط مسدود نیز می‌رسند. پیاده‌سازی فنی پترن‌ها نیازمند تطبیق دقیق متغیرهای ارسالی از ووکامرس با الگوهای ثبت‌شده در پنل پیامک است. افزونه با ارائه ساختار مپینگ دقیق پارامترها، این امکان را فراهم می‌کند که مقادیر پویا مانند کد رهگیری پست، نام محصول یا کد تایید ورود به جای متغیرهای از پیش تعریف‌شده در الگو جایگزین شوند. این مکانیزم نه تنها سرعت تحویل پیامک (Delivery Rate) را به شکل چشمگیری افزایش می‌دهد، بلکه هزینه‌های ارسال پیام ناموفق را نیز به حداقل می‌رساند.

امنیت، احراز هویت پیامکی (OTP) و جلوگیری از حملات Brute Force

ماژول احراز هویت و ورود با شماره موبایل در این افزونه، نقش کلیدی در تامین امنیت حساب‌های کاربری در فروشگاه‌های ووکامرسی دارد. این ماژول با بهره‌گیری از توابع رمزنگاری وردپرس و ذخیره‌سازی امن کدهای یکبار مصرف (OTP) در جدول transients با زمان انقضای مشخص، از حملات بازپخش (Replay Attacks) و دسترسی‌های غیرمجاز جلوگیری می‌کند. محدود کردن تعداد درخواست‌های ارسال کد به یک شماره مشخص در بازه‌های زمانی کوتاه، لایه حفاظتی دیگری در برابر سوءاستفاده‌های احتمالی و ربات‌ها ایجاد می‌کند. علاوه بر امنیت ورود کاربران، امنیت داده‌های درون پایگاه داده و جلوگیری از افشای اطلاعات حساس مشتریان در لاگ‌های پیامکی از دغدغه‌های اصلی طراحان افزونه بوده است. مکانیزم‌های لاگ‌گیری افزونه باید به گونه‌ای تنظیم شوند که اطلاعات محرمانه مانند توکن‌های امنیتی یا کدهای تایید موقت پس از مصرف به صورت خودکار پاکسازی شوند تا از هجوم کدهای مخرب یا دسترسی غیرمجاز به جدول لاگ‌ها جلوگیری شود.

سازگاری با هاستینگ‌های ایرانی، محدودیت‌های پورت و بهینه‌سازی عملکرد

میزبانی وب در زیرساخت‌های ایران با چالش‌های خاصی نظیر محدودیت‌های تابع cURL، مسدود بودن برخی پورت‌های خروجی روی هاست‌های اشتراکی و اختلالات مق مقطعی شبکه همراه است. افزونه پیامک ووکامرس پارسی با استفاده از توابع استاندارد HTTP API وردپرس (wp_remote_post) تلاش می‌کند تا بهترین سازگاری را با محیط‌های مختلف هاستینگ داشته باشد و خطاهای ارتباطی با وب‌سرویس‌های پیامکی را به صورت استاندارد لاگ و مدیریت کند. مدیریت Timeoutها در درخواست‌های API مانع از متوقف شدن چرخه ثبت سفارش ووکامرس در صورت قطعی اینترنت یا اختلال در سرویس‌دهنده پیامک می‌شود. از دیدگاه سئو و عملکرد کلی سایت (Performance)، بارگذاری اسکریپت‌های مربوط به فرم‌های عضویت یا اعتبارسنجی شماره موبایل باید به صورت مشروط (Conditional Loading) انجام شود تا در صفحات غیرمرتبط، بار اضافی به مرورگر کاربر تحمیل نکند. بهینه‌سازی درخواست‌های AJAX برای ارسال کدهای تایید در صفحه تسویه حساب (Checkout) و صفحه ورود، تجربه کاربری روانی را بدون ایجاد تاخیر در رندر شدن DOM فراهم می‌آورد.

❓ سوالات متداول درباره پیامک ووکامرس پارسی (Persian WooCommerce SMS)

پاسخ به سوالات و چالش‌های فنی وبمسترها، طراحان سایت و مدیران سرور درباره افزونه پیامک ووکامرس پارسی (Persian WooCommerce SMS) در این بخش گردآوری شده است:

با استفاده از هوک‌ها و اکشن‌های سفارشی ووکامرس مانند woocommerce_order_status_{status_name} می‌توانید وضعیت‌های جدید را به لیست شنود افزونه اضافه کنید. همچنین بخش تنظیمات افزونه امکان تعریف الگوهای پترن جدید را برای وضعیت‌های سفارشی فراهم می‌کند.
این مشکل معمولاً ناشی از مسدود بودن پورت‌های ارتباطی روی هاست، عدم تایید خط خدماتی توسط اپراتور، مغایرت در نام متغیرهای پترن وب‌سرویس با متغیرهای ارسالی افزونه، یا اختلال در تابع wp_remote_post هاست است. بررسی بخش «لاگ‌های پیامک» در پیشخوان وردپرس به شناسایی دقیق خطای بازگردانده شده از سوی وب‌سرویس کمک می‌کند.
تنها راه عبور از بلک‌لیست مخابراتی، استفاده از وب‌سرویس‌هایی است که امکان ارسال از طریق «پترن خدماتی الگویی» را دارند. در تنظیمات افزونه باید حتماً سیستم ارسال را روی حالت پترن قرار داده و پترن تاییدشده را از پنل پیامکی خود در فیلد مربوطه وارد کنید.
به صورت پیش‌فرض، درخواست‌های وب‌سرویس پیامک به صورت همگام در لحظه ثبت سفارش ارسال می‌شوند. اگر سرویس‌دهنده پیامک با تاخیر پاسخ دهد، ممکن است تسویه حساب کند شود. برای حل این مشکل، استفاده از صف‌های پردازش (Background Processing) یا سیستم‌های صف وظایف در وردپرس برای ارسال غیرهمگام پیامک‌ها توصیه می‌شود.