@growsalesai/n8n-nodes-datacrazy 1.3.1 → 1.4.0

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.
Files changed (24) hide show
  1. package/dist/index.d.ts +0 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/nodes/Datacrazy/DatacrazyReplyCheck.node.d.ts +6 -0
  6. package/dist/nodes/Datacrazy/DatacrazyReplyCheck.node.d.ts.map +1 -0
  7. package/dist/nodes/Datacrazy/DatacrazyReplyCheck.node.js +30 -0
  8. package/dist/nodes/Datacrazy/DatacrazyReplyCheck.node.js.map +1 -0
  9. package/dist/nodes/Datacrazy/DatacrazyUtils.node.d.ts +4 -1
  10. package/dist/nodes/Datacrazy/DatacrazyUtils.node.d.ts.map +1 -1
  11. package/dist/nodes/Datacrazy/DatacrazyUtils.node.js +71 -6
  12. package/dist/nodes/Datacrazy/DatacrazyUtils.node.js.map +1 -1
  13. package/dist/nodes/Datacrazy/descriptions/utils/MessageTypeSwitchDescription.d.ts.map +1 -1
  14. package/dist/nodes/Datacrazy/descriptions/utils/MessageTypeSwitchDescription.js +2 -1
  15. package/dist/nodes/Datacrazy/descriptions/utils/MessageTypeSwitchDescription.js.map +1 -1
  16. package/dist/nodes/Datacrazy/descriptions/utils/ReplyCheckerDescription.d.ts +3 -0
  17. package/dist/nodes/Datacrazy/descriptions/utils/ReplyCheckerDescription.d.ts.map +1 -0
  18. package/dist/nodes/Datacrazy/descriptions/utils/ReplyCheckerDescription.js +58 -0
  19. package/dist/nodes/Datacrazy/descriptions/utils/ReplyCheckerDescription.js.map +1 -0
  20. package/dist/nodes/Datacrazy/handlers/utils/replyChecker.handler.d.ts +3 -0
  21. package/dist/nodes/Datacrazy/handlers/utils/replyChecker.handler.d.ts.map +1 -0
  22. package/dist/nodes/Datacrazy/handlers/utils/replyChecker.handler.js +74 -0
  23. package/dist/nodes/Datacrazy/handlers/utils/replyChecker.handler.js.map +1 -0
  24. package/package.json +2 -3
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export { DatacrazyApi } from './credentials/DatacrazyApi.credentials';
2
2
  export { Datacrazy } from './nodes/Datacrazy/Datacrazy.node';
3
3
  export { DatacrazyUtils } from './nodes/Datacrazy/DatacrazyUtils.node';
4
- export { DatacrazyMsgSwitch } from './nodes/Datacrazy/DatacrazyMsgSwitch.node';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DatacrazyMsgSwitch = exports.DatacrazyUtils = exports.Datacrazy = exports.DatacrazyApi = void 0;
3
+ exports.DatacrazyUtils = exports.Datacrazy = exports.DatacrazyApi = void 0;
4
4
  var DatacrazyApi_credentials_1 = require("./credentials/DatacrazyApi.credentials");
5
5
  Object.defineProperty(exports, "DatacrazyApi", { enumerable: true, get: function () { return DatacrazyApi_credentials_1.DatacrazyApi; } });
6
6
  var Datacrazy_node_1 = require("./nodes/Datacrazy/Datacrazy.node");
7
7
  Object.defineProperty(exports, "Datacrazy", { enumerable: true, get: function () { return Datacrazy_node_1.Datacrazy; } });
8
8
  var DatacrazyUtils_node_1 = require("./nodes/Datacrazy/DatacrazyUtils.node");
9
9
  Object.defineProperty(exports, "DatacrazyUtils", { enumerable: true, get: function () { return DatacrazyUtils_node_1.DatacrazyUtils; } });
