n8n-nodes-salvia 0.3.0 → 0.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.
@@ -216,6 +216,32 @@ class Salvia {
216
216
  },
217
217
  },
218
218
  },
219
+ {
220
+ displayName: "Rastrear campanha (UTMs e click ids)",
221
+ name: "autoUtm",
222
+ type: "boolean",
223
+ default: true,
224
+ description: "Envia utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid e fbclid do próprio payload que chegou (nomes padrão). Desligue se preferir preencher à mão nas Opções adicionais.",
225
+ displayOptions: { show: { resource: ["lead"], operation: ["create"] } },
226
+ routing: {
227
+ request: {
228
+ body: {
229
+ // Aceita o payload cru e o de webhook (que aninha em `body`).
230
+ // undefined em vez de "" porque a API descarta chave ausente, e
231
+ // string vazia sobrescreveria UTM que o lead já tinha.
232
+ utmSource: "={{ $value ? ($json.body?.utm_source || $json.utm_source || undefined) : undefined }}",
233
+ utmMedium: "={{ $value ? ($json.body?.utm_medium || $json.utm_medium || undefined) : undefined }}",
234
+ utmCampaign: "={{ $value ? ($json.body?.utm_campaign || $json.utm_campaign || undefined) : undefined }}",
235
+ utmTerm: "={{ $value ? ($json.body?.utm_term || $json.utm_term || undefined) : undefined }}",
236
+ utmContent: "={{ $value ? ($json.body?.utm_content || $json.utm_content || undefined) : undefined }}",
237
+ // Click ids vêm no mesmo pacote e pela mesma razão: sem eles a
238
+ // campanha não fica sabendo quais cliques viraram cliente.
239
+ gclid: "={{ $value ? ($json.body?.gclid || $json.gclid || undefined) : undefined }}",
240
+ fbclid: "={{ $value ? ($json.body?.fbclid || $json.fbclid || undefined) : undefined }}",
241
+ },
242
+ },
243
+ },
244
+ },
219
245
  {
220
246
  displayName: "Campos personalizados",
221
247
  name: "customFieldsUi",
@@ -272,26 +298,45 @@ class Salvia {
272
298
  routing: { send: { type: "body", property: "ownerEmail" } },
273
299
  },
274
300
  {
275
- displayName: "UTM Source",
301
+ displayName: "UTM Source (manual)",
276
302
  name: "utmSource",
277
303
  type: "string",
278
304
  default: "",
305
+ description: "Sobrescreve o valor pego do payload",
279
306
  routing: { send: { type: "body", property: "utmSource" } },
280
307
  },
281
308
  {
282
- displayName: "UTM Medium",
309
+ displayName: "UTM Medium (manual)",
283
310
  name: "utmMedium",
284
311
  type: "string",
285
312
  default: "",
313
+ description: "Sobrescreve o valor pego do payload",
286
314
  routing: { send: { type: "body", property: "utmMedium" } },
287
315
  },
288
316
  {
289
- displayName: "UTM Campaign",
317
+ displayName: "UTM Campaign (manual)",
290
318
  name: "utmCampaign",
291
319
  type: "string",
292
320
  default: "",
321
+ description: "Sobrescreve o valor pego do payload",
293
322
  routing: { send: { type: "body", property: "utmCampaign" } },
294
323
  },
324
+ {
325
+ displayName: "UTM Term (manual)",
326
+ name: "utmTerm",
327
+ type: "string",
328
+ default: "",
329
+ description: "Sobrescreve o valor pego do payload",
330
+ routing: { send: { type: "body", property: "utmTerm" } },
331
+ },
332
+ {
333
+ displayName: "UTM Content (manual)",
334
+ name: "utmContent",
335
+ type: "string",
336
+ default: "",
337
+ description: "Sobrescreve o valor pego do payload",
338
+ routing: { send: { type: "body", property: "utmContent" } },
339
+ },
295
340
  {
296
341
  displayName: "Permitir telefone duplicado",
297
342
  name: "forceDuplicate",
package/package.json CHANGED
@@ -1,41 +1,41 @@
1
- {
2
- "name": "n8n-nodes-salvia",
3
- "version": "0.3.0",
4
- "description": "Nodes do Salvia CRM para n8n — crie leads e integre sua clínica aos seus fluxos.",
5
- "keywords": [
6
- "n8n-community-node-package",
7
- "salvia",
8
- "crm",
9
- "whatsapp"
10
- ],
11
- "license": "MIT",
12
- "author": "MovMed <pedro@grupomovmed.com.br>",
13
- "repository": {
14
- "type": "git",
15
- "url": "https://github.com/Projetos-Mov/n8n-nodes-salvia.git"
16
- },
17
- "main": "index.js",
18
- "scripts": {
19
- "build": "tsc && node scripts/copy-assets.js"
20
- },
21
- "files": [
22
- "dist"
23
- ],
24
- "n8n": {
25
- "n8nNodesApiVersion": 1,
26
- "credentials": [
27
- "dist/credentials/SalviaApi.credentials.js"
28
- ],
29
- "nodes": [
30
- "dist/nodes/Salvia/Salvia.node.js"
31
- ]
32
- },
33
- "devDependencies": {
34
- "@types/node": "^20.14.0",
35
- "n8n-workflow": "^1.70.0",
36
- "typescript": "^5.5.0"
37
- },
38
- "peerDependencies": {
39
- "n8n-workflow": "*"
40
- }
41
- }
1
+ {
2
+ "name": "n8n-nodes-salvia",
3
+ "version": "0.4.0",
4
+ "description": "Nodes do Salvia CRM para n8n — crie leads e integre sua clínica aos seus fluxos.",
5
+ "keywords": [
6
+ "n8n-community-node-package",
7
+ "salvia",
8
+ "crm",
9
+ "whatsapp"
10
+ ],
11
+ "license": "MIT",
12
+ "author": "MovMed <pedro@grupomovmed.com.br>",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/Projetos-Mov/n8n-nodes-salvia.git"
16
+ },
17
+ "main": "index.js",
18
+ "scripts": {
19
+ "build": "tsc && node scripts/copy-assets.js"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "n8n": {
25
+ "n8nNodesApiVersion": 1,
26
+ "credentials": [
27
+ "dist/credentials/SalviaApi.credentials.js"
28
+ ],
29
+ "nodes": [
30
+ "dist/nodes/Salvia/Salvia.node.js"
31
+ ]
32
+ },
33
+ "devDependencies": {
34
+ "@types/node": "^20.14.0",
35
+ "n8n-workflow": "^1.70.0",
36
+ "typescript": "^5.5.0"
37
+ },
38
+ "peerDependencies": {
39
+ "n8n-workflow": "*"
40
+ }
41
+ }