@ixiam/n8n-nodes-civicrm 1.0.0 → 1.0.2

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 (3) hide show
  1. package/.eslintrc.cjs +6 -4
  2. package/README.md +95 -55
  3. package/package.json +5 -4
package/.eslintrc.cjs CHANGED
@@ -1,10 +1,12 @@
1
1
  module.exports = {
2
- root: true,
3
2
  parser: '@typescript-eslint/parser',
4
- plugins: ['@typescript-eslint','n8n-nodes-base'],
3
+ plugins: ['@typescript-eslint'],
5
4
  extends: [
5
+ 'eslint:recommended',
6
6
  'plugin:@typescript-eslint/recommended',
7
- 'plugin:n8n-nodes-base/community'
8
7
  ],
9
- ignorePatterns: ['dist/**'],
8
+ rules: {
9
+ '@typescript-eslint/no-unused-vars': 'off',
10
+ '@typescript-eslint/no-explicit-any': 'off',
11
+ },
10
12
  };
package/README.md CHANGED
@@ -1,89 +1,84 @@
1
1
  # n8n-nodes-civicrm
2
+
3
+ ![n8n Community Node](https://img.shields.io/badge/n8n-Community%20Node-blue.svg)
4
+ ![CiviCRM API v4](https://img.shields.io/badge/CiviCRM-API%20v4-orange.svg)
5
+ ![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)
6
+
2
7
  Community Node for **CiviCRM API v4** (Civi-Go compatible)
3
8
  Developed and maintained by **Ixiam Global Solutions**.
4
9
 
5
- This node enables full integration between **n8n** and **CiviCRM API v4**, supporting create/update/delete operations, smart field mapping, dynamic location types, and advanced filtering on GET operations.
10
+ This package provides integration between **n8n** and **CiviCRM API v4**, supporting create, update, delete operations, advanced filtering, dynamic location types, and structured sub-entities (email, phone, address).
11
+ Custom fields are **not** supported.
6
12
 
7
- ## 🚀 Installation
13
+ ---
8
14
 
9
- 1. In your n8n instance, go to:
15
+ ## Installation
16
+
17
+ 1. In your n8n instance, open:
10
18
  **Settings → Community Nodes → Install**
11
19
  2. Enter the package name:
12
20
 
13
21
  ```
14
- n8n-nodes-civicrm
22
+ @ixiam/n8n-nodes-civicrm
15
23
  ```
16
24
 
17
- 3. Approve installation and enable Community Nodes.
25
+ 3. Confirm installation and enable Community Nodes.
26
+ 4. If running n8n via Docker, restart/rebuild for the node to load.
27
+
28
+ ---
18
29
 
19
- ## 🔐 Credentials
30
+ ## Credentials
20
31
 
21
- The node uses **Bearer Token Authentication**.
32
+ Authentication uses **Bearer Token**.
22
33
 
23
34
  | Field | Description |
24
35
  |-------|-------------|
25
- | **Base URL** | The root URL of your CiviCRM instance (without trailing slash). Example: `https://crm.example.org` |
36
+ | **Base URL** | Root URL of your CiviCRM instance (no trailing slash). Example: `https://crm.example.org` |
26
37
  | **API Token** | Sent as header `X-Civi-Auth: Bearer <token>` |
27
38
 
28
- After entering credentials, click **Save** to validate the connection.
39
+ ---
29
40
 
30
- ## 📦 Supported Entities
41
+ ## Supported Entities
31
42
 
32
- The node includes full API v4 support for the following entities:
43
+ This node implements API v4 operations for:
33
44
 
34
- | Entity | Operations |
35
- |--------|------------|
36
- | **Contact** | get, getMany, create, update, delete |
37
- | **Membership** | get, getMany, create, update, delete |
38
- | **Group** | get, getMany, create, update, delete |
39
- | **Relationship** | get, getMany, create, update, delete |
40
- | **Activity** | get, getMany, create, update, delete |
41
- | **Custom API Call** | full custom API4 request |
45
+ - Contact
46
+ - Membership
47
+ - Group
48
+ - Relationship
49
+ - Activity
50
+ - Custom API Call (raw API4 request)
42
51
 
43
- ## 🧩 Key Features
52
+ Each entity supports:
53
+ - get
54
+ - getMany
55
+ - create
56
+ - update
57
+ - delete
44
58
 
45
- ### **1. Dynamic Field Mapping**
46
- Supports any standard or custom field:
59
+ ---
47
60
 
48
- ```
49
- first_name = John
50
- last_name = Doe
51
- custom_45 = Blue
52
- ```
61
+ ## Features
53
62
 
54
- ### **2. Smart Email, Phone & Address Mapping**
55
- Two ways to set location-aware fields:
63
+ ### Email, phone and address with location types
64
+ Two mapping modes:
56
65
 
57
- **(A) Simple fields**
66
+ Simple:
58
67
  ```
59
68
  email = test@example.org
60
- phone.mobile = 600123456
61
69
  address.city = Barcelona
62
70
  ```
63
71
 
64
- **(B) Dynamic prefixes matched to CiviCRM Location Types**
72
+ With location prefixes:
65
73
  ```
66
74
  work.email = user@company.org
67
- billing.address.postal_code = 80331
75
+ billing.address.postal_code = 08014
68
76
  home.phone.phone_type_id = 2
69
77
  ```
70
78
 
71
- ### **3. Default Location Type selectors**
72
- If no prefix is used, default types are applied.
73
-
74
- ### **4. Birth Date Normalization**
75
- Accepted input formats:
76
-
77
- - YYYY-MM-DD
78
- - DD/MM/YYYY
79
- - DD-MM-YYYY
80
- - YYYY/MM/DD
81
- - YYYY.MM.DD
82
-
83
- Auto-normalized to `YYYY-MM-DD`.
84
-
85
- ### **5. GET MANY with JSON Filters**
86
- ```
79
+ ### GET MANY with JSON filters
80
+ Example:
81
+ ```json
87
82
  [
88
83
  ["first_name", "LIKE", "Ju%"],
89
84
  ["birth_date", ">", "1990-01-01"],
@@ -91,8 +86,19 @@ Auto-normalized to `YYYY-MM-DD`.
91
86
  ]
92
87
  ```
93
88
 
94
- ### **6. Custom API Call Mode**
95
- ```
89
+ ### Birth date normalization
90
+ Accepted input formats:
91
+ - YYYY-MM-DD
92
+ - DD/MM/YYYY
93
+ - DD-MM-YYYY
94
+ - YYYY/MM/DD
95
+ - YYYY.MM.DD
96
+
97
+ Normalized to `YYYY-MM-DD`.
98
+
99
+ ### Custom API Call
100
+ Example:
101
+ ```json
96
102
  {
97
103
  "entity": "Contact",
98
104
  "action": "get",
@@ -100,11 +106,45 @@ Auto-normalized to `YYYY-MM-DD`.
100
106
  }
101
107
  ```
102
108
 
103
- ## 🧑‍💻 About Ixiam Global Solutions
109
+ ---
110
+
111
+ ## Compatibility
112
+
113
+ - **n8n version:** 1.0.0 or higher
114
+ - **Node.js:** 18 or higher
115
+ - **CiviCRM:** API v4 compatible (including Civi-Go)
116
+
117
+ ---
118
+
119
+ ## Development
120
+
121
+ Clone the repository and run:
122
+
123
+ ```
124
+ npm install
125
+ npm run dev
126
+ ```
127
+
128
+ Build:
129
+
130
+ ```
131
+ npm run build
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Contributions
137
+
138
+ Pull requests and issues are welcome in the GitHub repository.
139
+
140
+ ---
141
+
142
+ ## About Ixiam Global Solutions
143
+ Website: https://www.ixiam.com
144
+ Email: info@ixiam.com
104
145
 
105
- Website: **https://www.ixiam.com**
106
- Contact: **info@ixiam.com**
146
+ ---
107
147
 
108
- ## 📄 License
148
+ ## License
109
149
 
110
150
  MIT License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ixiam/n8n-nodes-civicrm",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Full-featured CiviCRM API v4 integration for n8n with support for Contacts, Memberships, Groups, Relationships, Activities and structured sub-entities like Email, Phone, and Address.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -16,17 +16,18 @@
16
16
  "dev": "n8n-node dev",
17
17
  "build": "n8n-node build",
18
18
  "lint": "n8n-node lint",
19
- "release": "n8n-node release"
19
+ "release": "n8n-node release",
20
+ "test": "npm run build"
20
21
  },
21
22
  "repository": {
22
23
  "type": "git",
23
- "url": "https://github.com/ixiam/n8n-nodes-civicrm.git"
24
+ "url": "git+https://github.com/ixiam/n8n-nodes-civicrm.git"
24
25
  },
25
26
  "homepage": "https://ixiam.com",
26
27
  "bugs": {
27
28
  "url": "https://github.com/ixiam/n8n-nodes-civicrm/issues"
28
29
  },
29
- "author": "Ixiam / Julian Reartes",
30
+ "author": "Ixiam/Julian Reartes <info@ixiam.com> (https://www.ixiam.com)",
30
31
  "engines": {
31
32
  "node": ">=18"
32
33
  },