n8n-nodes-nero-crm 1.0.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.
package/README.md ADDED
@@ -0,0 +1,105 @@
1
+ # n8n-nodes-nexo-crm
2
+
3
+ Nós customizados do n8n para integração com o Nexo CRM.
4
+
5
+ ## 🚀 Funcionalidades
6
+
7
+ ### Lead
8
+ - **Criar** - Criar novo lead
9
+ - **Atualizar** - Atualizar dados do lead
10
+ - **Deletar** - Remover lead
11
+ - **Buscar** - Buscar lead por ID
12
+ - **Listar** - Listar todos os leads
13
+ - **Mover** - Mover lead para uma coluna (cria a coluna automaticamente se não existir!)
14
+
15
+ ### Coluna
16
+ - **Criar** - Criar nova coluna no Kanban
17
+ - **Listar** - Listar colunas do Kanban
18
+ - **Deletar** - Remover coluna
19
+
20
+ ## 📦 Instalação no n8n Self-Hosted (Easypanel/Docker)
21
+
22
+ ### Opção 1: Via npm (Recomendado)
23
+
24
+ 1. Acesse o container do n8n:
25
+ ```bash
26
+ docker exec -it n8n sh
27
+ ```
28
+
29
+ 2. Instale o pacote:
30
+ ```bash
31
+ cd /data
32
+ npm install n8n-nodes-nexo-crm
33
+ ```
34
+
35
+ 3. Reinicie o n8n
36
+
37
+ ### Opção 2: Link Local (Desenvolvimento)
38
+
39
+ 1. Clone este repositório:
40
+ ```bash
41
+ git clone https://github.com/alan-silva01/n8n-nodes-nexo-crm.git
42
+ cd n8n-nodes-nexo-crm
43
+ ```
44
+
45
+ 2. Instale as dependências e compile:
46
+ ```bash
47
+ npm install
48
+ npm run build
49
+ ```
50
+
51
+ 3. Link global:
52
+ ```bash
53
+ npm link
54
+ ```
55
+
56
+ 4. No diretório de dados do n8n:
57
+ ```bash
58
+ cd ~/.n8n
59
+ npm link n8n-nodes-nexo-crm
60
+ ```
61
+
62
+ 5. Reinicie o n8n
63
+
64
+ ### Opção 3: Via Docker Compose
65
+
66
+ Adicione ao seu `docker-compose.yml`:
67
+
68
+ ```yaml
69
+ services:
70
+ n8n:
71
+ image: n8nio/n8n
72
+ volumes:
73
+ - ./n8n-nodes-nexo-crm:/home/node/.n8n/custom/n8n-nodes-nexo-crm
74
+ environment:
75
+ - N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom
76
+ ```
77
+
78
+ ## 🔧 Configuração
79
+
80
+ 1. Após instalar, vá em **Credentials** no n8n
81
+ 2. Adicione uma nova credencial do tipo **Nexo CRM API**
82
+ 3. Preencha:
83
+ - **Supabase URL**: `https://jreklrhamersmamdmjna.supabase.co`
84
+ - **API Key**: Sua anon key do Supabase
85
+ - **User ID**: UUID do usuário dono dos leads
86
+
87
+ ## 📝 Exemplos de Uso
88
+
89
+ ### Criar Lead
90
+ 1. Adicione o nó **Nexo CRM**
91
+ 2. Recurso: **Lead**
92
+ 3. Operação: **Criar**
93
+ 4. Preencha Nome, Telefone, E-mail e Coluna
94
+
95
+ ### Mover Lead (com auto-criação de coluna)
96
+ 1. Adicione o nó **Nexo CRM**
97
+ 2. Recurso: **Lead**
98
+ 3. Operação: **Mover**
99
+ 4. Lead ID: ID do lead
100
+ 5. Nova Coluna: Nome da coluna (ex: "Compra Realizada")
101
+ - Se a coluna não existir, será criada automaticamente!
102
+
103
+ ## 📄 Licença
104
+
105
+ MIT
@@ -0,0 +1,9 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class NeroCrmApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NeroCrmApi = void 0;
4
+ class NeroCrmApi {
5
+ name = 'neroCrmApi';
6
+ displayName = 'Nero CRM API';
7
+ documentationUrl = 'https://github.com/alan-silva01/n8n-nodes-nero-crm';
8
+ properties = [
9
+ {
10
+ displayName: 'Supabase URL',
11
+ name: 'supabaseUrl',
12
+ type: 'string',
13
+ default: 'https://jreklrhamersmamdmjna.supabase.co',
14
+ placeholder: 'https://your-project.supabase.co',
15
+ required: true,
16
+ },
17
+ {
18
+ displayName: 'API Key (Anon Key)',
19
+ name: 'apiKey',
20
+ type: 'string',
21
+ typeOptions: {
22
+ password: true,
23
+ },
24
+ default: '',
25
+ required: true,
26
+ },
27
+ {
28
+ displayName: 'User ID',
29
+ name: 'userId',
30
+ type: 'string',
31
+ default: '',
32
+ placeholder: '13e981fb-037c-4d8d-89f0-4b5fa197c5f8',
33
+ description: 'UUID do usuário dono dos leads (auth.users.id)',
34
+ required: true,
35
+ },
36
+ ];
37
+ authenticate = {
38
+ type: 'generic',
39
+ properties: {
40
+ headers: {
41
+ 'apikey': '={{$credentials.apiKey}}',
42
+ 'Authorization': 'Bearer {{$credentials.apiKey}}',
43
+ 'Content-Type': 'application/json',
44
+ 'Prefer': 'return=representation',
45
+ },
46
+ },
47
+ };
48
+ test = {
49
+ request: {
50
+ baseURL: '={{$credentials.supabaseUrl}}',
51
+ url: '/rest/v1/kanban_columns?limit=1',
52
+ },
53
+ };
54
+ }
55
+ exports.NeroCrmApi = NeroCrmApi;
56
+ //# sourceMappingURL=NeroCrmApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NeroCrmApi.credentials.js","sourceRoot":"","sources":["../../credentials/NeroCrmApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IACnB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,cAAc,CAAC;IAC7B,gBAAgB,GAAG,oDAAoD,CAAC;IACxE,UAAU,GAAsB;QAC5B;YACI,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,0CAA0C;YACnD,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACT,QAAQ,EAAE,IAAI;aACjB;YACD,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;SACjB;KACJ,CAAC;IAEF,YAAY,GAAyB;QACjC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,OAAO,EAAE;gBACL,QAAQ,EAAE,0BAA0B;gBACpC,eAAe,EAAE,gCAAgC;gBACjD,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,uBAAuB;aACpC;SACJ;KACJ,CAAC;IAEF,IAAI,GAA2B;QAC3B,OAAO,EAAE;YACL,OAAO,EAAE,+BAA+B;YACxC,GAAG,EAAE,iCAAiC;SACzC;KACJ,CAAC;CACL;AApDD,gCAoDC"}
@@ -0,0 +1,9 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class NexoCrmApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NexoCrmApi = void 0;
4
+ class NexoCrmApi {
5
+ name = 'nexoCrmApi';
6
+ displayName = 'Nexo CRM API';
7
+ documentationUrl = 'https://github.com/alan-silva01/n8n-nodes-nexo-crm';
8
+ properties = [
9
+ {
10
+ displayName: 'Supabase URL',
11
+ name: 'supabaseUrl',
12
+ type: 'string',
13
+ default: 'https://jreklrhamersmamdmjna.supabase.co',
14
+ placeholder: 'https://your-project.supabase.co',
15
+ required: true,
16
+ },
17
+ {
18
+ displayName: 'API Key (Anon Key)',
19
+ name: 'apiKey',
20
+ type: 'string',
21
+ typeOptions: {
22
+ password: true,
23
+ },
24
+ default: '',
25
+ required: true,
26
+ },
27
+ {
28
+ displayName: 'User ID',
29
+ name: 'userId',
30
+ type: 'string',
31
+ default: '',
32
+ placeholder: '13e981fb-037c-4d8d-89f0-4b5fa197c5f8',
33
+ description: 'UUID do usuário dono dos leads (auth.users.id)',
34
+ required: true,
35
+ },
36
+ ];
37
+ authenticate = {
38
+ type: 'generic',
39
+ properties: {
40
+ headers: {
41
+ 'apikey': '={{$credentials.apiKey}}',
42
+ 'Authorization': 'Bearer {{$credentials.apiKey}}',
43
+ 'Content-Type': 'application/json',
44
+ 'Prefer': 'return=representation',
45
+ },
46
+ },
47
+ };
48
+ test = {
49
+ request: {
50
+ baseURL: '={{$credentials.supabaseUrl}}',
51
+ url: '/rest/v1/kanban_columns?limit=1',
52
+ },
53
+ };
54
+ }
55
+ exports.NexoCrmApi = NexoCrmApi;
56
+ //# sourceMappingURL=NexoCrmApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NexoCrmApi.credentials.js","sourceRoot":"","sources":["../../credentials/NexoCrmApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IACnB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,cAAc,CAAC;IAC7B,gBAAgB,GAAG,oDAAoD,CAAC;IACxE,UAAU,GAAsB;QAC5B;YACI,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,0CAA0C;YACnD,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACT,QAAQ,EAAE,IAAI;aACjB;YACD,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;SACjB;KACJ,CAAC;IAEF,YAAY,GAAyB;QACjC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACR,OAAO,EAAE;gBACL,QAAQ,EAAE,0BAA0B;gBACpC,eAAe,EAAE,gCAAgC;gBACjD,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,uBAAuB;aACpC;SACJ;KACJ,CAAC;IAEF,IAAI,GAA2B;QAC3B,OAAO,EAAE;YACL,OAAO,EAAE,+BAA+B;YACxC,GAAG,EAAE,iCAAiC;SACzC;KACJ,CAAC;CACL;AApDD,gCAoDC"}
@@ -0,0 +1,5 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class NeroCrm implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }