برای راه اندازی پنل پیامکی در ابتدا باید یکی از سامانه های پیامکی زیر گرفته شود
سرویس دهندگان
Parsa
پارسا (قاصدك)
در مورد اكانت اين شركت ، بايستي ارسال وب سرويس توسط پشتيباني آنها ابتدا فعال شود تا خروجي مناسب گرفته شود
HostIran
Magfa
RazSms
WebSms
niazpardaz
FarazSMS
Asanak (*)
Smsir(*)
sitesaz
Kavenegar(*)
(*) با توجه به اینکه برای مشتریان جدید از این سرویس دهنده استفاده شده اولویت با این سرویس دهنده می باشد
اطلاعات مورد نیاز جهت راه اندازی پنل
- شماره خط SmsNumber
- اپراتور وب سرویس SmsOperator
- یوزر وب سرویس SmsUsername
- پسورد وب سرویس SmsPassword
- SmsDomain : برای سامانه پیامکی Smsir در این ستون باید کلید ای پی ای پنل پیامکی قرار بگیره برای ارتباط با سامانه پیامکی نیاز به کلید خصوصی داریم که ای پی ای در اختیار قرار می دهد
نصب برنامه SMSSender
آخرین نسخه برنامه ارسال پیامک را از قسمت کامنت ها (پایین همین صفحه) دانلود میکنیم و در مسیر D:\ShareFolder\SMSSender از حالت فشرده خارج میکنیم
و دسترسی به پوشه را everyone میکنیم و در فایل کانفیگ مشابه زیر مقادیر و کانکشن استرینگ را تنظیم می کنیم
از نسخه 1.2.3 به بعد، دو کلید جدید به فایل کانفیگ اضافه شده است:
AutorunJob: درصورتیکه میخواهید برنامه ارسال پیامک بصورت اتومات هر چند دقیقه یکبار اجرا شود، مقدار این کلید را 1 قرار دهید
AutorunJobPeriodMinute: درصورتیکه مقدار کلید بالا 1 تنظیم شد، مقدار این کلید که بیانگر میزان دقیقه است را مقدار دهید. در اینصورت برنامه ارسال پیامک هر چند دقیقه یکبار اجرا خواهد شد
نکته مهم: از این دو کلید درصورتی استفاده کنید که برنامه ارسال پیامک توسط برنامه nssm تبدیل به سرویس ویندوزی شده باشد تا در پس زمینه ویندوز در حال اجرا بماند. در غیر اینصورت اگر برنامه توسط جاب SQL اجرا می شود، از این کلیدها استفاده نشود
راهنمای برنامه nssm
تنظیمات جدول CRM.SmsConfig
در اين جدول بايستي تنظيمات مربوط به سرويس دهنده وارد شود
معمولا این سه رکورد وجود دارند ، همیشه باید در رکورد آخر اطلاعاتی که از مشتری دریافت کرده ایم ثبت شود - می توان از آپدیت زیر برای این رکورد استفاده کرد :
update [CRM].[SmsConfig] set SmsUsername='Uname',SmsOperator='asanak',SmsPassword='110110110',SmsNumber='123456789' where SmsConfig_ID=3
ایجاد جاب ده دقیقه ای برای ارسال پیامک
در کد زیر باید مسیر فایل اجرایی smssender را در خط 39 مشخص کنیم
همینطور نام دیتابیس در خط بعدی آن باید تنظیم شود
اجراي دستور زير (برای اجرای جاب)
تست نصب و ارسال
رکوردهایی که برای ارسال پیامک در جدول [CRM].[Sms] ثبت می شوند ، در صورت اجرای برنامه سندر به وب سرویس منتقل می شوند
در صورتی که پیامک توسط برنامه ارسال شود ، فیلد IsSended مقدار یک می گیرد
در صورتی که با موفقیت ارسال شود ، از طرف وب سرویس کدی را دریافت می کند که در فیلد SendID با مقداری غیر صفر ثبت می شود
دقت شود كه ستون SmsConfig_ID مشخص مي كند كه بر اساس كدام سرويس دهنده ارسال انجام شود که طبق بندهای قبلی روی 3 باید تنظیم شود
در فیلد SmsText متن مورد نظر و در SmsNumber شماره شخصی که باید پیامک ارسال شود
بنابراین باید پس از ایجاد یک رکورد در این جدول ،یا برنامه را به صورت دستی یک بار اجرا کرد ، یا جاب ایجاد شده را به صورت دستی اجرا کنیم
پس از اجرا باید متن وارد شده به شماره مورد نظر پیامک شود
تست ارتباط با وب سرویس با نرم افزار Postman
وب سرویس آسانک
https://panel.asanak.com/webservice/v1rest/sendsms
نکته : در تب Body باید از تب x-www-form-urlencoded استفاده کنید و برای ورود مقادیر نیازی به نقل قول نیست :
username:Uname password:110110110 Source:123456789 Message:Test For Send Message destination:0936915915
در صورتی که با موفقیت ارسال شود ، کدی را در ریسپانس برمی گرداند که آیدی ثبت پیامک می باشد ؛ این کد همان کدی هست که در هنگام ارسال با برنامه سندر در فیلد SendID ثبت می شود
تنظیمات برای پنل sms.ir
تعریف کلید API در پنل
تنظیمات CRM.SmsConfig
مشابه زیر باشد
SmsUsername = یوزری که با آن به سایت لاگین می شود
SmsOperator = مقدار ثابت "ir-ssmss"
SmsPassword = کلید api دریافتی از پنل ( برای کار با api این پنل نیاز به پسورد نیست )
SmsNumber = شماره سرخط مورد نظر برای ارسال با این کانفیگ
SmsDomain = مقدار ثابت "https://api.sms.ir/v1/"
لیست سیاه یا Black List
نکته ای که برای ارسال با خطوط خدماتی (سرشماره 1000) در این پنل وجود دارد اینست که به صورت عادی از طریق برنامه و یا Api نمیتوان به هیچ شماره ای ارسال داشت
حتی اگر مخاطب پیام تبلیغاتی را مسدود نکرده باشد - اما برای همان مخاطب از طریق پنل قابل ارسال است .
به این دلیل است که در پنل همیشه پیام "لغو 11" به انتهای پیام افزوده می شود
بنابراین در برنامه نیز باید همیشه پیام "لغو 11" به انتهای متن ارسالی افزوده شود (و یا در الگوی مورد نظر قرار داده شود)
تست ارسال دستی
مشابه کد زیر (در محیطی مشابه موباکسترم) اجرا شود
curl --location 'https://api.sms.ir/v1/send/bulk' --header 'Content-Type: application/json' --header 'x-api-key: SDLKLKJFLSDFKJpwerjwiZHbSWMcNyy5qefkq1p3232ZvM9MoM100Lr8645PL' --data '{
"lineNumber": "100078783000",
"messageText": "سلام لغو 11 ",
"mobiles": [
"09355563272"
],
"sendDateTime": null
}'
نکات برنامه iMaster.ERP.SmsSender.Console.exe
- فایل کانفیگ iMaster.ERP.SmsSender.Console.exe.config برای دیتابیس مورد نظر تنظیم کنیم
- سروری که برنامه سندر روی آن اجرا می شود باید دسترسی اینترنت داشته باشد
- در صورت نیاز به محدودیت بیشتر و مسایل امنیتی می توان تنها دسترسی به آدرس url وب سرویس را آزاد کرد
- در صورتی که نیاز به اجرای برنامه سندر روی سرور دیگری که اینترنت دارد داشته باشیم ، باید نصب برنامه روی سرور مورد نظر انجام گیرد
و فایل کانفیک آن برای دیتابیس تنظیم شود
و بعد هم در جاب مسیر فایل سندر را در سرور دیگر به درستی تعیین کنیم (مسیری که از سرور دیتابیس بتوان فایل سندر را اجرا کرد)
برای این کار باید فولدر مربوط به برنامه شیر شود
نکته:
در جدول Setting.SysSettings سه تا ردیف با کلیدهای HourInSmsServiceActive و StartHourInSmsService و StopHourInSmsService وجود دارند. دو متغیر StartHourInSmsService و StopHourInSmsService جهت کنترل عدم ارسال پیامک است. به این صورت که اگر ساعت ارسال پیامک بین این دو متغیر باشد، ارسال پیامک انجام نمی شود (این کنترل برای عدم ارسال پیامک در ساعات نیمه شب است). اگر مقدار متغیر HourInSmsServiceActive برابر با 0 باشد، این محدودیت کنترل ساعت ارسال پیامک انجام نخواهد شد. لذا درصورتی که میخواهید ساعت ارسال پیامک محدود شود، این متغیر را مقدار 1 بدهید




2 Comments
Naser Omidvar
ارسال پيامك به مشتريان
SMS
PTCSMSSender
نصب smsSender
morteza saberi