n8n-nodes-digitalsac 0.2.5 → 0.2.7

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.
@@ -51,6 +51,42 @@ class Digitalsac {
51
51
  },
52
52
  description: 'Número, CPF ou UUID da mensagem (conforme operação)',
53
53
  },
54
+ {
55
+ displayName: 'Corpo da Mensagem',
56
+ name: 'messageBody',
57
+ type: 'string',
58
+ default: 'Mensagem de teste',
59
+ displayOptions: {
60
+ show: {
61
+ operation: ['sendMessage'],
62
+ },
63
+ },
64
+ description: 'Texto da mensagem a ser enviada',
65
+ },
66
+ {
67
+ displayName: 'Número de Telefone',
68
+ name: 'phoneNumber',
69
+ type: 'string',
70
+ default: '5511999999999',
71
+ displayOptions: {
72
+ show: {
73
+ operation: ['sendMessage'],
74
+ },
75
+ },
76
+ description: 'Número de telefone no formato DDI+DDD+Número (ex: 5511999999999)',
77
+ },
78
+ {
79
+ displayName: 'Chave Externa',
80
+ name: 'externalKey',
81
+ type: 'string',
82
+ default: 'Digitalsac123',
83
+ displayOptions: {
84
+ show: {
85
+ operation: ['sendMessage'],
86
+ },
87
+ },
88
+ description: 'Identificador único opcional para a mensagem',
89
+ },
54
90
  {
55
91
  displayName: 'Dados (JSON)',
56
92
  name: 'bodyData',
@@ -58,7 +94,7 @@ class Digitalsac {
58
94
  default: '{"body": "Mensagem de teste", "number": "5511999999999", "externalKey": "chave123"}',
59
95
  displayOptions: {
60
96
  show: {
61
- operation: ['validateDate', 'transferQueue', 'transferAgent', 'closeTicket', 'sendMessage'],
97
+ operation: ['validateDate', 'transferQueue', 'transferAgent', 'closeTicket'],
62
98
  },
63
99
  },
64
100
  description: 'Dados no formato JSON',
@@ -172,21 +208,21 @@ class Digitalsac {
172
208
  case 'sendMessage':
173
209
  url = `/v1/api/external/${param}`;
174
210
  method = 'POST';
175
- try {
176
- // Obter o JSON como string e converter para objeto
177
- const bodyDataStr = this.getNodeParameter('bodyData', i);
178
- // Remover espaços extras e quebras de linha
179
- const cleanJson = bodyDataStr.replace(/\s+/g, ' ').trim();
180
- body = JSON.parse(cleanJson);
181
- }
182
- catch (e) {
183
- throw new Error('Formato de JSON inválido para Dados (JSON)');
184
- }
211
+ // Usar campos separados em vez de JSON
212
+ const messageBody = this.getNodeParameter('messageBody', i);
213
+ const phoneNumber = this.getNodeParameter('phoneNumber', i);
214
+ const externalKey = this.getNodeParameter('externalKey', i);
215
+ // Criar o objeto diretamente
216
+ body = {
217
+ body: messageBody,
218
+ number: phoneNumber,
219
+ externalKey: externalKey
220
+ };
185
221
  headers['Content-Type'] = 'application/json';
186
222
  options = {
187
223
  method,
188
224
  headers,
189
- body, // Enviar o objeto diretamente, sem JSON.stringify
225
+ body,
190
226
  uri: `${baseUrl}${url}`,
191
227
  json: true,
192
228
  };
@@ -56,6 +56,42 @@ export class Digitalsac implements INodeType {
56
56
  },
57
57
  description: 'Número, CPF ou UUID da mensagem (conforme operação)',
58
58
  },
59
+ {
60
+ displayName: 'Corpo da Mensagem',
61
+ name: 'messageBody',
62
+ type: 'string',
63
+ default: 'Mensagem de teste',
64
+ displayOptions: {
65
+ show: {
66
+ operation: ['sendMessage'],
67
+ },
68
+ },
69
+ description: 'Texto da mensagem a ser enviada',
70
+ },
71
+ {
72
+ displayName: 'Número de Telefone',
73
+ name: 'phoneNumber',
74
+ type: 'string',
75
+ default: '5511999999999',
76
+ displayOptions: {
77
+ show: {
78
+ operation: ['sendMessage'],
79
+ },
80
+ },
81
+ description: 'Número de telefone no formato DDI+DDD+Número (ex: 5511999999999)',
82
+ },
83
+ {
84
+ displayName: 'Chave Externa',
85
+ name: 'externalKey',
86
+ type: 'string',
87
+ default: 'Digitalsac123',
88
+ displayOptions: {
89
+ show: {
90
+ operation: ['sendMessage'],
91
+ },
92
+ },
93
+ description: 'Identificador único opcional para a mensagem',
94
+ },
59
95
  {
60
96
  displayName: 'Dados (JSON)',
61
97
  name: 'bodyData',
@@ -63,7 +99,7 @@ export class Digitalsac implements INodeType {
63
99
  default: '{"body": "Mensagem de teste", "number": "5511999999999", "externalKey": "chave123"}',
64
100
  displayOptions: {
65
101
  show: {
66
- operation: ['validateDate', 'transferQueue', 'transferAgent', 'closeTicket', 'sendMessage'],
102
+ operation: ['validateDate', 'transferQueue', 'transferAgent', 'closeTicket'],
67
103
  },
68
104
  },
69
105
  description: 'Dados no formato JSON',
@@ -178,21 +214,24 @@ export class Digitalsac implements INodeType {
178
214
  case 'sendMessage':
179
215
  url = `/v1/api/external/${param}`;
180
216
  method = 'POST';
181
- try {
182
- // Obter o JSON como string e converter para objeto
183
- const bodyDataStr = this.getNodeParameter('bodyData', i) as string;
184
- // Remover espaços extras e quebras de linha
185
- const cleanJson = bodyDataStr.replace(/\s+/g, ' ').trim();
186
- body = JSON.parse(cleanJson);
187
- } catch (e) {
188
- throw new Error('Formato de JSON inválido para Dados (JSON)');
189
- }
217
+
218
+ // Usar campos separados em vez de JSON
219
+ const messageBody = this.getNodeParameter('messageBody', i) as string;
220
+ const phoneNumber = this.getNodeParameter('phoneNumber', i) as string;
221
+ const externalKey = this.getNodeParameter('externalKey', i) as string;
222
+
223
+ // Criar o objeto diretamente
224
+ body = {
225
+ body: messageBody,
226
+ number: phoneNumber,
227
+ externalKey: externalKey
228
+ };
190
229
 
191
230
  headers['Content-Type'] = 'application/json';
192
231
  options = {
193
232
  method,
194
233
  headers,
195
- body, // Enviar o objeto diretamente, sem JSON.stringify
234
+ body,
196
235
  uri: `${baseUrl}${url}`,
197
236
  json: true,
198
237
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-digitalsac",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Izing Pro Digitalsac",
5
5
  "keywords": [
6
6
  "n8n",