diff --git a/server/controllers/userController.js b/server/controllers/userController.js index 444413a..32d065a 100644 --- a/server/controllers/userController.js +++ b/server/controllers/userController.js @@ -98,13 +98,13 @@ function sendConfirmationSMS(userId) { user.mobileConfirmationKey = mobileKey await user.save() - const smsMsg = [ - 'این شماره در وبسایت آسان سرویس جهت ارائه خدمات گارانتی ثبت گردیده.', - ' کد تایید شماره همراه: ', - mobileKey - ] + // const smsMsg = [ + // 'این شماره در وبسایت آسان سرویس جهت ارائه خدمات گارانتی ثبت گردیده.', + // ' کد تایید شماره همراه: ', + // mobileKey + // ] - await SMS([user.mobile_number], smsMsg.join('')) + await SMS(user.mobile_number, mobileKey) resolve() } catch (err) { diff --git a/server/plugins/SMS_Module.js b/server/plugins/SMS_Module.js index bc59e6c..bd94263 100644 --- a/server/plugins/SMS_Module.js +++ b/server/plugins/SMS_Module.js @@ -1,53 +1,81 @@ const axios = require('axios') -const accountInfo = { - Username: 'asanservice.sms@gmail.com', - Password: '9u&8[Ve9', - Number: '5000467341', - url: 'http://www.afe.ir/WebService/V4/BoxService.asmx' -} +// const accountInfo = { +// Username: 'asanservice.sms@gmail.com', +// Password: '9u&8[Ve9', +// Number: '5000467341', +// url: 'http://www.afe.ir/WebService/V4/BoxService.asmx' +// } /// /////// http post soap method -module.exports.SMS = (mobileNumbersArray, message) => { - return new Promise((resolve, reject) => { - function renderMobileNumbers(array) { - return array.map(item => `${item}`).join('') - } +// module.exports.SMS = (mobileNumbersArray, message) => { +// return new Promise((resolve, reject) => { +// function renderMobileNumbers(array) { +// return array.map(item => `${item}`).join('') +// } - const xml = ` - - - - ${accountInfo.Username} - ${accountInfo.Password} - ${accountInfo.Number} - - ${renderMobileNumbers(mobileNumbersArray)} - - ${message} - 1 - - - ` +// const xml = ` +// +// +// +// ${accountInfo.Username} +// ${accountInfo.Password} +// ${accountInfo.Number} +// +// ${renderMobileNumbers(mobileNumbersArray)} +// +// ${message} +// 1 +// +// +// ` - axios - .post(accountInfo.url, xml, { - headers: { - 'Content-Type': 'text/xml; charset=utf-8', - SOAPAction: 'http://www.afe.ir/SendMessage' - } - }) - .then(res => { - resolve(res) - }) - .catch(err => { - console.log( - 'this is sms module error ------------------ status code: ', - err.response.status, - 'error message: ', - err.response.data - ) - resolve(err) - }) - }) +// console.log('here') +// axios +// .post(accountInfo.url, xml, { +// headers: { +// 'Content-Type': 'text/xml; charset=utf-8', +// SOAPAction: 'http://www.afe.ir/SendMessage' +// } +// }) +// .then(res => { +// resolve(res) +// }) +// .catch(err => { +// console.log( +// 'this is sms module error ------------------ status code: ', +// err.response.status, +// 'error message: ', +// err.response.data +// ) +// reject(err) +// }) +// }) +// } + +const smsCredential = { + secretKey: 'drtime@A!@#', + apiKey: '569ee43ed0d9ac27708ce43d', + patternCode: '83604', + url: 'https://RestfulSms.com/api/UltraFastSend/direct' +} +module.exports.SMS = async (mobile, message) => { + try { + const smsData = { + Mobile: mobile, + TemplateId: smsCredential.patternCode, + ParameterArray: [{ Parameter: 'code', ParameterValue: message }], + UserApiKey: smsCredential.apiKey, + SecretKey: smsCredential.secretKey + } + const { data } = await axios.post(smsCredential.url, smsData, { + headers: { + 'Content-Type': 'application/json' + } + }) + return data.IsSuccessful + } catch (error) { + console.log('error in sms module', error) + throw new Error('error in sms module') + } }