const axios = require('axios') const accountInfo = { Username: '000', Password: '000', Number: '000', 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) { if (Array.isArray(array)) { return array.map(item => `${item}`).join('') } else { return `${array}` } } 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: %s error message: %s ', err.response.status, err.response.data ) resolve(err) }) }) }