Files
asan-service/server/plugins/SMS_Module.js
T
2025-02-14 19:21:13 +03:30

82 lines
2.5 KiB
JavaScript

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'
// }
/// /////// http post soap method
// module.exports.SMS = (mobileNumbersArray, message) => {
// return new Promise((resolve, reject) => {
// function renderMobileNumbers(array) {
// return array.map(item => `<string>${item}</string>`).join('')
// }
// const xml = `<?xml version="1.0" encoding="utf-8"?>
// <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
// <soap:Body>
// <SendMessage xmlns="http://www.afe.ir/">
// <Username>${accountInfo.Username}</Username>
// <Password>${accountInfo.Password}</Password>
// <Number>${accountInfo.Number}</Number>
// <Mobile>
// ${renderMobileNumbers(mobileNumbersArray)}
// </Mobile>
// <Message>${message}</Message>
// <Type>1</Type>
// </SendMessage>
// </soap:Body>
// </soap:Envelope>`
// 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')
}
}