const NotificationProvider = require("./notification-provider"); const axios = require("axios"); class Cellsynt extends NotificationProvider { name = "Cellsynt"; /** * @inheritdoc */ async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { const okMsg = "Sent Successfully."; const data = { // docs at https://www.cellsynt.com/en/sms/api-integration params: { "username": notification.cellsyntLogin, "password": notification.cellsyntPassword, "destination": notification.cellsyntDestination, "text": msg.replace(/[^\x00-\x7F]/g, ""), "originatortype": notification.cellsyntOriginatortype, "originator": notification.cellsyntOriginator, "allowconcat": notification.cellsyntAllowLongSMS ? 6 : 1 } }; try { const resp = await axios.post("https://se-1.cellsynt.net/sms.php", null, data); if (resp.data == null ) { throw new Error("Could not connect to Cellsynt, please try again."); } else if (resp.data.includes("Error:")) { resp.data = resp.data.replaceAll("Error:", ""); throw new Error(resp.data); } return okMsg; } catch (error) { this.throwGeneralAxiosError(error); } } } module.exports = Cellsynt;