@growsalesai/n8n-nodes-datacrazy 1.9.12 → 2.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"whatsappTemplate.handler.d.ts","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/resources/whatsappTemplates/whatsappTemplate.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAe,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAqB/D,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,iBAAiB,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,GAAG,CAAC,CA8Cd"}
1
+ {"version":3,"file":"whatsappTemplate.handler.d.ts","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/resources/whatsappTemplates/whatsappTemplate.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAe,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAY/D,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,iBAAiB,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,GAAG,CAAC,CAoEd"}
@@ -5,18 +5,10 @@ const request_1 = require("../../utils/request");
5
5
  const BASE_PATH = '/api/messaging/whatsapp-cloud/templates';
6
6
  function extractBodyText(template) {
7
7
  var _a, _b, _c, _d, _e;
8
- // tenta body.text, depois components[type=BODY].text
9
8
  return ((_e = (_b = (_a = template === null || template === void 0 ? void 0 : template.body) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : (_d = (_c = template === null || template === void 0 ? void 0 : template.components) === null || _c === void 0 ? void 0 : _c.find((c) => c.type === 'BODY')) === null || _d === void 0 ? void 0 : _d.text) !== null && _e !== void 0 ? _e : '');
10
9
  }
11
- function substituteVariables(text, values) {
12
- let result = text;
13
- values.forEach((val, idx) => {
14
- result = result.replace(new RegExp(`\\{\\{${idx + 1}\\}\\}`, 'g'), val);
15
- });
16
- return result;
17
- }
18
10
  async function executeWhatsappTemplate(operation, baseUrl, i) {
19
- var _a, _b, _c;
11
+ var _a, _b, _c, _d, _e, _f;
20
12
  if (operation === 'listTemplates') {
21
13
  const channelId = this.getNodeParameter('channelId', i, '', { extractValue: true });
22
14
  const take = this.getNodeParameter('take', i, 100);
@@ -35,25 +27,45 @@ async function executeWhatsappTemplate(operation, baseUrl, i) {
35
27
  if (!template) {
36
28
  throw new Error(`Template "${templateId}" não encontrado no canal "${channelId}". Verifique o Canal selecionado.`);
37
29
  }
38
- // substitui {{1}}, {{2}}... client-side para não depender da lógica server-side
39
- const rawBodyText = extractBodyText(template);
40
- const resolvedBodyText = substituteVariables(rawBodyText, variableValues);
41
- const body = {
42
- conversationId,
43
- template: {
44
- id: template.id,
45
- name: template.name,
46
- language: template.language,
47
- status: template.status,
48
- templateId: template.templateId,
49
- category: template.category,
50
- body: {
51
- text: resolvedBodyText,
52
- parameters: [],
53
- },
54
- },
30
+ const bodyText = extractBodyText(template);
31
+ // definições de parâmetros que vêm do template (com name/example de cada variável)
32
+ const templateParamDefs = ((_e = (_d = template === null || template === void 0 ? void 0 : template.body) === null || _d === void 0 ? void 0 : _d.parameters) !== null && _e !== void 0 ? _e : []);
33
+ // monta cada parâmetro mesclando a definição do template com o valor fornecido pelo usuário
34
+ const parameters = variableValues.map((val, idx) => {
35
+ var _a, _b, _c, _d, _e;
36
+ const def = templateParamDefs[idx];
37
+ return {
38
+ name: (_b = (_a = def === null || def === void 0 ? void 0 : def.name) !== null && _a !== void 0 ? _a : def === null || def === void 0 ? void 0 : def.example) !== null && _b !== void 0 ? _b : val,
39
+ parameter_name: (_c = def === null || def === void 0 ? void 0 : def.parameter_name) !== null && _c !== void 0 ? _c : '',
40
+ value: val,
41
+ example: (_e = (_d = def === null || def === void 0 ? void 0 : def.example) !== null && _d !== void 0 ? _d : def === null || def === void 0 ? void 0 : def.name) !== null && _e !== void 0 ? _e : val,
42
+ type: 'text',
43
+ };
44
+ });
45
+ const templatePayload = {
46
+ id: template.id,
47
+ name: template.name,
48
+ language: template.language,
49
+ status: template.status,
50
+ templateId: template.templateId,
51
+ category: template.category,
52
+ parameter_format: (_f = template.parameter_format) !== null && _f !== void 0 ? _f : 'positional',
55
53
  };
56
- return request_1.makeRequest.call(this, baseUrl, 'POST', `${BASE_PATH}/send`, body);
54
+ // inclui body apenas se tiver texto — texto vazio faz o WhatsApp rejeitar
55
+ if (bodyText) {
56
+ templatePayload.body = {
57
+ text: bodyText, // texto original com {{1}}, {{2}} — Datacrazy substitui server-side
58
+ parameters,
59
+ };
60
+ }
61
+ // inclui botões do template se existirem
62
+ if (template.buttons && template.buttons.length > 0) {
63
+ templatePayload.buttons = template.buttons;
64
+ }
65
+ return request_1.makeRequest.call(this, baseUrl, 'POST', `${BASE_PATH}/send`, {
66
+ conversationId,
67
+ template: templatePayload,
68
+ });
57
69
  }
58
70
  }
59
71
  //# sourceMappingURL=whatsappTemplate.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsappTemplate.handler.js","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/resources/whatsappTemplates/whatsappTemplate.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsappTemplate.handler.js","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/resources/whatsappTemplates/whatsappTemplate.handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@growsalesai/n8n-nodes-datacrazy",
3
- "version": "1.9.12",
3
+ "version": "2.0.1",
4
4
  "description": "n8n community node para o Datacrazy CRM - Growsales IA",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",