n8n-nodes-aivencerealtycrm 2.1.0 → 2.3.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 CHANGED
@@ -1,56 +1,69 @@
1
- # n8n-nodes-aivence-realty
1
+ # n8n-nodes-aivencerealtycrm
2
2
 
3
- **Nodo n8n para AivenceRealty CRM (Laravel).**
3
+ **Nodo comunitario n8n para AivenceRealty CRM inmobiliario.**
4
4
 
5
- Este paquete añade nodos para interactuar con el CRM inmobiliario AivenceRealty. Permite operaciones completas sobre Properties, Leads, Maintenance Orders, Contractors, y más.
5
+ Este paquete añade nodos para interactuar con el CRM inmobiliario AivenceRealty. Permite operaciones completas sobre propiedades, leads, inquilinos, órdenes de mantenimiento, contratistas, pagos, políticas de aprobación y más.
6
+
7
+ [![npm version](https://badge.fury.io/js/n8n-nodes-aivencerealtycrm.svg)](https://www.npmjs.com/package/n8n-nodes-aivencerealtycrm)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
9
 
7
10
  ## 📦 Instalación
8
11
 
9
12
  ```bash
10
- npm install n8n-nodes-aivence-realty
13
+ npm install n8n-nodes-aivencerealtycrm
11
14
  ```
12
15
 
13
- O desde la interfaz de n8n: **Community Nodes → Install** y escribir `n8n-nodes-aivence-realty`.
16
+ O desde la interfaz de n8n: **Community Nodes → Install** y escribir `n8n-nodes-aivencerealtycrm`.
14
17
 
15
18
  ## 🔐 Configuración
16
19
 
17
20
  1. Obtén un **Bearer Token** desde tu panel de AivenceRealty
18
21
  2. En n8n, ve a **Credentials** y crea credenciales de tipo **AivenceRealty API**
19
22
  3. Introduce:
20
- - **URL Base**: `https://realty.aivence.com` (o tu dominio)
23
+ - **URL Base**: La URL de tu instancia de AivenceRealty (ej: `https://tu-dominio.com`)
21
24
  - **Bearer Token**: Tu token de API
22
25
  4. Guarda las credenciales
23
26
 
24
- ## 📋 Recursos Disponibles
25
-
26
- ### 1. **Property** (Propiedades)
27
- - `list` - Listar todas las propiedades
28
- - `getSimilar` - Obtener propiedades similares
29
- - `getStatistics` - Estadísticas de propiedades
30
-
31
- ### 2. **Lead** (Leads)
32
- - `list` - Listar leads
33
- - `create` - Crear nuevo lead (campos: nombre, telefono, mensaje)
34
-
35
- ### 3. **Tenant** (Inquilinos)
36
- - `list` - Listar inquilinos
37
-
38
- ### 4. **Maintenance Order** (Órdenes de Mantenimiento)
39
- - `checkDuplicate` - Verificar si existe orden duplicada
40
- - `create` - Crear nueva orden
41
- - `get` - Obtener orden por ID
42
- - `update` - Actualizar orden
43
- - `list` - Listar órdenes
44
-
45
- ### 5. **Contractor** (Contratistas)
46
- - `findByCategory` - Buscar por categoría (fontanería, electricidad, etc.)
47
- - `findAlternatives` - Buscar contratistas alternativos
48
-
49
- ### 6. **Monthly Cost** (Costos Mensuales)
50
- - `track` - Registrar costo mensual
51
-
52
- ### 7. **WhatsApp**
53
- - `sendMessage` - Enviar mensaje por WhatsApp (Evolution API)
27
+ ## 📋 Recursos y Operaciones Disponibles
28
+
29
+ ### Tabla Completa de Operaciones (v2.3.0)
30
+
31
+ | Recurso | Operación | Descripción | Método | Endpoint |
32
+ |---------|-----------|-------------|--------|----------|
33
+ | **Property** | list | Listar todas las propiedades | GET | `/api/v1/properties` |
34
+ | | getSimilar | Obtener propiedades similares | POST | `/api/v1/properties/similar` |
35
+ | | getStatistics | Estadísticas de propiedades | GET | `/api/v1/properties/statistics` |
36
+ | **Lead** | list | Listar leads | GET | `/api/v1/leads` |
37
+ | | create | Crear nuevo lead | POST | `/api/v1/leads` |
38
+ | **Tenant** | list | Listar inquilinos | GET | `/api/v1/tenants` |
39
+ | | get | Obtener inquilino por ID | GET | `/api/v1/tenants/{id}` |
40
+ | | **validateExists** ⭐ | Validar si inquilino existe | GET | `/api/v1/tenants/{id}/exists` |
41
+ | **Maintenance Request** | checkDuplicate | Verificar orden duplicada | POST | `/api/v1/maintenance-requests/check-duplicate` |
42
+ | | create | Crear nueva orden | POST | `/api/v1/maintenance-requests` |
43
+ | | get | Obtener orden por ID | GET | `/api/v1/maintenance-requests/{id}` |
44
+ | | update | Actualizar orden | PUT | `/api/v1/maintenance-requests/{id}` |
45
+ | | list | Listar órdenes | GET | `/api/v1/maintenance-requests` |
46
+ | **Contractor** | findByCategory | Buscar por categoría | GET | `/api/v1/contractors/category/{category}` |
47
+ | | findAlternatives | Buscar contratistas alternativos | POST | `/api/v1/contractors/alternatives` |
48
+ | **Email** | send | Enviar email | POST | `/api/v1/emails/send` |
49
+ | **Appointment** | create | Crear cita | POST | `/api/v1/appointments` |
50
+ | | list | Listar citas | GET | `/api/v1/appointments` |
51
+ | | get | Obtener cita por ID | GET | `/api/v1/appointments/{id}` |
52
+ | | update | Actualizar cita | PUT | `/api/v1/appointments/{id}` |
53
+ | **Calculator** | calculate | Calcular hipoteca/gastos | POST | `/api/v1/calculator` |
54
+ | **Agent** | list | Listar agentes | GET | `/api/v1/agents` |
55
+ | | get | Obtener agente por ID | GET | `/api/v1/agents/{id}` |
56
+ | **Owner Expense** | create | Crear gasto de propietario | POST | `/api/v1/owner-expenses` |
57
+ | | list | Listar gastos | GET | `/api/v1/owner-expenses` |
58
+ | **Contractor Invoice** | create | Crear factura de contratista | POST | `/api/v1/contractor-invoices` |
59
+ | | list | Listar facturas | GET | `/api/v1/contractor-invoices` |
60
+ | | process | Procesar factura con OCR | POST | `/api/v1/contractor-invoices/process` |
61
+ | **Payment Proof** ⭐ | **process** ⭐ | Procesar comprobante de pago | POST | `/api/v1/payments/verify-proof` |
62
+ | **Automation** ⭐ | **logExecution** ⭐ | Registrar ejecución de workflow | POST | `/api/v1/automation/log` |
63
+ | **Policy** ⭐ | **evaluate** ⭐ | Evaluar política de aprobación | POST | `/api/v1/policies/evaluate` |
64
+ | **Notification** ⭐ | **send** ⭐ | Enviar notificación multi-canal | POST | `/api/v1/notifications/send` |
65
+
66
+ ⭐ = **Nuevas operaciones en v2.3.0**
54
67
 
55
68
  ## 🎯 Ejemplos de Uso
56
69
 
@@ -62,6 +75,7 @@ O desde la interfaz de n8n: **Community Nodes → Install** y escribir `n8n-node
62
75
  "operation": "create",
63
76
  "nombre": "Juan Pérez",
64
77
  "telefono": "5491112345678",
78
+ "email": "juan@example.com",
65
79
  "mensaje": "Busco departamento 2 ambientes en Palermo"
66
80
  }
67
81
  ```
@@ -70,7 +84,7 @@ O desde la interfaz de n8n: **Community Nodes → Install** y escribir `n8n-node
70
84
 
71
85
  ```json
72
86
  {
73
- "resource": "maintenanceOrder",
87
+ "resource": "maintenanceRequest",
74
88
  "operation": "create",
75
89
  "clienteId": 123,
76
90
  "propiedadId": 456,
@@ -78,10 +92,102 @@ O desde la interfaz de n8n: **Community Nodes → Install** y escribir `n8n-node
78
92
  "categoria": "fontanería",
79
93
  "urgencia": "alta",
80
94
  "descripcionCorta": "Fuga de agua",
81
- "descripcionDetallada": "Fuga en baño principal..."
95
+ "descripcionDetallada": "Fuga en baño principal que requiere atención inmediata"
96
+ }
97
+ ```
98
+
99
+ ### Validar Existencia de Inquilino (v2.3.0)
100
+
101
+ ```json
102
+ {
103
+ "resource": "tenant",
104
+ "operation": "validateExists",
105
+ "tenantId": "123"
106
+ }
107
+ ```
108
+
109
+ ### Procesar Comprobante de Pago (v2.3.0)
110
+
111
+ ```json
112
+ {
113
+ "resource": "paymentProof",
114
+ "operation": "process",
115
+ "ppTenantId": "123",
116
+ "ppOcrData": {
117
+ "amount": 45000,
118
+ "date": "2026-01-26",
119
+ "reference": "REF123"
120
+ },
121
+ "ppFileUrl": "https://storage.ejemplo.com/comprobante.pdf"
122
+ }
123
+ ```
124
+
125
+ ### Registrar Ejecución de Workflow (v2.3.0)
126
+
127
+ ```json
128
+ {
129
+ "resource": "automation",
130
+ "operation": "logExecution",
131
+ "autoWorkflowName": "ProcessPaymentProof",
132
+ "autoExecutionId": "exec_123456",
133
+ "autoStatus": "success",
134
+ "autoDocumentType": "payment_proof",
135
+ "autoMetadata": {
136
+ "tenant_id": 123,
137
+ "amount": 45000,
138
+ "processing_time_ms": 1523
139
+ }
140
+ }
141
+ ```
142
+
143
+ ### Evaluar Política de Aprobación (v2.3.0)
144
+
145
+ ```json
146
+ {
147
+ "resource": "policy",
148
+ "operation": "evaluate",
149
+ "policyType": "payment_proof",
150
+ "policyAmount": 45000,
151
+ "policyDocumentData": {
152
+ "amount": 45000,
153
+ "date": "2026-01-26",
154
+ "tenant_id": 123,
155
+ "lease_amount": 50000
156
+ }
157
+ }
158
+ ```
159
+
160
+ Respuesta de ejemplo:
161
+ ```json
162
+ {
163
+ "approved": true,
164
+ "auto_approve": false,
165
+ "requires_review": true,
166
+ "reason": "Monto mayor a 50% del alquiler",
167
+ "approval_level": "manager"
82
168
  }
83
169
  ```
84
170
 
171
+ ### Enviar Notificación Multi-Canal (v2.3.0)
172
+
173
+ ```json
174
+ {
175
+ "resource": "notification",
176
+ "operation": "send",
177
+ "notifRecipientType": "tenant",
178
+ "notifRecipientId": "123",
179
+ "notifChannel": "whatsapp",
180
+ "notifTemplateKey": "payment_received",
181
+ "notifVariables": {
182
+ "amount": 45000,
183
+ "property_address": "Av. Corrientes 1234",
184
+ "payment_date": "26/01/2026"
185
+ }
186
+ }
187
+ ```
188
+
189
+ Canales disponibles: `database` (in-app), `whatsapp`, `email`
190
+
85
191
  ## 🔧 Desarrollo Local
86
192
 
87
193
  ```bash
@@ -92,13 +198,13 @@ cd n8n-nodes-aivence-realty
92
198
  # Instalar dependencias
93
199
  npm install
94
200
 
95
- # Compilar
201
+ # Compilar TypeScript
96
202
  npm run build
97
203
 
98
- # Vincular localmente
204
+ # Vincular localmente para testing
99
205
  npm link
100
- cd ~/.n8n
101
- npm link n8n-nodes-aivence-realty
206
+ cd ~/.n8n/custom
207
+ npm link n8n-nodes-aivencerealtycrm
102
208
 
103
209
  # Iniciar n8n
104
210
  n8n start
@@ -106,22 +212,80 @@ n8n start
106
212
 
107
213
  ## 📝 Changelog
108
214
 
215
+ ### v2.3.0 (2026-01-26) - Automation & Policies
216
+ - ⭐ **NUEVO:** Recurso `Payment Proof` con operación `process` para procesamiento automatizado de comprobantes de pago con OCR
217
+ - ⭐ **NUEVO:** Recurso `Automation` con operación `logExecution` para registro centralizado de ejecuciones de workflows
218
+ - ⭐ **NUEVO:** Recurso `Policy` con operación `evaluate` para evaluación automática de políticas de aprobación
219
+ - ⭐ **NUEVO:** Recurso `Notification` con operación `send` para notificaciones multi-canal (database/whatsapp/email)
220
+ - ⭐ **NUEVO:** Operación `validateExists` en recurso `Tenant` para validación rápida de existencia
221
+ - ✅ 16 recursos totales
222
+ - ✅ 40+ operaciones totales
223
+ - ✅ Soporte completo para flujos de automatización con IA
224
+
225
+ ### v2.2.0 (2026-01-20)
226
+ - ✅ Agregados recursos: Agent, Appointment, Calculator, OwnerExpense, ContractorInvoice
227
+ - ✅ Operaciones de procesamiento de facturas con OCR
228
+ - ✅ Sistema de cálculos hipotecarios
229
+
230
+ ### v2.1.0 (2025-12-15)
231
+ - ✅ Agregado recurso Email
232
+ - ✅ Mejoras en MaintenanceRequest
233
+ - ✅ Validación mejorada de campos
234
+
235
+ ### v2.0.0 (2025-11-10)
236
+ - ✅ Refactorización completa de la arquitectura
237
+ - ✅ Mejoras de performance
238
+ - ✅ Tipos TypeScript mejorados
239
+
109
240
  ### v0.1.0 (2025-10-09)
110
241
  - 🎉 Versión inicial
111
242
  - ✅ 7 recursos implementados
112
243
  - ✅ 15 operaciones totales
113
244
  - ✅ Integración completa con API Laravel
114
245
 
246
+ ## 🎓 Características Destacadas de v2.3.0
247
+
248
+ ### 🤖 Automatización Inteligente
249
+ - **Procesamiento OCR:** Extrae datos de comprobantes de pago y facturas automáticamente
250
+ - **Políticas Configurables:** Evalúa reglas de negocio sin código hardcoded
251
+ - **Logging Centralizado:** Rastrea todas las ejecuciones de workflows desde N8N
252
+
253
+ ### 🔔 Notificaciones Multi-Canal
254
+ - **Database:** Notificaciones in-app para el CRM
255
+ - **WhatsApp:** Mensajes instantáneos vía Evolution API
256
+ - **Email:** Notificaciones por correo electrónico
257
+ - **Templates Dinámicos:** Variables reemplazables por template
258
+
259
+ ### 🛡️ Validación y Seguridad
260
+ - Validación de existencia de entidades antes de operar
261
+ - Políticas de aprobación automáticas por tipo de documento y monto
262
+ - Trazabilidad completa de operaciones automatizadas
263
+
264
+ ## 🔗 Workflows N8N Recomendados
265
+
266
+ Los siguientes workflows están optimizados para usar el nodo comunitario:
267
+
268
+ 1. **ProcessPaymentProof** - Procesamiento de comprobantes de pago con OCR → Policy → Notification
269
+ 2. **ProcessContractorInvoice** - Procesamiento de facturas de contratistas con OCR → Policy → Automation Log
270
+ 3. **ProcessOwnerExpense** - Procesamiento de gastos de propietarios → Policy → Notification
271
+ 4. **Router Central** - Routing inteligente de documentos según tipo detectado por IA
272
+
115
273
  ## 📄 Licencia
116
274
 
117
275
  MIT
118
276
 
119
277
  ## 👨‍💻 Autor
120
278
 
121
- **Federico Aivence** - [federico@aivence.com](mailto:federico@aivence.com)
279
+ **Federico Aivence**
122
280
 
123
281
  ## 🔗 Links
124
282
 
125
- - [AivenceRealty CRM](https://realty.aivence.com)
126
283
  - [Repositorio GitHub](https://github.com/aivence/n8n-nodes-aivence-realty)
284
+ - [npm Package](https://www.npmjs.com/package/n8n-nodes-aivencerealtycrm)
127
285
  - [Reportar Issues](https://github.com/aivence/n8n-nodes-aivence-realty/issues)
286
+
287
+ ## 🆘 Soporte
288
+
289
+ Para soporte técnico o consultas:
290
+ - 🐛 Issues: [GitHub Issues](https://github.com/aivence/n8n-nodes-aivence-realty/issues)
291
+ - 📖 Documentación: Ver ejemplos en este README