From 29d0db805d82e7d01239aead2cb87e75fddf30be Mon Sep 17 00:00:00 2001 From: DeeJayPee Date: Mon, 13 Sep 2021 10:22:05 +0200 Subject: [PATCH] Add legacy octopush (Octopush-DM from 2011 to 2020 accounts) version --- server/notification-providers/octopush.js | 64 ++++++++++++++++------- src/components/NotificationDialog.vue | 10 ++++ 2 files changed, 55 insertions(+), 19 deletions(-) diff --git a/server/notification-providers/octopush.js b/server/notification-providers/octopush.js index 40273f9b..228e1b2a 100644 --- a/server/notification-providers/octopush.js +++ b/server/notification-providers/octopush.js @@ -9,27 +9,53 @@ class Octopush extends NotificationProvider { let okMsg = "Sent Successfully. "; try { - let config = { - headers: { - "api-key": notification.octopushAPIKey, - "api-login": notification.octopushLogin, - "cache-control": "no-cache" - } - }; - let data = { - "recipients": [ - { - "phone_number": notification.octopushPhoneNumber + // Default - V2 + if (notification.octopushVersion == 2 || !notification.octopushVersion) + { + let config = { + headers: { + "api-key": notification.octopushAPIKey, + "api-login": notification.octopushLogin, + "cache-control": "no-cache" } - ], - //octopush not supporting non ascii char - "text": msg.replace(/[^\x00-\x7F]/g, ""), - "type": notification.octopushSMSType, - "purpose": "alert", - "sender": notification.octopushSenderName - }; + }; + let data = { + "recipients": [ + { + "phone_number": notification.octopushPhoneNumber + } + ], + //octopush not supporting non ascii char + "text": msg.replace(/[^\x00-\x7F]/g, ""), + "type": notification.octopushSMSType, + "purpose": "alert", + "sender": notification.octopushSenderName + }; + await axios.post("https://api.octopush.com/v1/public/sms-campaign/send", data, config) + } + else if (notification.octopushVersion == 1) + { + let data = { + "user_login": notification.octopushDMLogin, + "api_key": notification.octopushDMAPIKey, + "sms_recipients" : notification.octopushDMPhoneNumber, + "sms_sender": notification.octopushDMSenderName, + "sms_type": (notification.octopushDMSMSType == 'sms_premium')?'FR':'XXX', + "transactional": '1', + //octopush not supporting non ascii char + "sms_text": msg.replace(/[^\x00-\x7F]/g, ""), + }; + + let config = { + headers: { + "cache-control": "no-cache" + }, + params: data + }; + await axios.post("https://www.octopush-dm.com/api/sms/json", {}, config) + } else + throw new Error('Unknown Octopush version !'); - await axios.post("https://api.octopush.com/v1/public/sms-campaign/send", data, config) return okMsg; } catch (error) { this.throwGeneralAxiosError(error); diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index d689b0c9..10765600 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -244,6 +244,16 @@