@tiledesk/tiledesk-whatsapp-connector 0.1.9 → 0.1.10
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/index.js +16 -10
- package/package.json +1 -1
- package/test/test_translate_whatsapp.js +35 -35
- package/tiledesk/TiledeskWhatsappTranslator.js +19 -21
package/index.js
CHANGED
|
@@ -341,9 +341,9 @@ router.post('/tiledesk', async (req, res) => {
|
|
|
341
341
|
let phone_number_id = recipient_id.substring(recipient_id.lastIndexOf("wab-") + 4, recipient_id.lastIndexOf("-"));
|
|
342
342
|
console.log("(Tiledesk) phone_number_id: ", phone_number_id)
|
|
343
343
|
|
|
344
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
344
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
345
345
|
|
|
346
|
-
const whatsappJsonMessage = tlr.toWhatsapp(whatsapp_receiver);
|
|
346
|
+
const whatsappJsonMessage = tlr.toWhatsapp(tiledeskChannelMessage, whatsapp_receiver);
|
|
347
347
|
console.log("whatsappJsonMessage: ", whatsappJsonMessage);
|
|
348
348
|
|
|
349
349
|
if (whatsappJsonMessage) {
|
|
@@ -363,7 +363,7 @@ router.post('/tiledesk', async (req, res) => {
|
|
|
363
363
|
})
|
|
364
364
|
*/
|
|
365
365
|
} else {
|
|
366
|
-
console.error("Whatsapp Json Message is
|
|
366
|
+
console.error("Whatsapp Json Message is undefined!")
|
|
367
367
|
}
|
|
368
368
|
// richiamo toWhatsapp;
|
|
369
369
|
// sendMessage
|
|
@@ -393,9 +393,15 @@ router.post("/webhook/:project_id", async (req, res) => {
|
|
|
393
393
|
|
|
394
394
|
console.log("\n***Body: ", JSON.stringify(req.body, null, 2));
|
|
395
395
|
|
|
396
|
+
if (req.body.entry[0].changes[0].value.messages[0].type == "system") {
|
|
397
|
+
console.log("Skip system message")
|
|
398
|
+
res.sendStatus(200);
|
|
399
|
+
}
|
|
400
|
+
|
|
396
401
|
//let originalWhatsappMessage = req.body;
|
|
397
402
|
let whatsappChannelMessage = req.body.entry[0].changes[0].value.messages[0];
|
|
398
403
|
|
|
404
|
+
|
|
399
405
|
let firstname = req.body.entry[0].changes[0].value.contacts[0].profile.name;
|
|
400
406
|
console.log("(WAB) firstname: ", firstname)
|
|
401
407
|
|
|
@@ -424,16 +430,16 @@ router.post("/webhook/:project_id", async (req, res) => {
|
|
|
424
430
|
|
|
425
431
|
let tiledeskJsonMessage;
|
|
426
432
|
|
|
427
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
433
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
428
434
|
|
|
429
435
|
if ((whatsappChannelMessage.type == 'text')) {
|
|
430
436
|
console.log("message type text")
|
|
431
|
-
tiledeskJsonMessage = tlr.toTiledesk(firstname);
|
|
437
|
+
tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, firstname);
|
|
432
438
|
|
|
433
439
|
}
|
|
434
440
|
else if (whatsappChannelMessage.type == 'interactive') {
|
|
435
441
|
console.log("message type interactive")
|
|
436
|
-
tiledeskJsonMessage = tlr.toTiledesk(firstname);
|
|
442
|
+
tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, firstname);
|
|
437
443
|
|
|
438
444
|
}
|
|
439
445
|
else if ((whatsappChannelMessage.type == 'image') || (whatsappChannelMessage.type == 'video') || (whatsappChannelMessage.type == 'document')) {
|
|
@@ -450,7 +456,7 @@ router.post("/webhook/:project_id", async (req, res) => {
|
|
|
450
456
|
const image_url = await util.uploadMedia(filename, "images");
|
|
451
457
|
console.log("image_url: ", image_url)
|
|
452
458
|
|
|
453
|
-
tiledeskJsonMessage = tlr.toTiledesk(firstname, image_url);
|
|
459
|
+
tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, firstname, image_url);
|
|
454
460
|
|
|
455
461
|
}
|
|
456
462
|
|
|
@@ -463,7 +469,7 @@ router.post("/webhook/:project_id", async (req, res) => {
|
|
|
463
469
|
const media_url = await util.uploadMedia(filename, "files");
|
|
464
470
|
console.log("image_url: ", media_url)
|
|
465
471
|
|
|
466
|
-
tiledeskJsonMessage = tlr.toTiledesk(firstname, media_url);
|
|
472
|
+
tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, firstname, media_url);
|
|
467
473
|
}
|
|
468
474
|
|
|
469
475
|
if (whatsappChannelMessage.type == 'document') {
|
|
@@ -475,7 +481,7 @@ router.post("/webhook/:project_id", async (req, res) => {
|
|
|
475
481
|
const media_url = await util.uploadMedia(filename, "files");
|
|
476
482
|
console.log("image_url: ", media_url)
|
|
477
483
|
|
|
478
|
-
tiledeskJsonMessage = tlr.toTiledesk(firstname, media_url);
|
|
484
|
+
tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, firstname, media_url);
|
|
479
485
|
}
|
|
480
486
|
|
|
481
487
|
} else {
|
|
@@ -493,7 +499,7 @@ router.post("/webhook/:project_id", async (req, res) => {
|
|
|
493
499
|
}
|
|
494
500
|
|
|
495
501
|
}
|
|
496
|
-
res.sendStatus(200);
|
|
502
|
+
res.sendStatus(200);
|
|
497
503
|
} else {
|
|
498
504
|
// Return a '404 Not Found' if event is not from a WhatsApp API
|
|
499
505
|
res.sendStatus(404);
|
package/package.json
CHANGED
|
@@ -10,16 +10,16 @@ describe('Test Translator\n', function() {
|
|
|
10
10
|
it("Translates a TEXT message from Tiledesk to Whatsapp", function() {
|
|
11
11
|
let tiledeskChannelMessage = {
|
|
12
12
|
text: 'Test Message',
|
|
13
|
-
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-
|
|
13
|
+
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-wab-104777398965560-393484506627',
|
|
14
14
|
attributes: {
|
|
15
15
|
userFullname: 'John Doe'
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
let whatsapp_receiver = tiledeskChannelMessage.recipient.substring(tiledeskChannelMessage.recipient.lastIndexOf("tel") + 1)
|
|
19
19
|
|
|
20
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
20
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
21
21
|
assert(tlr != null);
|
|
22
|
-
const whatsappJsonMessage = tlr.toWhatsapp(whatsapp_receiver);
|
|
22
|
+
const whatsappJsonMessage = tlr.toWhatsapp(tiledeskChannelMessage, whatsapp_receiver);
|
|
23
23
|
assert(whatsappJsonMessage != null);
|
|
24
24
|
assert(whatsappJsonMessage.messaging_product === TiledeskWhatsappTranslator.WHATSAPP_MESSAGING_PRODUCT);
|
|
25
25
|
assert(whatsappJsonMessage.to === whatsapp_receiver);
|
|
@@ -36,7 +36,7 @@ describe('Test Translator\n', function() {
|
|
|
36
36
|
let tiledeskChannelMessage = {
|
|
37
37
|
text: 'Image Caption', // can be empty --> ""
|
|
38
38
|
type: 'image',
|
|
39
|
-
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-
|
|
39
|
+
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-wab-104777398965560-393484506627',
|
|
40
40
|
metadata: {
|
|
41
41
|
src: 'https://fakeimageurl.com/',
|
|
42
42
|
},
|
|
@@ -46,9 +46,9 @@ describe('Test Translator\n', function() {
|
|
|
46
46
|
}
|
|
47
47
|
let whatsapp_receiver = tiledeskChannelMessage.recipient.substring(tiledeskChannelMessage.recipient.lastIndexOf("tel") + 3)
|
|
48
48
|
|
|
49
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
49
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
50
50
|
assert(tlr != null);
|
|
51
|
-
const whatsappJsonMessage = tlr.toWhatsapp(whatsapp_receiver);
|
|
51
|
+
const whatsappJsonMessage = tlr.toWhatsapp(tiledeskChannelMessage, whatsapp_receiver);
|
|
52
52
|
assert(whatsappJsonMessage != null);
|
|
53
53
|
assert(whatsappJsonMessage.messaging_product === TiledeskWhatsappTranslator.WHATSAPP_MESSAGING_PRODUCT);
|
|
54
54
|
assert(whatsappJsonMessage.to === whatsapp_receiver);
|
|
@@ -67,7 +67,7 @@ describe('Test Translator\n', function() {
|
|
|
67
67
|
let tiledeskChannelMessage = {
|
|
68
68
|
text: 'Video Caption', // can be empty --> ""
|
|
69
69
|
type: 'video',
|
|
70
|
-
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-
|
|
70
|
+
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-wab-104777398965560-393484506627',
|
|
71
71
|
metadata: {
|
|
72
72
|
src: 'https://fakevideourl.com/'
|
|
73
73
|
},
|
|
@@ -77,9 +77,9 @@ describe('Test Translator\n', function() {
|
|
|
77
77
|
}
|
|
78
78
|
let whatsapp_receiver = tiledeskChannelMessage.recipient.substring(tiledeskChannelMessage.recipient.lastIndexOf("tel") + 3)
|
|
79
79
|
|
|
80
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
80
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
81
81
|
assert(tlr != null);
|
|
82
|
-
const whatsappJsonMessage = tlr.toWhatsapp(whatsapp_receiver);
|
|
82
|
+
const whatsappJsonMessage = tlr.toWhatsapp(tiledeskChannelMessage, whatsapp_receiver);
|
|
83
83
|
assert(whatsappJsonMessage != null);
|
|
84
84
|
assert(whatsappJsonMessage.messaging_product === TiledeskWhatsappTranslator.WHATSAPP_MESSAGING_PRODUCT);
|
|
85
85
|
assert(whatsappJsonMessage.to === whatsapp_receiver);
|
|
@@ -98,7 +98,7 @@ describe('Test Translator\n', function() {
|
|
|
98
98
|
let tiledeskChannelMessage = {
|
|
99
99
|
text: 'Document Caption', // can be empty --> ""
|
|
100
100
|
type: 'application',
|
|
101
|
-
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-
|
|
101
|
+
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-wab-104777398965560-393484506627',
|
|
102
102
|
metadata: {
|
|
103
103
|
src: 'https://fakedocumenturl.com/'
|
|
104
104
|
},
|
|
@@ -108,9 +108,9 @@ describe('Test Translator\n', function() {
|
|
|
108
108
|
}
|
|
109
109
|
let whatsapp_receiver = tiledeskChannelMessage.recipient.substring(tiledeskChannelMessage.recipient.lastIndexOf("tel") + 3)
|
|
110
110
|
|
|
111
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
111
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
112
112
|
assert(tlr != null);
|
|
113
|
-
const whatsappJsonMessage = tlr.toWhatsapp(whatsapp_receiver);
|
|
113
|
+
const whatsappJsonMessage = tlr.toWhatsapp(tiledeskChannelMessage, whatsapp_receiver);
|
|
114
114
|
assert(whatsappJsonMessage != null);
|
|
115
115
|
assert(whatsappJsonMessage.messaging_product === TiledeskWhatsappTranslator.WHATSAPP_MESSAGING_PRODUCT);
|
|
116
116
|
assert(whatsappJsonMessage.to === whatsapp_receiver);
|
|
@@ -128,7 +128,7 @@ describe('Test Translator\n', function() {
|
|
|
128
128
|
|
|
129
129
|
let tiledeskChannelMessage = {
|
|
130
130
|
text: 'Test Message',
|
|
131
|
-
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-
|
|
131
|
+
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-wab-104777398965560-393484506627',
|
|
132
132
|
attributes: {
|
|
133
133
|
attachment: {
|
|
134
134
|
buttons: [
|
|
@@ -141,9 +141,9 @@ describe('Test Translator\n', function() {
|
|
|
141
141
|
}
|
|
142
142
|
let whatsapp_receiver = tiledeskChannelMessage.recipient.substring(tiledeskChannelMessage.recipient.lastIndexOf("tel") + 3)
|
|
143
143
|
|
|
144
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
144
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
145
145
|
assert(tlr != null);
|
|
146
|
-
const whatsappJsonMessage = tlr.toWhatsapp(whatsapp_receiver);
|
|
146
|
+
const whatsappJsonMessage = tlr.toWhatsapp(tiledeskChannelMessage, whatsapp_receiver);
|
|
147
147
|
assert(whatsappJsonMessage != null);
|
|
148
148
|
assert(whatsappJsonMessage.messaging_product === TiledeskWhatsappTranslator.WHATSAPP_MESSAGING_PRODUCT);
|
|
149
149
|
assert(!whatsappJsonMessage.text);
|
|
@@ -166,7 +166,7 @@ describe('Test Translator\n', function() {
|
|
|
166
166
|
|
|
167
167
|
let tiledeskChannelMessage = {
|
|
168
168
|
text: 'Test Message',
|
|
169
|
-
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-
|
|
169
|
+
recipient: 'support-group-62c3f10152dc7400352bab0d-86a2293e-wab-104777398965560-393484506627',
|
|
170
170
|
attributes: {
|
|
171
171
|
attachment: {
|
|
172
172
|
buttons: [
|
|
@@ -179,11 +179,11 @@ describe('Test Translator\n', function() {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
let whatsapp_receiver = tiledeskChannelMessage.recipient.substring(tiledeskChannelMessage.recipient.lastIndexOf("
|
|
182
|
+
let whatsapp_receiver = tiledeskChannelMessage.recipient.substring(tiledeskChannelMessage.recipient.lastIndexOf("-") + 1)
|
|
183
183
|
|
|
184
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
184
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
185
185
|
assert(tlr != null);
|
|
186
|
-
const whatsappJsonMessage = tlr.toWhatsapp(whatsapp_receiver);
|
|
186
|
+
const whatsappJsonMessage = tlr.toWhatsapp(tiledeskChannelMessage, whatsapp_receiver);
|
|
187
187
|
assert(whatsappJsonMessage != null);
|
|
188
188
|
assert(whatsappJsonMessage.messaging_product === TiledeskWhatsappTranslator.WHATSAPP_MESSAGING_PRODUCT);
|
|
189
189
|
assert(!whatsappJsonMessage.text);
|
|
@@ -214,9 +214,9 @@ describe('Test Translator\n', function() {
|
|
|
214
214
|
}
|
|
215
215
|
let fullname = "John Doe"; // from whatsapp contacts
|
|
216
216
|
|
|
217
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
217
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
218
218
|
assert(tlr != null);
|
|
219
|
-
const tiledeskJsonMessage = tlr.toTiledesk(fullname, null)
|
|
219
|
+
const tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, fullname, null)
|
|
220
220
|
assert(tiledeskJsonMessage != null);
|
|
221
221
|
assert(tiledeskJsonMessage.channel.name === TiledeskWhatsappTranslator.CHANNEL_NAME);
|
|
222
222
|
assert(tiledeskJsonMessage.text === whatsappChannelMessage.text.body);
|
|
@@ -241,9 +241,9 @@ describe('Test Translator\n', function() {
|
|
|
241
241
|
}
|
|
242
242
|
let fullname = "John Doe"; // from whatsapp contacts
|
|
243
243
|
|
|
244
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
244
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
245
245
|
assert(tlr != null);
|
|
246
|
-
const tiledeskJsonMessage = tlr.toTiledesk(fullname, null)
|
|
246
|
+
const tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, fullname, null)
|
|
247
247
|
assert(tiledeskJsonMessage != null);
|
|
248
248
|
assert(tiledeskJsonMessage.channel.name === TiledeskWhatsappTranslator.CHANNEL_NAME);
|
|
249
249
|
assert(tiledeskJsonMessage.text === whatsappChannelMessage.interactive.list_reply.title);
|
|
@@ -268,9 +268,9 @@ describe('Test Translator\n', function() {
|
|
|
268
268
|
}
|
|
269
269
|
let fullname = "John Doe"; // from whatsapp contacts
|
|
270
270
|
|
|
271
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
271
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
272
272
|
assert(tlr != null);
|
|
273
|
-
const tiledeskJsonMessage = tlr.toTiledesk(fullname, null)
|
|
273
|
+
const tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, fullname, null)
|
|
274
274
|
assert(tiledeskJsonMessage != null);
|
|
275
275
|
assert(tiledeskJsonMessage.channel.name === TiledeskWhatsappTranslator.CHANNEL_NAME);
|
|
276
276
|
assert(tiledeskJsonMessage.text === ' ');
|
|
@@ -303,9 +303,9 @@ describe('Test Translator\n', function() {
|
|
|
303
303
|
}
|
|
304
304
|
let fullname = "John Doe"; // from whatsapp contacts
|
|
305
305
|
|
|
306
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
306
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
307
307
|
assert(tlr != null);
|
|
308
|
-
const tiledeskJsonMessage = tlr.toTiledesk(fullname, null)
|
|
308
|
+
const tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, fullname, null)
|
|
309
309
|
assert(tiledeskJsonMessage != null);
|
|
310
310
|
assert(tiledeskJsonMessage.channel.name === TiledeskWhatsappTranslator.CHANNEL_NAME);
|
|
311
311
|
assert(tiledeskJsonMessage.text === whatsappChannelMessage.interactive.button_reply.title);
|
|
@@ -330,9 +330,9 @@ describe('Test Translator\n', function() {
|
|
|
330
330
|
}
|
|
331
331
|
let fullname = "John Doe"; // from whatsapp contacts
|
|
332
332
|
|
|
333
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
333
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
334
334
|
assert(tlr != null);
|
|
335
|
-
const tiledeskJsonMessage = tlr.toTiledesk(fullname, null)
|
|
335
|
+
const tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, fullname, null)
|
|
336
336
|
assert(tiledeskJsonMessage != null);
|
|
337
337
|
assert(tiledeskJsonMessage.channel.name === TiledeskWhatsappTranslator.CHANNEL_NAME);
|
|
338
338
|
assert(tiledeskJsonMessage.text === ' ');
|
|
@@ -359,9 +359,9 @@ describe('Test Translator\n', function() {
|
|
|
359
359
|
let fullname = "John Doe";
|
|
360
360
|
let media_url = "https://fakeimageurl.com/"
|
|
361
361
|
|
|
362
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
362
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
363
363
|
assert(tlr != null);
|
|
364
|
-
const tiledeskJsonMessage = tlr.toTiledesk(fullname, media_url);
|
|
364
|
+
const tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, fullname, media_url);
|
|
365
365
|
assert(tiledeskJsonMessage != null);
|
|
366
366
|
if (log) {
|
|
367
367
|
console.log("(test) tiledeskJsonMessage: ", tiledeskJsonMessage);
|
|
@@ -379,9 +379,9 @@ describe('Test Translator\n', function() {
|
|
|
379
379
|
let fullname = "John Doe";
|
|
380
380
|
let media_url = "https://fakeimageurl.com/"
|
|
381
381
|
|
|
382
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
382
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
383
383
|
assert(tlr != null);
|
|
384
|
-
const tiledeskJsonMessage = tlr.toTiledesk(fullname, media_url);
|
|
384
|
+
const tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, fullname, media_url);
|
|
385
385
|
assert(tiledeskJsonMessage != null);
|
|
386
386
|
if (log) {
|
|
387
387
|
console.log("(test) tiledeskJsonMessage: ", tiledeskJsonMessage);
|
|
@@ -399,9 +399,9 @@ describe('Test Translator\n', function() {
|
|
|
399
399
|
let fullname = "John Doe";
|
|
400
400
|
let media_url = "https://fakedocumenturl.com/"
|
|
401
401
|
|
|
402
|
-
const tlr = new TiledeskWhatsappTranslator(
|
|
402
|
+
const tlr = new TiledeskWhatsappTranslator();
|
|
403
403
|
assert(tlr != null);
|
|
404
|
-
const tiledeskJsonMessage = tlr.toTiledesk(fullname, media_url);
|
|
404
|
+
const tiledeskJsonMessage = tlr.toTiledesk(whatsappChannelMessage, fullname, media_url);
|
|
405
405
|
assert(tiledeskJsonMessage != null);
|
|
406
406
|
if (log) {
|
|
407
407
|
console.log("(test) tiledeskJsonMessage: ", tiledeskJsonMessage);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
class TiledeskWhatsappTranslator {
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -6,20 +5,16 @@ class TiledeskWhatsappTranslator {
|
|
|
6
5
|
*
|
|
7
6
|
* @example
|
|
8
7
|
* const { TiledeskWhatsappTranslator } = require('tiledesk-whatsapp-translator');
|
|
9
|
-
* const tlr = new TiledeskWhatsappTranslator(
|
|
8
|
+
* const tlr = new TiledeskWhatsappTranslator();
|
|
10
9
|
*
|
|
11
10
|
* @param {Object} config JSON configuration.
|
|
12
|
-
* @param {string} config.channelMessage Mandatory. Tiledesk channel native message
|
|
13
|
-
* @param {boolean} options.log Optional. If true HTTP requests are logged.
|
|
14
11
|
*/
|
|
15
12
|
|
|
16
13
|
static WHATSAPP_MESSAGING_PRODUCT = "whatsapp";
|
|
17
|
-
static CHANNEL_NAME = "whatsapp"
|
|
14
|
+
static CHANNEL_NAME = "whatsapp";
|
|
18
15
|
|
|
19
|
-
constructor(
|
|
20
|
-
|
|
21
|
-
throw new Error('config is mandatory');
|
|
22
|
-
}
|
|
16
|
+
constructor() {
|
|
17
|
+
|
|
23
18
|
|
|
24
19
|
/*
|
|
25
20
|
if (!config.tiledeskChannelMessage) {
|
|
@@ -28,15 +23,9 @@ class TiledeskWhatsappTranslator {
|
|
|
28
23
|
this.tiledeskChannelMessage = config.tiledeskChannelMessage;
|
|
29
24
|
console.log("this.tiledeskChannelMessage: ", this.tiledeskChannelMessage);
|
|
30
25
|
*/
|
|
31
|
-
|
|
32
|
-
if (!config.channelMessage) {
|
|
33
|
-
throw new Error('config.channelMessage is mandatory');
|
|
34
|
-
}
|
|
35
|
-
this.channelMessage = config.channelMessage;
|
|
26
|
+
|
|
36
27
|
this.log = true;
|
|
37
|
-
|
|
38
|
-
this.log = true;
|
|
39
|
-
}
|
|
28
|
+
|
|
40
29
|
|
|
41
30
|
}
|
|
42
31
|
|
|
@@ -46,11 +35,21 @@ class TiledeskWhatsappTranslator {
|
|
|
46
35
|
********* WHATSAPP BUSINESS *********
|
|
47
36
|
*************************************
|
|
48
37
|
*/
|
|
49
|
-
|
|
38
|
+
|
|
39
|
+
/** Returns a Whatsapp messagem new request ID for the specified Project.<br>
|
|
40
|
+
* A request's ID has the format:<br>
|
|
41
|
+
* <br>
|
|
42
|
+
* <i>support-group-PROJECT_ID-UNIQUE_ID</i><br>
|
|
43
|
+
* <br>
|
|
44
|
+
* <i>UNIQUE_ID</i> MUST be unique in your Project. <b>This method always returns an <i>UUID</i> for the <i>UNIQUE_ID</i> component</b>.
|
|
45
|
+
*
|
|
46
|
+
* @param {Object} tiledeskChannelMessage - The message in Tiledesk format.
|
|
47
|
+
* @param {string} whatsapp_receiver - The Whatsapp recipient fo the message.
|
|
48
|
+
*/
|
|
49
|
+
toWhatsapp(tiledeskChannelMessage, whatsapp_receiver) {
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
// to --> recipient
|
|
53
|
-
let tiledeskChannelMessage = this.channelMessage;
|
|
54
53
|
if (this.log) {
|
|
55
54
|
console.log("[Translator] tiledesk message: ", tiledeskChannelMessage)
|
|
56
55
|
}
|
|
@@ -287,9 +286,8 @@ class TiledeskWhatsappTranslator {
|
|
|
287
286
|
}
|
|
288
287
|
}
|
|
289
288
|
|
|
290
|
-
toTiledesk(from, media_url) {
|
|
289
|
+
toTiledesk(whatsappChannelMessage, from, media_url) {
|
|
291
290
|
|
|
292
|
-
let whatsappChannelMessage = this.channelMessage;
|
|
293
291
|
if (this.log) {
|
|
294
292
|
console.log("[Translator] whatsapp message: ", whatsappChannelMessage)
|
|
295
293
|
}
|