@tiledesk/tiledesk-whatsapp-connector 1.0.18 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.env CHANGED
@@ -0,0 +1,2 @@
1
+ # CUSTOM ENV
2
+ NPM_PUBLISH_TOKEN=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
package/index.js CHANGED
@@ -57,7 +57,6 @@ let APPS_API_URL = null;
57
57
  let REDIS_HOST = null;
58
58
  let REDIS_PORT = null;
59
59
  let REDIS_PASSWORD = null;
60
- let BASE_FILE_URL = null;
61
60
  let AMQP_MANAGER_URL = null;
62
61
  let JOB_TOPIC_EXCHANGE = null;
63
62
  let BRAND_NAME = null;
@@ -348,8 +347,7 @@ router.post("/update", async (req, res) => {
348
347
  const twClient = new TiledeskWhatsapp({
349
348
  token: settings.wab_token,
350
349
  GRAPH_URL: GRAPH_URL,
351
- API_URL: API_URL,
352
- BASE_FILE_URL: BASE_FILE_URL,
350
+ API_URL: API_URL
353
351
  });
354
352
 
355
353
  await twClient.getBusinessAccountInfo(business_account_id).then((info) => {
@@ -477,8 +475,7 @@ router.post("/getinfo", async (req, res) => {
477
475
  const twClient = new TiledeskWhatsapp({
478
476
  token: settings.wab_token,
479
477
  GRAPH_URL: GRAPH_URL,
480
- API_URL: API_URL,
481
- BASE_FILE_URL: BASE_FILE_URL,
478
+ API_URL: API_URL
482
479
  });
483
480
 
484
481
  await twClient.getBusinessAccountInfo(settings.business_account_id).then((info) => {
@@ -687,8 +684,7 @@ router.post("/tiledesk", async (req, res) => {
687
684
  const twClient = new TiledeskWhatsapp({
688
685
  token: settings.wab_token,
689
686
  GRAPH_URL: GRAPH_URL,
690
- API_URL: API_URL,
691
- BASE_FILE_URL: BASE_FILE_URL,
687
+ API_URL: API_URL
692
688
  });
693
689
  twClient.sendMessage(phone_number_id, whatsappJsonMessage).then((response) => {
694
690
  winston.verbose(
@@ -739,8 +735,7 @@ router.post("/tiledesk", async (req, res) => {
739
735
  const twClient = new TiledeskWhatsapp({
740
736
  token: wab_token,
741
737
  GRAPH_URL: GRAPH_URL,
742
- API_URL: API_URL,
743
- BASE_FILE_URL: BASE_FILE_URL,
738
+ API_URL: API_URL
744
739
  });
745
740
 
746
741
  twClient.sendMessage(phone_number_id, whatsappJsonMessage).then((response) => {
@@ -851,8 +846,7 @@ router.post('/webhook', async (req, res) => {
851
846
  const util = new TiledeskWhatsapp({
852
847
  token: settings.wab_token,
853
848
  GRAPH_URL: GRAPH_URL,
854
- API_URL: API_URL,
855
- BASE_FILE_URL: BASE_FILE_URL,
849
+ API_URL: API_URL
856
850
  });
857
851
 
858
852
  const media = whatsappChannelMessage[whatsappChannelMessage.type];
@@ -864,8 +858,7 @@ router.post('/webhook', async (req, res) => {
864
858
  }
865
859
 
866
860
  const file_path = path.join(__dirname, "tmp", filename);
867
- const uploadFolder = whatsappChannelMessage.type === "image" ? "images" : "files";
868
- const media_url = await util.uploadMedia(file_path, uploadFolder);
861
+ const media_url = await util.uploadMedia(file_path, settings.project_id, settings.token);
869
862
  winston.debug(`(wab) media_url: ${media_url}`);
870
863
 
871
864
  tiledeskJsonMessage = await tlr.toTiledesk(whatsappChannelMessage, firstname, media_url);
@@ -1027,8 +1020,7 @@ router.post("/webhook/:project_id", async (req, res) => {
1027
1020
  const util = new TiledeskWhatsapp({
1028
1021
  token: settings.wab_token,
1029
1022
  GRAPH_URL: GRAPH_URL,
1030
- API_URL: API_URL,
1031
- BASE_FILE_URL: BASE_FILE_URL,
1023
+ API_URL: API_URL
1032
1024
  });
1033
1025
 
1034
1026
  if (whatsappChannelMessage.type == "image") {
@@ -1040,7 +1032,7 @@ router.post("/webhook/:project_id", async (req, res) => {
1040
1032
  }
1041
1033
 
1042
1034
  let file_path = path.join(__dirname, "tmp", filename);
1043
- const image_url = await util.uploadMedia(file_path, "images");
1035
+ const image_url = await util.uploadMedia(file_path, settings.project_id, settings.token);
1044
1036
  winston.debug("(wab) image_url: " + image_url);
1045
1037
 
1046
1038
  tiledeskJsonMessage = await tlr.toTiledesk(whatsappChannelMessage, firstname, image_url);
@@ -1056,7 +1048,7 @@ router.post("/webhook/:project_id", async (req, res) => {
1056
1048
  }
1057
1049
  let file_path = path.join(__dirname, "tmp", filename);
1058
1050
 
1059
- const media_url = await util.uploadMedia(file_path, "files");
1051
+ const media_url = await util.uploadMedia(file_path, settings.project_id, settings.token);
1060
1052
  winston.debug("(wab) media_url: " + media_url);
1061
1053
 
1062
1054
  tiledeskJsonMessage = await tlr.toTiledesk(whatsappChannelMessage, firstname, media_url);
@@ -1072,7 +1064,7 @@ router.post("/webhook/:project_id", async (req, res) => {
1072
1064
  }
1073
1065
  let file_path = path.join(__dirname, "tmp", filename);
1074
1066
 
1075
- const media_url = await util.uploadMedia(file_path, "files");
1067
+ const media_url = await util.uploadMedia(file_path, settings.project_id, settings.token);
1076
1068
  winston.debug("(wab) media_url: " + media_url);
1077
1069
 
1078
1070
  tiledeskJsonMessage = await tlr.toTiledesk(whatsappChannelMessage, firstname, media_url);
@@ -1088,7 +1080,7 @@ router.post("/webhook/:project_id", async (req, res) => {
1088
1080
  }
1089
1081
  let file_path = path.join(__dirname, "tmp", filename);
1090
1082
 
1091
- const media_url = await util.uploadMedia(file_path, "files");
1083
+ const media_url = await util.uploadMedia(file_path, settings.project_id, settings.token);
1092
1084
  winston.debug("(wab) media_url: " + media_url);
1093
1085
 
1094
1086
  tiledeskJsonMessage = await tlr.toTiledesk(whatsappChannelMessage, firstname, media_url);
@@ -1482,8 +1474,7 @@ router.get("/direct/tiledesk", async (req, res) => {
1482
1474
  const twClient = new TiledeskWhatsapp({
1483
1475
  token: settings.wab_token,
1484
1476
  GRAPH_URL: GRAPH_URL,
1485
- API_URL: API_URL,
1486
- BASE_FILE_URL: BASE_FILE_URL,
1477
+ API_URL: API_URL
1487
1478
  });
1488
1479
 
1489
1480
  let whatsappJsonMessage = await tlr.toWhatsapp(
@@ -1538,8 +1529,7 @@ router.post("/tiledesk/broadcast", async (req, res) => {
1538
1529
  const twClient = new TiledeskWhatsapp({
1539
1530
  token: settings.wab_token,
1540
1531
  GRAPH_URL: GRAPH_URL,
1541
- API_URL: API_URL,
1542
- BASE_FILE_URL: BASE_FILE_URL,
1532
+ API_URL: API_URL
1543
1533
  });
1544
1534
 
1545
1535
  let response = await tm.getTemplates();
@@ -1619,14 +1609,6 @@ async function startApp(settings, callback) {
1619
1609
  winston.info("(wab) API_URL: " + API_URL);
1620
1610
  }
1621
1611
 
1622
- if (!settings.BASE_FILE_URL) {
1623
- winston.error("(wab) BASE_FILE_URL is mandatory. Exit...");
1624
- return callback("Missing parameter: BASE_FILE_URL");
1625
- } else {
1626
- BASE_FILE_URL = settings.BASE_FILE_URL;
1627
- winston.info("(wab) BASE_FILE_URL: " + BASE_FILE_URL);
1628
- }
1629
-
1630
1612
  if (!settings.BASE_URL) {
1631
1613
  winston.error("(wab) BASE_URL is mandatory. Exit...");
1632
1614
  return callback("Missing parameter: BASE_URL");
@@ -1743,7 +1725,6 @@ async function startApp(settings, callback) {
1743
1725
  DB: db,
1744
1726
  API_URL: API_URL,
1745
1727
  GRAPH_URL: GRAPH_URL,
1746
- BASE_FILE_URL: BASE_FILE_URL,
1747
1728
  AMQP_MANAGER_URL: AMQP_MANAGER_URL,
1748
1729
  JOB_TOPIC_EXCHANGE: JOB_TOPIC_EXCHANGE,
1749
1730
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiledesk/tiledesk-whatsapp-connector",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "Tiledesk Whatsapp connector",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/routes/api.js CHANGED
@@ -15,7 +15,6 @@ const Utils = require('../tiledesk/Utils');
15
15
  let db = null;
16
16
  let API_URL = null;
17
17
  let GRAPH_URL = null;
18
- let BASE_FILE_URL = null;
19
18
  let AMQP_MANAGER_URL = null;
20
19
  let JOB_TOPIC_EXCHANGE = null;
21
20
  let utils = null;
@@ -77,7 +76,11 @@ router.post('/customer/io', async (req, res) => {
77
76
  winston.debug("[ CUSTOMER.IO ] whatsappJsonMessage: ", JSON.stringify(whatsappJsonMessage, null, 2));
78
77
 
79
78
  if (whatsappJsonMessage) {
80
- const twClient = new TiledeskWhatsapp({ token: settings.wab_token, GRAPH_URL: GRAPH_URL, API_URL: API_URL, BASE_FILE_URL: BASE_FILE_URL });
79
+ const twClient = new TiledeskWhatsapp({
80
+ token: settings.wab_token,
81
+ GRAPH_URL: GRAPH_URL,
82
+ API_URL: API_URL
83
+ });
81
84
 
82
85
  twClient.sendMessage(phone_number_id, whatsappJsonMessage).then((response) => {
83
86
  winston.verbose("(wab) Message sent to WhatsApp! " + response.status + " " + response.statusText);
@@ -294,13 +297,6 @@ async function startRoute(settings, callback) {
294
297
  winston.info("(wab api) API_URL: " + API_URL);
295
298
  }
296
299
 
297
- if (!settings.BASE_FILE_URL) {
298
- winston.error("(wab api) BASE_FILE_URL is mandatory. Exit...");
299
- return callback('Missing parameter: BASE_FILE_URL');
300
- } else {
301
- BASE_FILE_URL = settings.BASE_FILE_URL;
302
- winston.info("(wab api) BASE_FILE_URL: " + BASE_FILE_URL);
303
- }
304
300
 
305
301
  if (!settings.AMQP_MANAGER_URL) {
306
302
  winston.error("(wab api) AMQP_MANAGER_URL is mandatory (?). Exit...");
@@ -36,15 +36,11 @@ class TiledeskWhatsapp {
36
36
  throw new Error('config.API_URL is mandatory');
37
37
  }
38
38
 
39
- if (!config.BASE_FILE_URL) {
40
- throw new Error('config.BASE_FILE_URL is mandatory')
41
- }
42
-
43
39
  // this.media = config.channelMedia;
44
40
  this.token = config.token;
45
41
  this.GRAPH_URL = config.GRAPH_URL
46
42
  this.api_url = config.API_URL;
47
- this.base_file_url = config.BASE_FILE_URL;
43
+
48
44
 
49
45
  this.log = false;
50
46
  if (config.log) {
@@ -147,8 +143,8 @@ class TiledeskWhatsapp {
147
143
  })
148
144
  }
149
145
 
150
- async uploadMedia(path, type) {
151
- let url = this.base_file_url + "/" + type + "/public/";
146
+ async uploadMedia(path, id_project, token) {
147
+ let url = `${this.api_url}/${id_project}/files/chat`;
152
148
  winston.debug("(wab) [TiledeskWhatsapp] Uploading file...");
153
149
 
154
150
  const form = new FormData();
@@ -157,22 +153,16 @@ class TiledeskWhatsapp {
157
153
  maxContentLength: Infinity,
158
154
  maxBodyLength: Infinity,
159
155
  header: {
160
- ...form.getHeaders()
156
+ ...form.getHeaders(),
157
+ 'Authorization': token
161
158
  }
162
159
  }
163
160
 
164
161
  return await axios.post(url, form, request_config).then((response) => {
165
162
 
166
163
  winston.debug("(wab) [TiledeskWhatsapp] upload response: ", response.data);
167
- if (type == "images") {
168
- //let image_url = "https://tiledesk-server-pre.herokuapp.com/images/?path=" + response.data.filename;
169
- let image_url = this.base_file_url + "/images/?path=" + response.data.filename;
170
- return image_url;
171
- } else {
172
- //let file_url = "https://tiledesk-server-pre.herokuapp.com/files/download?path=" + response.data.filename;
173
- let file_url = this.base_file_url + "/files/download?path=" + response.data.filename;
174
- return file_url;
175
- }
164
+ let file_url = this.api_url + "/files/download?path=" + response.data.filename;
165
+ return file_url;
176
166
 
177
167
  }).catch((err) => {
178
168
  if (err.response?.status === 413) {