افزونه انبوه پیامک وردپرس | هسته کمپین، صف هوشمند، Batch، OTP و انتخاب مخاطب از usermeta
افزونه انبوه پیامک وردپرس راهکاری عملی و مهندسیشده برای راهاندازی کمپینهای پیامکی در محیط وردپرس است؛
تمرکز افزونه بر هسته ارسال و کمپین، صفسازی هوشمند، Batch با کنترل فاصله زمانی،
انتخاب مخاطب از usermeta (با نرمالسازی E.164
و حذف تکراریها)،
و ابزارک OTP برای عضویت/لغو خبرنامه پیامکی است. معماری Provider بهصورت ماژولار طراحی شده تا
اتصال به سامانههای مختلف پیامکی با Interface واحد و تست اتصال شفاف انجام شود؛
از جمله IPPanel (Edge) با لاگین OTP و ذخیره امن توکن.
ارسال پیامک گروهی به کاربران سایت شما
تمرکز این افزونه روی مخاطبان داخلی سایت شماست: اعضا و مشتریانی که در وردپرس ثبتنام کردهاند. بدون وابستگی به لیستهای بیرونی، میتوانید پیامک انبوه را دقیق و هدفمند ارسال کنید.
- انتخاب مخاطب از میان کاربران سایت (بر اساس نقش کاربری)
- گزینهٔ «N نفر اول» بر پایهٔ جدیدترین زمان ثبتنام
- استخراج شمارهها از
usermeta
+ نرمالسازی به E.164 و حذف تکراریها - مدیریت ارسال با صف (queue)، وضعیتها و Batch برای پایداری
۱) هسته ارسال و کمپین
قلب افزونه انبوه پیامک وردپرس «هسته کمپین» است که همه چیز را از تعریف کمپین تا اجرای ارسال مدیریت میکند.
هنگام ساخت کمپین، شما میتوانید عنوان، متن پیام، Provider انتخابی،
شماره فرستنده و فیلتر نقشها را مشخص کنید. هدف ما سادگی و شفافیت است:
شما دقیقاً میبینید چه چیزی، به چه کسانی و از طریق کدام درگاه ارسال میشود.
- عنوان کمپین: برای جستوجو و گزارشها اهمیت دارد.
- متن پیام: میتواند ساده یا حاوی متغیرهای OTP باشد (در صورت استفاده از ابزارک عضویت/لغو).
- Provider و فرستنده: انتخاب درگاه و خط ارسال مناسب برای آن کمپین.
- فیلتر نقشها: تمرکز روی گروههای کاربری مشخص برای کاهش هزینه و افزایش دقت.
از همان لحظه ایجاد کمپین، افزونه مسیر هر پیام را صفسازی کرده و با درنظرگرفتن محدودیتها و اولویتها، ارسال را پیش میبرد.
۲) انتخاب هدف ارسال (N نفر اول) بر اساس جدیدترین ثبتنام
در برخی کمپینها لازم است تمرکز روی N نفر اول از کاربران جدید باشد—مثلاً ۵۰۰ کاربر تازهثبتنامشده.
افزونه امکان انتخاب «N نفر اول بر حسب جدیدترین زمان ثبتنام» را فراهم کرده است. این قابلیت به شما اجازه میدهد
پیام را دقیقاً به کسانی برسانید که بهتازگی عضو شدهاند و احتمال تعامل بالاتری دارند.
سازوکار انتخاب، بر اساس مرتبسازی نزولی تاریخ ثبتنام و سپس برداشتن N رکورد اول عمل میکند.
در صورت ترکیب با فیلتر نقشها و حذف Opt-out، دامنه مخاطبان بهصورت هدفمندتر محدود میشود.
۳) صفسازی و وضعیتها: queued / running / paused / stopped / finished
هر دریافتکننده پس از انتخاب، بهعنوان یک آیتم صف ثبت میشود. مدیریت صف بهصورت خودکار انجام شده و هر آیتم میتواند
در یکی از وضعیتهای زیر قرار بگیرد:
وضعیت | توضیح |
---|---|
queued |
آیتم در صف منتظر ارسال است. |
running |
آیتم در حال ارسال است (Batch کنونی). |
paused |
کمپین موقتاً متوقف شده؛ آیتمها در وضعیت فعلی میمانند. |
stopped |
کمپین متوقف شده و دیگر ارسال ادامه نمییابد. |
finished |
ارسال برای همه آیتمها (موفق/ناموفق) پایان یافته است. |
این مدل وضعیتها به شما دید شفافی از چرخه عمر کمپین میدهد و بهکمک آن میتوانید کمپین را بهموقع مکث یا از سر بگیرید.
۴) ارسال نوبتی (Batch) و فاصله زمانی بین نوبتها
برای کنترل بار روی سامانه پیامکی و پرهیز از محدودیتهای نرخ، ارسالها در قالب Batch انجام میشود.
شما میتوانید اندازه هر Batch (تعداد پیام در هر نوبت) و فاصله زمانی بین نوبتها را تعیین کنید.
مثال: «هر نوبت ۱۰۰ پیام → فاصله ۳۰ ثانیه» یا «۵۰ پیام → فاصله ۱۰ ثانیه».
- Batch Size: تعداد آیتمهایی که در هر نوبت ارسال میشوند.
- Interval: مکث بین نوبتها برای مدیریت بار.
- Adaptive Control (غیرادعایی): در این نسخه، کنترل بر اساس تنظیمات دستی شماست.
با تنظیم صحیح Batch و فاصله، نرخ ارسال شما پایدار میماند و احتمال خطاهای ناشی از سقف ارسال کاهش مییابد.
۵) کنترلهای شروع/توقف و نوار پیشرفت با آمار لحظهای
در صفحه اجرای کمپین، کنترلهای Start و Stop در اختیار شماست. نوار پیشرفت نیز آمار لحظهای را نشان میدهد:
ارسالشده، ناموفق، در صف. این دادههای زنده کمک میکنند بدون ترک صفحه بفهمید
کمپین در چه نقطهای است و برای Pause، Resume یا «Stop» تصمیم بگیرید.
۶) انتخاب مخاطب هوشمند از usermeta (E.164 + حذف تکراریها)
افزونه انبوه پیامک وردپرس بهصورت هوشمند، شماره موبایل را از usermeta
استخراج میکند. اگر سایت شما چندین کلید متفاوت برای شماره موبایل داشته باشد،
نیازی به واردکردن دستی کلیدها نیست؛ در بخش بعدی لیست خودکار کلیدها را میبینید. پس از استخراج:
- نرمالسازی به فرمت E.164: همه شمارهها به فرم استاندارد بینالمللی مثل
+98...
تبدیل میشوند. - حذف تکراریها: اگر کاربری چند شماره یا چند رکورد داشته باشد، یکبار ارسال انجام میشود.
این رویکرد از ارسالهای زائد جلوگیری میکند و هزینه کمپین را بهینه میسازد. همچنین Cache کوتاهمدت برای لیست کلیدهای
usermeta در نظر گرفته شده تا فشار روی پایگاه داده کاهش یابد.
۷) لیست خودکار کلیدهای usermeta + جستجو و انتخاب با تیک
در تنظیمات افزونه انبوه پیامک وردپرس، فهرست تمام کلیدهای usermeta
بهصورت خودکار بارگذاری میشود. یک جعبه جستجو کمک میکند کلید مدنظرتان را سریع بیابید،
سپس با تیکزدن چند کلید، تعیین میکنید شماره موبایل از کدام فیلدها استخراج شود. این یعنی نیازی به حفظ نام کلیدها یا واردکردن دستی
نیست و خطای انسانی کاهش مییابد.
۸) فیلتر نقش کاربران و حذف Opt-outها
پیش از ساخت صف، میتوانید بر اساس نقش کاربری فیلتر کنید (مثلاً فقط مشترکین خبرنامه یا فقط مشتریان عضو).
همچنین Opt-outهایی که از طریق ابزارک لغو عضویت کردهاند، بهطور خودکار از ارسال حذف میشوند تا قواعد رضایت کاربر رعایت شود.
۹) مشترکین و OTP (عضویت/لغو) + ابزارک فرانتاند
افزونه یک جدول مشترکین دارد که کاربران موجود (مبتنی بر پایگاه داده شما) را در حالت پیشفرض عضو در نظر میگیرد.
برای مدیریت عضویتهای جدید یا لغوها، ابزارک فرانتاند ارائه شده است:
- ارسال OTP: کاربر شماره را وارد میکند و کد تایید دریافت میکند.
- تأیید OTP: پس از واردکردن کد، وضعیت او در جدول مشترکین بهروز میشود (عضویت یا لغو).
- پیامهای کاربرپسند: نمایش خطا/موفقیت با متن قابل فهم.
- استایل سازگار: طراحی تمیز، RTL و دارکمود؛ با قالب سایت همخوان است.
۱۰) قالب پیامهای OTP: {CODE}, {MIN}, {SITE_NAME} + طول و انقضا
متن پیامهای OTP در افزونه انبوه پیامک وردپرس قابل ویرایش است و میتوانید از متغیرهای زیر استفاده کنید:
{CODE}
(کد تایید)، {MIN}
(مدت اعتبار به دقیقه)، {SITE_NAME}
(نام سایت).
علاوه بر این، طول کد و زمان انقضا نیز قابل تنظیم است تا با سیاست امنیتی شما هماهنگ باشد.
۱۱) Providerها (Interface واحد، تست اتصال، IPPanel Edge)
لایه Provider بهصورت ماژولار با یک Interface واحد طراحی شده است: دو متد کلیدی
send
و test_connection
. این یعنی هر سامانه پیامکی را میتوان با پیادهسازی همین دو تابع به اکوسیستم
افزونه متصل کرد. برای IPPanel (Edge) فرایند ورود به شکل زیر است:
- Login با نامکاربری/رمز → دریافت OTP → ورود کد.
- دریافت و ذخیره توکن با ماسک کردن در رابط کاربری تنظیمات.
- ارسال از طریق Endpoint استاندارد (مثلاً
/api/send
) با فرمتE.164
. - تست توکن از طریق Endpoint مناسب (مانند
/api/acl/auth/check_token
).
Provider آزمایشی (Null) نیز برای تستهای بدون ارسال واقعی موجود است تا بتوانید جریان کمپین را بدون هزینه بررسی کنید.
۱۲) تنظیمات اختصاصی هر Provider و Toggle خودکار فرم
بسته به Provider انتخابی، فرم تنظیمات اختصاصی بهصورت پویا نمایش داده میشود؛
فیلدهایی مانند کلید API، شناسه خط، روش احراز هویت و… تنها وقتی دیده میشوند که به آن Provider نیاز دارید.
این Toggle خودکار، هم رابط سادهتری میسازد و هم از خطاهای تنظیمات جلوگیری میکند.
۱۳) تنظیمات و پنل مدیریت (Broadcast، Settings، Edge Login…)
زیر منوی «کاربران» شامل چند صفحه کلیدی است:
- ارسال انبوه (Broadcast): ساخت و اجرای کمپین با انتخاب Provider، فرستنده، متن، فیلتر نقشها و N نفر اول.
- تنظیمات پیامک: تعیین Provider پیشفرض، فرستنده، فرمت خروجی، اندازه Batch، فاصله زمانی و کلیدهای usermeta.
- ورود Edge: روند لاگین/ارسال/تأیید OTP برای دریافت و تست توکن (نمایش ماسکشده).
- تست اتصال: اجرای
test_connection
با پیامهای خطای انسانی و شفاف.
۱۴) کمپینها و گزارشها: آمار تجمیعی، لیست آیتمهای صف، پاسخ پنل
افزونه انبوه پیامک وردپرس صفحه «کمپینها» فهرست همه کمپینها را با درصد پیشرفت و آمار خلاصه نشان میدهد. در صفحه جزئیات هر کمپین میبینید:
- مشخصات کمپین: عنوان، Provider، فرستنده، متن پیام، بازه اولین/آخرین ارسال.
- آمار تجمیعی: کل، ارسالشده، ناموفق، در صف، اولین و آخرین زمان ارسال.
- آیتمهای صف: جدول با فیلتر وضعیت و جستوجو (شماره، وضعیت، دفعات تلاش، کد خطا، زمان ارسال).
- لاگ دقیق: ذخیره
provider_message_id
و کلprovider_response
برای هر آیتم صف. - نمایش پاسخها: پیشنمایش کوتاه JSON/متن + گزینه «نمایش کامل».
۱۵) تجربه کاربری و خطاها (پیامهای قابل فهم، Fallbackها، استایل RTL/دارک)
پیامهای خطا (چه در ادمین و چه در ابزارک) بهصورت خوانا نمایش داده میشوند؛ نه صرفاً کد خطا.
اگر به هر دلیل دادههای محلیسازی اسکریپت (Localize) در جاوااسکریپت در دسترس نباشد، Fallbackهای امن مانع از شکستن UI میشوند.
استایل ابزارک نیز scoped و با RTL و دارکمود سازگار است.
۱۶) امنیت و پایداری (manage_options، Nonce، dbDelta، Cache ۵ دقیقهای)
- سطوح دسترسی: صفحات مدیریتی تنها برای کاربرانی که قابلیت
manage_options
دارند در دسترس است. - امنیت Ajax: همه درخواستهای Ajax (ادمین/عمومی) با Nonce محافظت میشوند.
- ارتقا پایگاه داده: ساخت جداول با
dbDelta
و روال Upgrade برای افزودن ستونهای گزارش در نصبهای قبلی. - Cache سبک: کش ۵ دقیقهای برای لیست کلیدهای
usermeta
جهت کاهش فشار بر DB.
۱۷) توسعهپذیری: ساختار ماژولار و جداسازی مسئولیتها
کد بهصورت ماژولار و با جداسازی مسئولیتها سازماندهی شده است: Settings / Users / Queue / Sender / Ajax / Providers / Templates.
این ساختار، افزودن Provider جدید را به اضافهکردن یک کلاس و ثبت آن در Sender محدود میکند.
تمام متنها با Text Domain آماده ترجمه هستند (i18n).
اسکلت آماده برای Providerهای زیر در اختیار شماست تا توسعه بعدی ساده شود:
Kavenegar، SMS.ir، FarazSMS، FaraPayamak، MeliPayamak.
۱۸) سامانههای پیامکی پشتیبانیشده در افزونه انبوه پیامک وردپرس
اتصال به سامانههای زیر پشتیبانی میشود:
- farapayamak.ir
- payam-resan.com
- sms.ir
- newsms.ir
- melipayamak.ir
- max-sms.ir
- payamkutah.com
- farazsms.com
- kavenegar.com
- candoosms.com
- ippanel.com
- sms.zhiak.com
- sibsmspanel.ir
- sms.payamnam.ir
- sms.rangine.ir
- aradpayamak.net
- raygansms.com
- parsgreen.com
- ssmss.ir
- fullonline.ir
- niazpardaz.ir
- sabanovin.com
- sms.hostiran.net
- parandsms.ir
- shayan-sms.ir
- teh-sms.com
- modirpayamak.com
- 0098sms.com
- Panelsms20.ir
- asanak.com
- elanak.ir
- PanelSmsPro.ir
نکته: برای برخی سرویسها که احراز هویت ویژه (مانند Edge/OTP) دارند، از پنل Edge Login استفاده کنید.
در صورت تفاوتهای جزئی API، از صفحه تنظیمات Provider پارامترهای مورد نیاز را تکمیل کنید.
۱۹) راهاندازی سریع افزونه انبوه پیامک وردپرس (Quick Start)
- از مسیر «کاربران ← تنظیمات پیامک»، Provider پیشفرض و فرستنده را انتخاب و اطلاعات اتصال را کامل کنید.
- اگر Provider شما Edge/OTP دارد، از صفحه «ورود Edge» وارد شوید، OTP را تأیید کرده و وضعیت توکن را بررسی کنید.
- در همان صفحه تنظیمات، کلیدهای usermeta مربوط به شماره موبایل را از لیست خودکار انتخاب کنید.
- اندازه Batch و فاصله زمانی بین نوبتها را متناسب با ظرفیت سامانه تنظیم کنید.
- به «ارسال انبوه (Broadcast)» بروید، کمپین جدید بسازید: عنوان، متن، Provider، فرستنده، فیلتر نقشها، و در صورت نیاز «N نفر اول».
- کمپین را Start کنید و از نوار پیشرفت، آمار لحظهای را زیر نظر بگیرید. در صورت نیاز Pause/Resume یا Stop کنید.
- به صفحه «کمپینها» سر بزنید و گزارشهای تجمیعی، لیست آیتمهای صف و پاسخهای پنل را بررسی کنید.
۲۰) سناریوهای کاربردی پیشنهادی
- خوشآمدگویی به اعضای جدید: انتخاب «N نفر اول» براساس جدیدترین ثبتنام و ارسال پیام خوشآمد با معرفی خدمات.
- اطلاعرسانی به نقش خاص: فقط به «مشترکین خبرنامه» یا نقش تعریفشده اختصاصی پیام بدهید.
- دعوت به نظرسنجی: لینک فرم را برای بخشی از کاربران بفرستید و از Batch برای پایداری ارسال بهره ببرید.
- پویشهای کوتاهمدت: کمپینی با زمان اجرای محدود، توقف/ادامه در میانه راه و تحلیل سریع نتایج.
- عضویت/لغو با OTP: ابزارک را در صفحات فرود قرار دهید تا مخاطبان با یک تأیید ساده عضو/لغو شوند.
۲۱) سؤالات متداول
چطور شماره موبایل از usermeta استخراج میشود؟
در تنظیمات، لیست کلیدهای usermeta بهصورت خودکار نمایش داده میشود. شما کلیدهای مربوط به موبایل را تیک میزنید، افزونه از همانها استخراج کرده و سپس به E.164 نرمال میکند و تکراریها را حذف میکند.
«N نفر اول» دقیقاً چگونه انتخاب میشوند؟
کاربران بر اساس تاریخ ثبتنام بهصورت نزولی مرتب میشوند و اولین N رکورد انتخاب میشود. این انتخاب میتواند همزمان با فیلتر نقشها و حذف Opt-out انجام شود.
وضعیتهای صف چه کاربردی دارند؟
هر آیتم صف در چرخه queued → running → finished (یا paused/stopped) حرکت میکند. این وضعیتها دید کاملی از پیشرفت و توقف کمپین به شما میدهد.
Batch و فاصله زمانی به چه درد میخورند؟
برای رعایت محدودیتهای سامانه پیامکی و جلوگیری از خطاهای نرخ، ارسالها به بستههای کوچک تقسیم و بین بستهها مکث کوتاه اعمال میشود.
آیا میتوان بدون ارسال واقعی تست کرد؟
بله، با Provider آزمایشی (Null) جریان کمپین و گزارشها را بدون هزینه و ارسال واقعی بررسی میکنید.
ابزارک OTP چه میکند؟
مخاطب شمارهاش را وارد میکند، OTP میگیرد و با واردکردن کد، عضو یا لغو خبرنامه میشود. پیامها و طول/انقضای کد قابل تنظیم است.
IPPanel (Edge) چطور احراز هویت میشود؟
با نامکاربری/رمز وارد میشوید، OTP دریافت و وارد میکنید، توکن ذخیره و ماسک میشود. سپس میتوانید ارسال و تست توکن را انجام دهید.
آیا گزارشهای دقیق کمپین دارم؟
بله. آمار تجمیعی (کل/موفق/ناموفق/درصف)، جدول آیتمهای صف با فیلتر و جستوجو، و ذخیره provider_message_id و provider_response برای هر آیتم.
دسترسی به صفحات مدیریتی محدود است؟
بله، فقط کاربرانی که قابلیت manage_options دارند میتوانند پنلهای افزونه را ببینند.
آیا استایل با RTL و دارکمود سازگار است؟
بله، ابزارک و پنلها برای RTL و دارکمود آمادهاند.
۲۲) واژهنامه کوتاه
- E.164: استاندارد بینالمللی نمایش شماره تلفن بهصورت
+CountryCode
(مثل +98). - OTP: کد یکبارمصرف برای تأیید مالکیت شماره.
- Batch: بستههای کوچک از آیتمهای ارسال که پشت سر هم اجرا میشوند.
- Queue: صف آیتمهای در انتظار ارسال.
- Provider: درگاه/سامانه پیامکی متصل به افزونه.
- Opt-out: لغو عضویت از دریافت پیامک.
۲۳) جمعبندی افزونه انبوه پیامک وردپرس
افزونه انبوه پیامک وردپرس برای تیمهایی ساخته شده که میخواهند ارسال انبوه پیامک را در محیط وردپرس
با کنترل کامل بر صف، Batch و مخاطبان انجام دهند؛ بدون ادعاهای زائد و با تمرکز بر قابلیتهایی که واقعاً نیاز دارید:
انتخاب «N نفر اول»، نرمالسازی E.164، حذف تکراریها، ابزارک OTP برای عضویت/لغو، گزارشهای دقیق کمپین و معماری Provider ماژولار
(از جمله IPPanel با Edge Login).
اگر یک راهحل پایدار، شفاف و توسعهپذیر برای کمپینهای پیامکی میخواهید—همین افزونه، دقیقاً برای همین کار ساخته شده است.