10
- var DatacrazyMsgSwitch_node_1 = require("./nodes/Datacrazy/DatacrazyMsgSwitch.node");
11
- Object.defineProperty(exports, "DatacrazyMsgSwitch", { enumerable: true, get: function () { return DatacrazyMsgSwitch_node_1.DatacrazyMsgSwitch; } });
12
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,mFAAsE;AAA7D,wHAAA,YAAY,OAAA;AACrB,mEAA6D;AAApD,2GAAA,SAAS,OAAA;AAClB,6EAAuE;AAA9D,qHAAA,cAAc,OAAA;AACvB,qFAA+E;AAAtE,6HAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,mFAAsE;AAA7D,wHAAA,YAAY,OAAA;AACrB,mEAA6D;AAApD,2GAAA,SAAS,OAAA;AAClB,6EAAuE;AAA9D,qHAAA,cAAc,OAAA"}
@@ -0,0 +1,6 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class DatacrazyReplyCheck implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
6
+ //# sourceMappingURL=DatacrazyReplyCheck.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatacrazyReplyCheck.node.d.ts","sourceRoot":"","sources":["../../../nodes/Datacrazy/DatacrazyReplyCheck.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAKtB,qBAAa,mBAAoB,YAAW,SAAS;IACnD,WAAW,EAAE,oBAAoB,CAe/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAIxE"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatacrazyReplyCheck = void 0;
4
+ const ReplyCheckerDescription_1 = require("./descriptions/utils/ReplyCheckerDescription");
5
+ const replyChecker_handler_1 = require("./handlers/utils/replyChecker.handler");
6
+ class DatacrazyReplyCheck {
7
+ constructor() {
8
+ this.description = {
9
+ displayName: 'Datacrazy - É Mensagem Referenciada?',
10
+ name: 'datacrazyReplyCheck',
11
+ icon: 'file:dc-logo.png',
12
+ group: ['transform'],
13
+ version: 1,
14
+ description: 'Verifica se a mensagem recebida é uma resposta/reply a outra mensagem. Saída "Sim" se for referenciada, "Não" se for mensagem normal.',
15
+ defaults: { name: 'É Mensagem Referenciada?' },
16
+ inputs: ['main'],
17
+ outputs: ['main', 'main'],
18
+ outputNames: ['Sim', 'Não'],
19
+ properties: [
20
+ ...ReplyCheckerDescription_1.replyCheckerFields,
21
+ ],
22
+ };
23
+ }
24
+ async execute() {
25
+ const items = this.getInputData();
26
+ return replyChecker_handler_1.executeReplyChecker.call(this, items);
27
+ }
28
+ }
29
+ exports.DatacrazyReplyCheck = DatacrazyReplyCheck;
30
+ //# sourceMappingURL=DatacrazyReplyCheck.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatacrazyReplyCheck.node.js","sourceRoot":"","sources":["../../../nodes/Datacrazy/DatacrazyReplyCheck.node.ts"],"names":[],"mappings":";;;AAOA,0FAAkF;AAClF,gFAA4E;AAE5E,MAAa,mBAAmB;IAAhC;QACE,gBAAW,GAAyB;YAClC,WAAW,EAAE,sCAAsC;YACnD,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EACT,uIAAuI;YACzI,QAAQ,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE;YAC9C,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACzB,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;YAC3B,UAAU,EAAE;gBACV,GAAG,4CAAkB;aACtB;SACF,CAAC;IAMJ,CAAC;IAJC,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,OAAO,0CAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF;AAtBD,kDAsBC"}
@@ -1,6 +1,9 @@
1
- import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
1
+ import { IExecuteFunctions, ILoadOptionsFunctions, INodeExecutionData, INodeListSearchResult, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
2
  export declare class DatacrazyUtils implements INodeType {
3
3
  description: INodeTypeDescription;
4
+ methods: {
5
+ listSearch: Record<string, (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>>;
6
+ };
4
7
  execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
8
  }
6
9
  //# sourceMappingURL=DatacrazyUtils.node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatacrazyUtils.node.d.ts","sourceRoot":"","sources":["../../../nodes/Datacrazy/DatacrazyUtils.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAErB,MAAM,cAAc,CAAC;AActB,qBAAa,cAAe,YAAW,SAAS;IAC9C,WAAW,EAAE,oBAAoB,CAsE/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CA2DxE"}
1
+ {"version":3,"file":"DatacrazyUtils.node.d.ts","sourceRoot":"","sources":["../../../nodes/Datacrazy/DatacrazyUtils.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,SAAS,EACT,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAmBtB,qBAAa,cAAe,YAAW,SAAS;IAC9C,WAAW,EAAE,oBAAoB,CAoF/B;IAEF,OAAO;oBAGA,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;MACrG;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAqExE"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.DatacrazyUtils = void 0;
4
37
  const n8n_workflow_1 = require("n8n-workflow");
@@ -7,11 +40,16 @@ const WebhookExtractorDescription_1 = require("./descriptions/utils/WebhookExtra
7
40
  const ProviderDetectorDescription_1 = require("./descriptions/utils/ProviderDetectorDescription");
8
41
  const MessageContextDescription_1 = require("./descriptions/utils/MessageContextDescription");
9
42
  const LeadMoverDescription_1 = require("./descriptions/utils/LeadMoverDescription");
43
+ const MessageTypeSwitchDescription_1 = require("./descriptions/utils/MessageTypeSwitchDescription");
44
+ const ReplyCheckerDescription_1 = require("./descriptions/utils/ReplyCheckerDescription");
10
45
  const webhookParser_handler_1 = require("./handlers/utils/webhookParser.handler");
11
46
  const webhookExtractor_handler_1 = require("./handlers/utils/webhookExtractor.handler");
12
47
  const providerDetector_handler_1 = require("./handlers/utils/providerDetector.handler");
13
48
  const messageContext_handler_1 = require("./handlers/utils/messageContext.handler");
14
49
  const leadMover_handler_1 = require("./handlers/utils/leadMover.handler");
50
+ const messageTypeSwitch_handler_1 = require("./handlers/utils/messageTypeSwitch.handler");
51
+ const replyChecker_handler_1 = require("./handlers/utils/replyChecker.handler");
52
+ const loadOptions = __importStar(require("./methods/loadOptions"));
15
53
  class DatacrazyUtils {
16
54
  constructor() {
17
55
  this.description = {
@@ -20,11 +58,13 @@ class DatacrazyUtils {
20
58
  icon: 'file:dc-logo.png',
21
59
  group: ['transform'],
22
60
  version: 1,
23
- subtitle: '={{$parameter["resource"] + ": " + $parameter["operation"]}}',
24
- description: 'Utilitários de automação para fluxos com o Datacrazy CRM (análise de webhook, detecção de provedor, contexto de mensagem, movimentação de lead)',
61
+ subtitle: '={{$parameter["resource"]}}',
62
+ description: 'Utilitários de automação para fluxos com o Datacrazy CRM (análise de webhook, switch de tipo, verificação de reply, detecção de provedor, contexto de mensagem, movimentação de lead)',
25
63
  defaults: { name: 'Datacrazy Automações' },
26
64
  inputs: ['main'],
27
- outputs: ['main'],
65
+ // Dynamic outputs: 6 for messageTypeSwitch, 2 for replyChecker, 1 for all others
66
+ outputs: `={{$parameter['resource'] === 'messageTypeSwitch' ? ['main','main','main','main','main','main'] : $parameter['resource'] === 'replyChecker' ? ['main','main'] : ['main']}}`,
67
+ outputNames: `={{$parameter['resource'] === 'messageTypeSwitch' ? ['Texto','Imagem','Vídeo','Áudio','Arquivo','Outro'] : $parameter['resource'] === 'replyChecker' ? ['Sim','Não'] : []}}`,
28
68
  credentials: [
29
69
  {
30
70
  name: 'datacrazyApi',
@@ -48,6 +88,16 @@ class DatacrazyUtils {
48
88
  value: 'webhookParser',
49
89
  description: 'Normaliza o payload do webhook e detecta provedor, tipo de mensagem e campos principais',
50
90
  },
91
+ {
92
+ name: '⚡ Switch Tipo de Mensagem',
93
+ value: 'messageTypeSwitch',
94
+ description: 'Roteia para a saída correta baseado no tipo da mensagem (Texto, Imagem, Vídeo, Áudio, Arquivo, Outro)',
95
+ },
96
+ {
97
+ name: '⚡ É Mensagem Referenciada?',
98
+ value: 'replyChecker',
99
+ description: 'Verifica se a mensagem é uma resposta/reply — saída "Sim" ou "Não"',
100
+ },
51
101
  {
52
102
  name: '⚡ Detectar Provedor do Webhook',
53
103
  value: 'providerDetector',
@@ -61,7 +111,7 @@ class DatacrazyUtils {
61
111
  {
62
112
  name: '⚡ Contexto de Mensagem Referenciada',
63
113
  value: 'messageContext',
64
- description: 'Verifica se é uma resposta/reply e busca o contexto da mensagem original',
114
+ description: 'Verifica se é uma resposta/reply e busca o contexto da mensagem original na conversa',
65
115
  },
66
116
  {
67
117
  name: '⚡ Mover Lead na Pipeline',
@@ -81,11 +131,27 @@ class DatacrazyUtils {
81
131
  ...ProviderDetectorDescription_1.providerDetectorFields,
82
132
  ...MessageContextDescription_1.messageContextFields,
83
133
  ...LeadMoverDescription_1.leadMoverFields,
134
+ ...MessageTypeSwitchDescription_1.messageTypeSwitchFields,
135
+ ...ReplyCheckerDescription_1.replyCheckerFields,
84
136
  ],
85
137
  };
138
+ this.methods = {
139
+ listSearch: {
140
+ searchLeadMoverStages: loadOptions.searchLeadMoverStages,
141
+ },
142
+ };
86
143
  }
87
144
  async execute() {
88
145
  const items = this.getInputData();
146
+ const resource = this.getNodeParameter('resource', 0);
147
+ // Multi-output resources bypass the single-output loop
148
+ if (resource === 'messageTypeSwitch') {
149
+ return messageTypeSwitch_handler_1.executeMessageTypeSwitch.call(this, items);
150
+ }
151
+ if (resource === 'replyChecker') {
152
+ return replyChecker_handler_1.executeReplyChecker.call(this, items);
153
+ }
154
+ // Single-output resources
89
155
  const returnData = [];
90
156
  let baseUrl = '';
91
157
  try {
@@ -93,10 +159,9 @@ class DatacrazyUtils {
93
159
  baseUrl = credentials.apiUrl.replace(/\/$/, '');
94
160
  }
95
161
  catch {
96
- // Credentials are optional for resources that don't call the API
162
+ // Credentials are optional; required only for messageContext and leadMover
97
163
  }
98
164
  for (let i = 0; i < items.length; i++) {
99
- const resource = this.getNodeParameter('resource', i);
100
165
  let responseData;
101
166
  try {
102
167
  if (resource === 'webhookParser') {
@@ -1 +1 @@
1
- {"version":3,"file":"DatacrazyUtils.node.js","sourceRoot":"","sources":["../../../nodes/Datacrazy/DatacrazyUtils.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatacrazyUtils.node.js","sourceRoot":"","sources":["../../../nodes/Datacrazy/DatacrazyUtils.node.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTypeSwitchDescription.d.ts","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/descriptions/utils/MessageTypeSwitchDescription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,eAAO,MAAM,uBAAuB,EAAE,eAAe,EAUpD,CAAC"}
1
+ {"version":3,"file":"MessageTypeSwitchDescription.d.ts","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/descriptions/utils/MessageTypeSwitchDescription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,eAAO,MAAM,uBAAuB,EAAE,eAAe,EAWpD,CAAC"}
@@ -8,7 +8,8 @@ exports.messageTypeSwitchFields = [
8
8
  type: 'string',
9
9
  required: true,
10
10
  default: '',
11
- description: 'Tipo da mensagem para roteamento. Use a saída do node "Analisar Webhook Datacrazy" (campo type_message). Valores aceitos: text, image, video, audio, document/file.',
11
+ displayOptions: { show: { resource: ['messageTypeSwitch'] } },
12
+ description: 'Tipo da mensagem para roteamento. Use a saída do node "⚡ Analisar Webhook Datacrazy" (campo type_message). Valores aceitos: text, image, video, audio, document/file.',
12
13
  },
13
14
  ];
14
15
  //# sourceMappingURL=MessageTypeSwitchDescription.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTypeSwitchDescription.js","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/descriptions/utils/MessageTypeSwitchDescription.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAsB;IACxD;QACE,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACT,qKAAqK;KACxK;CACF,CAAC"}
1
+ {"version":3,"file":"MessageTypeSwitchDescription.js","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/descriptions/utils/MessageTypeSwitchDescription.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAsB;IACxD;QACE,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE;QAC7D,WAAW,EACT,uKAAuK;KAC1K;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const replyCheckerFields: INodeProperties[];
3
+ //# sourceMappingURL=ReplyCheckerDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplyCheckerDescription.d.ts","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/descriptions/utils/ReplyCheckerDescription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAsD/C,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.replyCheckerFields = void 0;
4
+ exports.replyCheckerFields = [
5
+ {
6
+ displayName: 'Modo de Verificação',
7
+ name: 'mode',
8
+ type: 'options',
9
+ displayOptions: { show: { resource: ['replyChecker'] } },
10
+ options: [
11
+ {
12
+ name: 'Campo Direto (Context ID)',
13
+ value: 'direct',
14
+ description: 'Informe o valor do context_id direto via expressão. Ex: {{ $json.context_id }}',
15
+ },
16
+ {
17
+ name: 'Payload Completo (Auto-detectar)',
18
+ value: 'payload',
19
+ description: 'Informe o payload completo do webhook e o node detecta o campo certo por provedor',
20
+ },
21
+ ],
22
+ default: 'direct',
23
+ },
24
+ {
25
+ displayName: 'Context ID',
26
+ name: 'contextId',
27
+ type: 'string',
28
+ default: '',
29
+ displayOptions: { show: { resource: ['replyChecker'], mode: ['direct'] } },
30
+ description: 'Valor do campo que identifica a mensagem referenciada. Dica: use o campo context_id da saída do node "⚡ Analisar Webhook Datacrazy". Se vazio → saída "Não". Se preenchido → saída "Sim".',
31
+ },
32
+ {
33
+ displayName: 'Payload do Webhook (JSON)',
34
+ name: 'webhookPayload',
35
+ type: 'json',
36
+ default: '{}',
37
+ displayOptions: { show: { resource: ['replyChecker'], mode: ['payload'] } },
38
+ description: 'Payload completo do webhook. O node detecta o campo correto conforme o provedor (WhatsApp API, Instagram API ou UAZAP).',
39
+ },
40
+ {
41
+ displayName: 'Provedor',
42
+ name: 'provider',
43
+ type: 'options',
44
+ displayOptions: { show: { resource: ['replyChecker'], mode: ['payload'] } },
45
+ options: [
46
+ {
47
+ name: 'Auto (Detectar automaticamente)',
48
+ value: 'auto',
49
+ description: 'Testa context_id, message_reply_to_mid e quoted',
50
+ },
51
+ { name: 'WhatsApp Cloud API', value: 'whatsappApi', description: 'Usa body.context_id' },
52
+ { name: 'Instagram API', value: 'instagramApi', description: 'Usa body.message_reply_to_mid' },
53
+ { name: 'UAZAP', value: 'uazap', description: 'Usa body.quoted' },
54
+ ],
55
+ default: 'auto',
56
+ },
57
+ ];
58
+ //# sourceMappingURL=ReplyCheckerDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplyCheckerDescription.js","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/descriptions/utils/ReplyCheckerDescription.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAsB;IACnD;QACE,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE;QACxD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,gFAAgF;aAC9F;YACD;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,mFAAmF;aACjG;SACF;QACD,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC1E,WAAW,EACT,2LAA2L;KAC9L;IACD;QACE,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;QAC3E,WAAW,EAAE,yHAAyH;KACvI;IACD;QACE,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;QAC3E,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,iDAAiD;aAC/D;YACD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE;YACxF,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,+BAA+B,EAAE;YAC9F,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE;SAClE;QACD,OAAO,EAAE,MAAM;KAChB;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ export declare function executeReplyChecker(this: IExecuteFunctions, items: INodeExecutionData[]): Promise<INodeExecutionData[][]>;
3
+ //# sourceMappingURL=replyChecker.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replyChecker.handler.d.ts","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/handlers/utils/replyChecker.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AA0BrE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,kBAAkB,EAAE,GAC1B,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAuDjC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeReplyChecker = executeReplyChecker;
4
+ // Output indices:
5
+ // 0 → Sim (é reply)
6
+ // 1 → Não (mensagem normal)
7
+ function extractContextId(body, provider) {
8
+ var _a, _b, _c, _d, _e, _f;
9
+ if (provider === 'whatsappApi')
10
+ return (_a = body === null || body === void 0 ? void 0 : body.context_id) !== null && _a !== void 0 ? _a : '';
11
+ if (provider === 'instagramApi')
12
+ return (_b = body === null || body === void 0 ? void 0 : body.message_reply_to_mid) !== null && _b !== void 0 ? _b : '';
13
+ if (provider === 'uazap')
14
+ return (_c = body === null || body === void 0 ? void 0 : body.quoted) !== null && _c !== void 0 ? _c : '';
15
+ // auto: tenta todos os campos conhecidos
16
+ return ((_f = (_e = (_d = body === null || body === void 0 ? void 0 : body.context_id) !== null && _d !== void 0 ? _d : body === null || body === void 0 ? void 0 : body.message_reply_to_mid) !== null && _e !== void 0 ? _e : body === null || body === void 0 ? void 0 : body.quoted) !== null && _f !== void 0 ? _f : '');
17
+ }
18
+ function isNonEmpty(value) {
19
+ if (value === null || value === undefined)
20
+ return false;
21
+ const str = String(value).trim();
22
+ return str !== '' && str !== 'null' && str !== 'undefined';
23
+ }
24
+ async function executeReplyChecker(items) {
25
+ var _a;
26
+ const simOutput = [];
27
+ const naoOutput = [];
28
+ for (let i = 0; i < items.length; i++) {
29
+ const mode = this.getNodeParameter('mode', i, 'direct');
30
+ let contextId = '';
31
+ let detectedProvider = '';
32
+ if (mode === 'direct') {
33
+ contextId = this.getNodeParameter('contextId', i, '').trim();
34
+ }
35
+ else {
36
+ const rawPayload = this.getNodeParameter('webhookPayload', i, '{}');
37
+ const payload = typeof rawPayload === 'string' ? JSON.parse(rawPayload) : rawPayload;
38
+ const entry = Array.isArray(payload) ? payload[0] : payload;
39
+ const body = (_a = entry === null || entry === void 0 ? void 0 : entry.body) !== null && _a !== void 0 ? _a : entry;
40
+ const provider = this.getNodeParameter('provider', i, 'auto');
41
+ contextId = extractContextId(body, provider);
42
+ if (provider === 'auto') {
43
+ if (isNonEmpty(body === null || body === void 0 ? void 0 : body.context_id))
44
+ detectedProvider = 'whatsappApi';
45
+ else if (isNonEmpty(body === null || body === void 0 ? void 0 : body.message_reply_to_mid))
46
+ detectedProvider = 'instagramApi';
47
+ else if (isNonEmpty(body === null || body === void 0 ? void 0 : body.quoted))
48
+ detectedProvider = 'uazap';
49
+ }
50
+ else {
51
+ detectedProvider = provider;
52
+ }
53
+ }
54
+ const isReply = isNonEmpty(contextId);
55
+ const enriched = {
56
+ json: {
57
+ ...items[i].json,
58
+ isReply,
59
+ contextId: contextId || null,
60
+ ...(detectedProvider ? { detectedProvider } : {}),
61
+ },
62
+ pairedItem: { item: i },
63
+ };
64
+ const executionData = this.helpers.constructExecutionMetaData([enriched], { itemData: { item: i } });
65
+ if (isReply) {
66
+ simOutput.push(...executionData);
67
+ }
68
+ else {
69
+ naoOutput.push(...executionData);
70
+ }
71
+ }
72
+ return [simOutput, naoOutput];
73
+ }
74
+ //# sourceMappingURL=replyChecker.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replyChecker.handler.js","sourceRoot":"","sources":["../../../../../nodes/Datacrazy/handlers/utils/replyChecker.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.3.1",
3
+ "version": "1.4.0",
4
4
  "description": "n8n community node para o Datacrazy CRM - Growsales IA",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -40,8 +40,7 @@
40
40
  ],
41
41
  "nodes": [
42
42
  "dist/nodes/Datacrazy/Datacrazy.node.js",
43
- "dist/nodes/Datacrazy/DatacrazyUtils.node.js",
44
- "dist/nodes/Datacrazy/DatacrazyMsgSwitch.node.js"
43
+ "dist/nodes/Datacrazy/DatacrazyUtils.node.js"
45
44
  ]
46
45
  },
47
46
  "devDependencies": {