@wals-pro/n8n-nodes-weclapp 0.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.
Files changed (98) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +206 -0
  3. package/dist/credentials/WeclappApi.credentials.d.ts +10 -0
  4. package/dist/credentials/WeclappApi.credentials.js +56 -0
  5. package/dist/credentials/WeclappApi.credentials.js.map +1 -0
  6. package/dist/credentials/weclapp.dark.svg +19 -0
  7. package/dist/credentials/weclapp.light.svg +19 -0
  8. package/dist/nodes/Weclapp/GenericFunctions.d.ts +19 -0
  9. package/dist/nodes/Weclapp/GenericFunctions.js +287 -0
  10. package/dist/nodes/Weclapp/GenericFunctions.js.map +1 -0
  11. package/dist/nodes/Weclapp/SharedFields.d.ts +24 -0
  12. package/dist/nodes/Weclapp/SharedFields.js +348 -0
  13. package/dist/nodes/Weclapp/SharedFields.js.map +1 -0
  14. package/dist/nodes/Weclapp/Weclapp.node.d.ts +27 -0
  15. package/dist/nodes/Weclapp/Weclapp.node.js +231 -0
  16. package/dist/nodes/Weclapp/Weclapp.node.js.map +1 -0
  17. package/dist/nodes/Weclapp/actions/applyPayment.d.ts +9 -0
  18. package/dist/nodes/Weclapp/actions/applyPayment.js +64 -0
  19. package/dist/nodes/Weclapp/actions/applyPayment.js.map +1 -0
  20. package/dist/nodes/Weclapp/actions/articlePriceSync.d.ts +41 -0
  21. package/dist/nodes/Weclapp/actions/articlePriceSync.js +238 -0
  22. package/dist/nodes/Weclapp/actions/articlePriceSync.js.map +1 -0
  23. package/dist/nodes/Weclapp/actions/documentUpload.d.ts +3 -0
  24. package/dist/nodes/Weclapp/actions/documentUpload.js +90 -0
  25. package/dist/nodes/Weclapp/actions/documentUpload.js.map +1 -0
  26. package/dist/nodes/Weclapp/descriptions/ArticleDescription.d.ts +3 -0
  27. package/dist/nodes/Weclapp/descriptions/ArticleDescription.js +724 -0
  28. package/dist/nodes/Weclapp/descriptions/ArticleDescription.js.map +1 -0
  29. package/dist/nodes/Weclapp/descriptions/BankDescription.d.ts +6 -0
  30. package/dist/nodes/Weclapp/descriptions/BankDescription.js +471 -0
  31. package/dist/nodes/Weclapp/descriptions/BankDescription.js.map +1 -0
  32. package/dist/nodes/Weclapp/descriptions/CustomApiDescription.d.ts +4 -0
  33. package/dist/nodes/Weclapp/descriptions/CustomApiDescription.js +238 -0
  34. package/dist/nodes/Weclapp/descriptions/CustomApiDescription.js.map +1 -0
  35. package/dist/nodes/Weclapp/descriptions/DocumentDescription.d.ts +3 -0
  36. package/dist/nodes/Weclapp/descriptions/DocumentDescription.js +976 -0
  37. package/dist/nodes/Weclapp/descriptions/DocumentDescription.js.map +1 -0
  38. package/dist/nodes/Weclapp/descriptions/PartyDescription.d.ts +4 -0
  39. package/dist/nodes/Weclapp/descriptions/PartyDescription.js +408 -0
  40. package/dist/nodes/Weclapp/descriptions/PartyDescription.js.map +1 -0
  41. package/dist/nodes/Weclapp/descriptions/ProductionOrderDescription.d.ts +4 -0
  42. package/dist/nodes/Weclapp/descriptions/ProductionOrderDescription.js +628 -0
  43. package/dist/nodes/Weclapp/descriptions/ProductionOrderDescription.js.map +1 -0
  44. package/dist/nodes/Weclapp/descriptions/PurchaseInvoiceDescription.d.ts +3 -0
  45. package/dist/nodes/Weclapp/descriptions/PurchaseInvoiceDescription.js +559 -0
  46. package/dist/nodes/Weclapp/descriptions/PurchaseInvoiceDescription.js.map +1 -0
  47. package/dist/nodes/Weclapp/descriptions/PurchaseOrderDescription.d.ts +3 -0
  48. package/dist/nodes/Weclapp/descriptions/PurchaseOrderDescription.js +681 -0
  49. package/dist/nodes/Weclapp/descriptions/PurchaseOrderDescription.js.map +1 -0
  50. package/dist/nodes/Weclapp/descriptions/QuotationDescription.d.ts +3 -0
  51. package/dist/nodes/Weclapp/descriptions/QuotationDescription.js +1069 -0
  52. package/dist/nodes/Weclapp/descriptions/QuotationDescription.js.map +1 -0
  53. package/dist/nodes/Weclapp/descriptions/SalesInvoiceDescription.d.ts +3 -0
  54. package/dist/nodes/Weclapp/descriptions/SalesInvoiceDescription.js +994 -0
  55. package/dist/nodes/Weclapp/descriptions/SalesInvoiceDescription.js.map +1 -0
  56. package/dist/nodes/Weclapp/descriptions/SalesOrderDescription.d.ts +4 -0
  57. package/dist/nodes/Weclapp/descriptions/SalesOrderDescription.js +1122 -0
  58. package/dist/nodes/Weclapp/descriptions/SalesOrderDescription.js.map +1 -0
  59. package/dist/nodes/Weclapp/descriptions/ShipmentDescription.d.ts +3 -0
  60. package/dist/nodes/Weclapp/descriptions/ShipmentDescription.js +502 -0
  61. package/dist/nodes/Weclapp/descriptions/ShipmentDescription.js.map +1 -0
  62. package/dist/nodes/Weclapp/descriptions/TagUnitUserDescription.d.ts +9 -0
  63. package/dist/nodes/Weclapp/descriptions/TagUnitUserDescription.js +664 -0
  64. package/dist/nodes/Weclapp/descriptions/TagUnitUserDescription.js.map +1 -0
  65. package/dist/nodes/Weclapp/descriptions/TicketDescription.d.ts +9 -0
  66. package/dist/nodes/Weclapp/descriptions/TicketDescription.js +745 -0
  67. package/dist/nodes/Weclapp/descriptions/TicketDescription.js.map +1 -0
  68. package/dist/nodes/Weclapp/descriptions/WarehouseDescription.d.ts +35 -0
  69. package/dist/nodes/Weclapp/descriptions/WarehouseDescription.js +935 -0
  70. package/dist/nodes/Weclapp/descriptions/WarehouseDescription.js.map +1 -0
  71. package/dist/nodes/Weclapp/descriptions/WebhookDescription.d.ts +4 -0
  72. package/dist/nodes/Weclapp/descriptions/WebhookDescription.js +411 -0
  73. package/dist/nodes/Weclapp/descriptions/WebhookDescription.js.map +1 -0
  74. package/dist/nodes/Weclapp/descriptions/index.d.ts +3 -0
  75. package/dist/nodes/Weclapp/descriptions/index.js +56 -0
  76. package/dist/nodes/Weclapp/descriptions/index.js.map +1 -0
  77. package/dist/nodes/Weclapp/generated/entityMetadata.d.ts +3 -0
  78. package/dist/nodes/Weclapp/generated/entityMetadata.js +368 -0
  79. package/dist/nodes/Weclapp/generated/entityMetadata.js.map +1 -0
  80. package/dist/nodes/Weclapp/generated/openapiMetadata.d.ts +3 -0
  81. package/dist/nodes/Weclapp/generated/openapiMetadata.js +212 -0
  82. package/dist/nodes/Weclapp/generated/openapiMetadata.js.map +1 -0
  83. package/dist/nodes/Weclapp/methods/customAttributes.d.ts +32 -0
  84. package/dist/nodes/Weclapp/methods/customAttributes.js +156 -0
  85. package/dist/nodes/Weclapp/methods/customAttributes.js.map +1 -0
  86. package/dist/nodes/Weclapp/methods/loadOptions.d.ts +3 -0
  87. package/dist/nodes/Weclapp/methods/loadOptions.js +107 -0
  88. package/dist/nodes/Weclapp/methods/loadOptions.js.map +1 -0
  89. package/dist/nodes/Weclapp/weclapp.dark.svg +19 -0
  90. package/dist/nodes/Weclapp/weclapp.light.svg +19 -0
  91. package/dist/nodes/WeclappTrigger/WeclappTrigger.node.d.ts +12 -0
  92. package/dist/nodes/WeclappTrigger/WeclappTrigger.node.js +198 -0
  93. package/dist/nodes/WeclappTrigger/WeclappTrigger.node.js.map +1 -0
  94. package/dist/nodes/WeclappTrigger/weclapp.dark.svg +19 -0
  95. package/dist/nodes/WeclappTrigger/weclapp.light.svg +19 -0
  96. package/dist/package.json +78 -0
  97. package/dist/tsconfig.tsbuildinfo +1 -0
  98. package/package.json +78 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Markus Wals
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,206 @@
1
+ # @wals-pro/n8n-nodes-weclapp
2
+
3
+ [![npm](https://img.shields.io/npm/v/@wals-pro/n8n-nodes-weclapp?label=npm)](https://www.npmjs.com/package/@wals-pro/n8n-nodes-weclapp)
4
+ [![Build](https://github.com/Wals-pro/n8n-nodes-weclapp/actions/workflows/ci.yml/badge.svg)](https://github.com/Wals-pro/n8n-nodes-weclapp/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
+ [![n8n community node](https://img.shields.io/badge/n8n-community--node-orange?logo=n8n)](https://www.npmjs.com/package/@wals-pro/n8n-nodes-weclapp)
7
+
8
+ First-class n8n community node for the [weclapp ERP API](https://www.weclapp.com). Replaces a dozen hand-rolled HTTP Request nodes with a single, credential-aware node that handles authentication, pagination, filter validation, RFC 7807 error parsing, and binary (PDF/image) downloads — out of the box.
9
+
10
+ > **Work in progress — resources are being added incrementally via parallel PRs.**
11
+
12
+ > ⚠️ **Package name:** this is the Wals-pro node, published as **`@wals-pro/n8n-nodes-weclapp`**. The unscoped `n8n-nodes-weclapp` on npm is an unrelated third-party package — make sure you install the scoped name below.
13
+
14
+ ### Why the scoped name
15
+
16
+ The unscoped npm name `n8n-nodes-weclapp` was already taken by an unrelated third-party package before this node existed, so it is not available to us. This project is published under the `@wals-pro` scope as **`@wals-pro/n8n-nodes-weclapp`** — the official Wals-pro weclapp node. Always install the scoped name; anything unscoped is a different codebase we do not maintain.
17
+
18
+ ---
19
+
20
+ ## Installation
21
+
22
+ ### n8n Cloud / n8n desktop
23
+
24
+ **Settings → Community nodes → Install**, then enter:
25
+
26
+ ```
27
+ @wals-pro/n8n-nodes-weclapp
28
+ ```
29
+
30
+ ### Self-hosted n8n (npm)
31
+
32
+ ```bash
33
+ npm install @wals-pro/n8n-nodes-weclapp
34
+ ```
35
+
36
+ Restart n8n after installation.
37
+
38
+ ### Self-hosted n8n (Docker)
39
+
40
+ ```bash
41
+ docker exec -u node -it <container-name> \
42
+ npm install -g @wals-pro/n8n-nodes-weclapp
43
+ ```
44
+
45
+ Then restart the container. For persistent installs, mount a volume at `/home/node/.n8n` and install into it:
46
+
47
+ ```bash
48
+ docker exec -u node -it <container-name> \
49
+ n8n-node install @wals-pro/n8n-nodes-weclapp
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Authentication {#auth}
55
+
56
+ ### Generating an API token
57
+
58
+ 1. Log in to your weclapp instance.
59
+ 2. Open **User Settings** (top-right menu → your name) → **API token**.
60
+ 3. Click **Generate** (or copy the existing token).
61
+
62
+ ### Configuring the credential in n8n
63
+
64
+ 1. Go to **Credentials → New** → search for **weclapp API**.
65
+ 2. Enter your **Base URL** in the format `https://<your-subdomain>.weclapp.com/webapp/api/v2`.
66
+ Replace `<your-subdomain>` with your company's weclapp subdomain.
67
+ 3. Paste the **API token** from User Settings into the **API Key** field.
68
+ 4. Click **Test credential** — n8n sends `GET /currency?pageSize=1` and expects a `200 OK` response to confirm the token and base URL are correct.
69
+
70
+ See [docs/usage.md — Authentication](docs/usage.md#authentication) for details.
71
+
72
+ ---
73
+
74
+ ## Quick Start: List Articles
75
+
76
+ 1. Add a **weclapp** node to your workflow.
77
+ 2. Set **Resource** → `Article`, **Operation** → `Get Many`.
78
+ 3. Set a **Limit** (leave it empty or `0` to fetch all pages automatically).
79
+ 4. Optionally add a **Filter**: `status -eq ACTIVE`.
80
+ 5. Connect to a downstream node (e.g. **Spreadsheet File**, **HTTP Request**).
81
+
82
+ Import the ready-made example: [docs/examples/article-list.json](docs/examples/article-list.json)
83
+
84
+ ---
85
+
86
+ ## Supported Resources
87
+
88
+ | Resource | Operations |
89
+ |---|---|
90
+ | Article | Get, Get Many, Create, Update, Delete + 7 actions |
91
+ | Party (Customer / Supplier) | Get, Get Many, Create, Update, Delete |
92
+ | Sales Order | Get, Get Many, Create, Update, Delete + order actions |
93
+ | Purchase Order | Get, Get Many, Create, Update, Delete + 11 actions |
94
+ | Sales Invoice | Get, Get Many, Create, Update, Delete + PDF |
95
+ | Purchase Invoice | Get, Get Many, Create, Update, Delete + Apply Payment |
96
+ | Quotation | Get, Get Many, Create, Update, Delete + PDF |
97
+ | Shipment | Get, Get Many, Create, Update, Delete + PDF |
98
+ | Warehouse / Stock | Get, Get Many + bookIncoming / bookOutgoing |
99
+ | Bank Transaction | Get, Get Many |
100
+ | Document | Get, Get Many, Upload, Download |
101
+ | Production Order | Get, Get Many, Create, Update + PDF |
102
+ | Ticket + Comment | Full CRUD |
103
+ | Tag / Unit / User | Get, Get Many |
104
+ | Webhook | CRUD |
105
+ | **Custom API Call** | Any method / path — escape hatch for all 130+ entities |
106
+
107
+ ---
108
+
109
+ ## Trigger Node
110
+
111
+ Use **weclapp Trigger** to start workflows on real-time weclapp events:
112
+
113
+ 1. Add **weclapp Trigger** to a workflow.
114
+ 2. Select **Entity Type** (e.g. `Sales Order`) and **Events** (Created, Updated, Deleted).
115
+ 3. **Activate** the workflow — the node registers a webhook in weclapp automatically and removes it on deactivation.
116
+
117
+ Import the example: [docs/examples/webhook-trigger.json](docs/examples/webhook-trigger.json)
118
+
119
+ ---
120
+
121
+ ## Example Workflows
122
+
123
+ | Example | What it shows |
124
+ |---|---|
125
+ | [article-list.json](docs/examples/article-list.json) | List articles with a status filter |
126
+ | [party-create.json](docs/examples/party-create.json) | Create a new customer |
127
+ | [sales-order-lifecycle.json](docs/examples/sales-order-lifecycle.json) | Get and update a sales order |
128
+ | [webhook-trigger.json](docs/examples/webhook-trigger.json) | Receive weclapp events in real time |
129
+ | [reconciliation-find.json](docs/examples/reconciliation-find.json) | Fetch open bank transactions + invoices |
130
+
131
+ ---
132
+
133
+ ## Update & Workflow Tips
134
+
135
+ ### Update operations are version-free
136
+
137
+ Update sends a `PUT` with `ignoreMissingProperties=true`, so you do **not** need to fetch the entity's current `version` first, and you do **not** need to send a full body. A status-only update works on its own:
138
+
139
+ ```json
140
+ { "status": "DELIVERY_NOTE_PRINTED" }
141
+ ```
142
+
143
+ Only the properties you send are changed; every other field on the record is left untouched. This avoids optimistic-lock (`409`) errors from stale versions and prevents accidentally wiping fields you did not include.
144
+
145
+ ### Guard downstream marker writes on create success
146
+
147
+ After a **Create** operation, verify success before any downstream step that writes a marker back (e.g. flagging a source row as "synced"). A created record has a non-null `id` and no `error`, so gate the marker step with:
148
+
149
+ ```
150
+ {{ $json.id != null && $json.error == null }}
151
+ ```
152
+
153
+ For marker workflows, also prefer the node's **Stop On Error** setting (Settings → *Stop On Error*): if the create fails, the whole item stops instead of falling through and marking a record as synced that was never created.
154
+
155
+ ---
156
+
157
+ ## Available Scripts
158
+
159
+ | Script | Description |
160
+ |---|---|
161
+ | `npm run build` | Compile TypeScript to `dist/` |
162
+ | `npm run dev` | Start n8n with hot reload |
163
+ | `npm run lint` | Lint with n8n community node linter |
164
+ | `npm run test` | Run vitest unit + integration tests |
165
+ | `npm run codegen` | Regenerate entity metadata from `@weclapp/sdk` |
166
+ | `npm run release` | Bump version, tag, push → triggers npm publish |
167
+
168
+ ---
169
+
170
+ ## Contributing
171
+
172
+ PRs welcome. Each resource lives in its own `descriptions/*Description.ts` file — see existing resources for the pattern.
173
+
174
+ **Dev setup:**
175
+
176
+ ```bash
177
+ git clone https://github.com/Wals-pro/n8n-nodes-weclapp.git
178
+ cd n8n-nodes-weclapp
179
+ npm install
180
+ npm run build
181
+ npm run dev # launches n8n at http://localhost:5678 with hot reload
182
+ ```
183
+
184
+ **Before submitting a PR:**
185
+
186
+ ```bash
187
+ npm run lint
188
+ npm run build
189
+ npm run test
190
+ ```
191
+
192
+ Open issues for new resources, bugs, or API endpoint gaps: [GitHub Issues](https://github.com/Wals-pro/n8n-nodes-weclapp/issues)
193
+
194
+ ---
195
+
196
+ ## License
197
+
198
+ MIT — Copyright (c) 2026 Markus Wals
199
+
200
+ ---
201
+
202
+ ## About
203
+
204
+ Built and maintained by **[Wals-pro](https://wals.pro)** — weclapp implementation partner.
205
+
206
+ Try the AI-powered weclapp assistant (Beta): **[dev.weclapp-ai.wals.pro](https://dev.weclapp-ai.wals.pro)**
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties, Icon } from 'n8n-workflow';
2
+ export declare class WeclappApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ icon: Icon;
6
+ documentationUrl: string;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticateGeneric;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WeclappApi = void 0;
4
+ class WeclappApi {
5
+ constructor() {
6
+ this.name = 'weclappApi';
7
+ this.displayName = 'Weclapp API';
8
+ this.icon = {
9
+ light: 'file:weclapp.light.svg',
10
+ dark: 'file:weclapp.dark.svg',
11
+ };
12
+ this.documentationUrl = 'https://www.weclapp.com/api-docs/';
13
+ this.properties = [
14
+ {
15
+ displayName: 'Base URL',
16
+ name: 'baseUrl',
17
+ type: 'string',
18
+ default: 'https://tenant.weclapp.com/webapp/api/v2',
19
+ placeholder: 'https://yourcompany.weclapp.com/webapp/api/v2',
20
+ description: "Your weclapp API base URL. Replace 'tenant' with your subdomain.",
21
+ required: true,
22
+ },
23
+ {
24
+ displayName: 'API Key',
25
+ name: 'apiKey',
26
+ type: 'string',
27
+ typeOptions: {
28
+ password: true,
29
+ },
30
+ default: '',
31
+ description: 'API token from weclapp User Settings → API token.',
32
+ required: true,
33
+ },
34
+ ];
35
+ this.authenticate = {
36
+ type: 'generic',
37
+ properties: {
38
+ headers: {
39
+ AuthenticationToken: '={{$credentials.apiKey}}',
40
+ },
41
+ },
42
+ };
43
+ this.test = {
44
+ request: {
45
+ baseURL: '={{$credentials.baseUrl}}',
46
+ url: '/currency',
47
+ qs: {
48
+ pageSize: 1,
49
+ },
50
+ method: 'GET',
51
+ },
52
+ };
53
+ }
54
+ }
55
+ exports.WeclappApi = WeclappApi;
56
+ //# sourceMappingURL=WeclappApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeclappApi.credentials.js","sourceRoot":"","sources":["../../credentials/WeclappApi.credentials.ts"],"names":[],"mappings":";;;AAcA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,aAAa,CAAC;QAE5B,SAAI,GAAS;YACZ,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,uBAAuB;SAC7B,CAAC;QAEF,qBAAgB,GAAG,mCAAmC,CAAC;QAEvD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,0CAA0C;gBACnD,WAAW,EAAE,+CAA+C;gBAC5D,WAAW,EACV,kEAAkE;gBACnE,QAAQ,EAAE,IAAI;aACd;YACD;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,mDAAmD;gBAChE,QAAQ,EAAE,IAAI;aACd;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,mBAAmB,EAAE,0BAA0B;iBAC/C;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,WAAW;gBAChB,EAAE,EAAE;oBACH,QAAQ,EAAE,CAAC;iBACX;gBACD,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAvDD,gCAuDC"}
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400">
3
+ <g transform="translate(30 48.5) scale(0.865)">
4
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <g id="weclapp-rgb-vertical-negative" fill-rule="nonzero">
6
+ <polygon id="Path" fill="#FFFFFF" points="0.06 278.76 14.7 278.76 26.08 309.05 38.18 278.76 49.06 278.76 61.26 309.05 72.54 278.76 87.18 278.76 66.54 329.58 56.38 329.58 43.67 299.39 30.86 329.58 20.7 329.58"></polygon>
7
+ <path d="M88.6,293.7 C89.7549812,290.556297 91.5186333,287.671248 93.79,285.21 C96.0819005,282.766589 98.8713328,280.843313 101.97,279.57 C105.408829,278.182019 109.092253,277.501792 112.8,277.57 C116.383149,277.516316 119.9415,278.172249 123.27,279.5 C126.278588,280.713019 128.985245,282.569793 131.2,284.94 C133.453698,287.399678 135.158118,290.310828 136.2,293.48 C137.389464,297.068495 137.9741,300.829765 137.93,304.61 L137.93,308.27 L100.5,308.27 L100.6,308.47 C100.963056,310.047346 101.643552,311.534229 102.6,312.84 C104.378807,315.23323 106.929027,316.939263 109.82,317.67 C111.264282,318.039908 112.749101,318.22803 114.24,318.23 C117.034683,318.271772 119.8125,317.790148 122.43,316.81 C124.717426,315.927797 126.832704,314.651862 128.68,313.04 L134.27,324.13 C131.853226,326.079931 129.156242,327.654296 126.27,328.8 C122.373531,330.259112 118.228396,330.938642 114.07,330.8 C110.147275,330.875128 106.246626,330.196164 102.58,328.8 C99.3584146,327.555615 96.4325126,325.651565 93.99,323.21 C91.629241,320.809071 89.8086153,317.931527 88.65,314.77 C86.2325105,307.978723 86.2325105,300.561277 88.65,293.77 L88.6,293.7 Z M120,291.62 C118.166667,289.82 115.623333,288.92 112.37,288.92 C106.48962,288.491711 101.266707,292.652633 100.37,298.48 L123.24,298.48 C122.993407,295.885363 121.847257,293.458638 120,291.62 L120,291.62 Z" id="Shape" fill="#FFFFFF"></path>
8
+ <path d="M145.23,293.24 C147.781764,286.812356 152.960521,281.782812 159.46,279.42 C162.941683,278.135121 166.629035,277.497968 170.34,277.54 C174.101683,277.486862 177.837769,278.16615 181.34,279.54 C184.456776,280.769812 187.290878,282.620655 189.67,284.98 L182,295.73 C180.528647,294.276994 178.842194,293.059375 177,292.12 C174.913877,291.098144 172.612273,290.593917 170.29,290.65 C168.478897,290.641472 166.683018,290.980958 165,291.65 C163.41903,292.261759 161.982107,293.194737 160.78,294.39 C159.577155,295.615131 158.628906,297.066394 157.99,298.66 C156.629541,302.22805 156.629541,306.17195 157.99,309.74 C158.628906,311.333606 159.577155,312.784869 160.78,314.01 C161.984251,315.205056 163.420399,316.140935 165,316.76 C166.684319,317.424551 168.479325,317.763871 170.29,317.76 C172.664758,317.803599 175.015925,317.28264 177.15,316.24 C179.041888,315.297461 180.773182,314.062268 182.28,312.58 L189.71,323.35 C187.33326,325.657036 184.536056,327.48676 181.47,328.74 C177.860509,330.214882 173.988571,330.939594 170.09,330.87 C166.412019,330.906801 162.758401,330.269621 159.31,328.99 C156.116436,327.817657 153.206325,325.984355 150.77,323.61 C148.362254,321.217017 146.461122,318.363618 145.18,315.22 C142.472896,308.167525 142.472896,300.362475 145.18,293.31 L145.23,293.24 Z" id="Path" fill="#FFFFFF"></path>
9
+ <polygon id="Path" fill="#FFFFFF" points="210.9 329.58 197.38 329.58 197.38 258.42 210.9 258.42"></polygon>
10
+ <path d="M229.4,280.48 C233.869945,278.47695 238.7336,277.50627 243.63,277.64 C251.09,277.64 256.666667,279.306667 260.36,282.64 C264.053333,285.973333 265.9,291.19 265.9,298.29 L265.9,329.71 L252.48,329.71 L252.48,322.79 C250.933373,325.007227 248.940862,326.877122 246.63,328.28 C243.662782,330.020032 240.256629,330.86723 236.82,330.72 C234.465301,330.74549 232.125055,330.34924 229.91,329.55 C227.904257,328.827177 226.05707,327.723618 224.47,326.3 C222.944725,324.902403 221.731618,323.198601 220.91,321.3 C220.043429,319.257987 219.610941,317.058089 219.64,314.84 C219.611456,312.694839 220.026819,310.566952 220.86,308.59 C221.653377,306.763169 222.814104,305.11909 224.27,303.76 C225.780645,302.377247 227.515354,301.261352 229.4,300.46 C231.471476,299.588382 233.669435,299.054929 235.91,298.88 L249.84,297.66 C251.6,297.46 252.48,296.78 252.48,295.66 L252.48,294.85 C252.469567,293.335897 251.654374,291.94169 250.34,291.19 C248.92,290.236667 246.683333,289.763333 243.63,289.77 C242.288692,289.762216 240.949574,289.879389 239.63,290.12 C238.370424,290.349021 237.142039,290.72492 235.97,291.24 C234.850275,291.734419 233.819775,292.410157 232.92,293.24 C232.027382,294.089108 231.342929,295.132899 230.92,296.29 L220.92,289.18 C222.568914,285.328033 225.59152,282.22701 229.4,280.48 Z M239.87,308.54 C238.133964,308.727007 236.491887,309.422802 235.15,310.54 C234.094149,311.525097 233.515754,312.918577 233.56367,314.361817 C233.611586,315.805057 234.281134,317.157105 235.4,318.07 C236.978704,319.155497 238.878787,319.673702 240.79,319.54 C242.439634,319.558144 244.078012,319.266425 245.62,318.68 C246.988069,318.153527 248.246169,317.376964 249.33,316.39 C251.367343,314.504845 252.511721,311.845531 252.48,309.07 L252.48,307.07 L239.87,308.54 Z" id="Shape" fill="#FFFFFF"></path>
11
+ <path d="M277.29,278.76 L290.7,278.76 L290.7,285.87 C292.523004,283.303245 294.919911,281.19739 297.7,279.72 C300.744903,278.148079 304.133981,277.36096 307.56,277.43 C310.612799,277.420315 313.636269,278.025689 316.45,279.21 C319.264069,280.398281 321.795845,282.166776 323.88,284.4 C326.095489,286.827006 327.79636,289.677667 328.88,292.78 C331.320066,300.177309 331.320066,308.162691 328.88,315.56 C327.786949,318.657928 326.087142,321.506804 323.88,323.94 C321.832391,326.165816 319.338023,327.934364 316.56,329.13 C313.761198,330.317236 310.750173,330.922843 307.71,330.91 C304.14414,331.018331 300.615627,330.157803 297.5,328.42 C294.807427,326.869794 292.467642,324.775226 290.63,322.27 L290.63,349.92 L277.29,349.92 L277.29,278.76 Z M308.9,316.83 C312.13121,315.573945 314.676158,313.003548 315.9,309.76 C317.259788,306.157373 317.259788,302.182627 315.9,298.58 C315.279992,296.961926 314.329822,295.490695 313.11,294.26 C311.907367,293.062942 310.470778,292.126776 308.89,291.51 C307.205681,290.845449 305.410675,290.506129 303.6,290.51 C300.070944,290.408379 296.648654,291.726862 294.1,294.17 C291.56,296.61 290.29,299.943333 290.29,304.17 C290.29,308.396667 291.56,311.73 294.1,314.17 C296.662164,316.58629 300.079756,317.884975 303.6,317.78 C305.410824,317.80107 307.209232,317.478714 308.9,316.83 L308.9,316.83 Z" id="Shape" fill="#FFFFFF"></path>
12
+ <path d="M339.4,278.76 L352.82,278.76 L352.82,285.87 C354.644651,283.30473 357.041172,281.199215 359.82,279.72 C362.86578,278.150466 366.254246,277.36349 369.68,277.43 C372.736058,277.420065 375.762845,278.025422 378.58,279.21 C381.389758,280.400816 383.917768,282.16906 386,284.4 C388.215489,286.827006 389.91636,289.677667 391,292.78 C393.440066,300.177309 393.440066,308.162691 391,315.56 C389.906949,318.657928 388.207142,321.506804 386,323.94 C383.956222,326.170162 381.460857,327.939417 378.68,329.13 C375.884379,330.316174 372.876836,330.921765 369.84,330.91 C366.270982,331.018146 362.7393,330.157687 359.62,328.42 C356.930345,326.869623 354.593865,324.774966 352.76,322.27 L352.76,349.92 L339.4,349.92 L339.4,278.76 Z M371,316.83 C372.582106,316.215809 374.019196,315.279316 375.22,314.08 C376.441599,312.848773 377.394954,311.377881 378.02,309.76 C379.379788,306.157373 379.379788,302.182627 378.02,298.58 C377.392642,296.9633 376.439576,295.492855 375.22,294.26 C374.019196,293.060684 372.582106,292.124191 371,291.51 C369.319417,290.844585 367.527516,290.50521 365.72,290.51 C362.187898,290.407932 358.762338,291.726286 356.21,294.17 C353.67,296.61 352.4,299.943333 352.4,304.17 C352.4,308.396667 353.67,311.73 356.21,314.17 C358.775828,316.586876 362.196699,317.88544 365.72,317.78 C367.524293,317.800719 369.316085,317.478332 371,316.83 L371,316.83 Z" id="Shape" fill="#FFFFFF"></path>
13
+ <path d="M141,21.83 L123.22,140.83 C120.31,159.18 93.53,158.77 91.22,140.83 L73.44,21.83 C70.98,10.83 78.82,0.32 89.44,0.32 L125,0.32 C135.61,0.32 143.45,10.85 141,21.83 Z" id="Path" fill="#12DA9D"></path>
14
+ <path d="M319.5,21.83 L301.72,140.83 C298.81,159.18 272.03,158.77 269.72,140.83 L251.94,21.83 C249.48,10.83 257.32,0.32 267.94,0.32 L303.5,0.32 C314.12,0.32 322,10.85 319.5,21.83 Z" id="Path" fill="#12DA9D"></path>
15
+ <path d="M162.68,186.45 L180.47,67.45 C183.38,49.11 210.15,49.52 212.47,67.45 L230.26,186.45 C232.71,197.45 224.88,207.96 214.26,207.96 L178.68,207.96 C168.06,208 160.23,197.42 162.68,186.45 Z" id="Path" fill="#12DA9D"></path>
16
+ </g>
17
+ </g>
18
+ </g>
19
+ </svg>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400">
3
+ <g transform="translate(30 48.5) scale(0.865)">
4
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <g id="weclapp-rgb-vertical-positive" fill-rule="nonzero">
6
+ <polygon id="Path" fill="#000000" points="0.06 278.76 14.7 278.76 26.08 309.05 38.18 278.76 49.06 278.76 61.26 309.05 72.54 278.76 87.18 278.76 66.54 329.58 56.38 329.58 43.67 299.39 30.86 329.58 20.7 329.58"></polygon>
7
+ <path d="M88.6,293.7 C89.7549812,290.556297 91.5186333,287.671248 93.79,285.21 C96.0819005,282.766589 98.8713328,280.843313 101.97,279.57 C105.408829,278.182019 109.092253,277.501792 112.8,277.57 C116.383149,277.516316 119.9415,278.172249 123.27,279.5 C126.278588,280.713019 128.985245,282.569793 131.2,284.94 C133.453698,287.399678 135.158118,290.310828 136.2,293.48 C137.389464,297.068495 137.9741,300.829765 137.93,304.61 L137.93,308.27 L100.5,308.27 L100.6,308.47 C100.963056,310.047346 101.643552,311.534229 102.6,312.84 C104.378807,315.23323 106.929027,316.939263 109.82,317.67 C111.264282,318.039908 112.749101,318.22803 114.24,318.23 C117.034683,318.271772 119.8125,317.790148 122.43,316.81 C124.717426,315.927797 126.832704,314.651862 128.68,313.04 L134.27,324.13 C131.853226,326.079931 129.156242,327.654296 126.27,328.8 C122.373531,330.259112 118.228396,330.938642 114.07,330.8 C110.147275,330.875128 106.246626,330.196164 102.58,328.8 C99.3584146,327.555615 96.4325126,325.651565 93.99,323.21 C91.629241,320.809071 89.8086153,317.931527 88.65,314.77 C86.2325105,307.978723 86.2325105,300.561277 88.65,293.77 L88.6,293.7 Z M120,291.62 C118.166667,289.82 115.623333,288.92 112.37,288.92 C106.48962,288.491711 101.266707,292.652633 100.37,298.48 L123.24,298.48 C122.993407,295.885363 121.847257,293.458638 120,291.62 L120,291.62 Z" id="Shape" fill="#000000"></path>
8
+ <path d="M145.23,293.24 C147.781764,286.812356 152.960521,281.782812 159.46,279.42 C162.941683,278.135121 166.629035,277.497968 170.34,277.54 C174.101683,277.486862 177.837769,278.16615 181.34,279.54 C184.456776,280.769812 187.290878,282.620655 189.67,284.98 L182,295.73 C180.528647,294.276994 178.842194,293.059375 177,292.12 C174.913877,291.098144 172.612273,290.593917 170.29,290.65 C168.478897,290.641472 166.683018,290.980958 165,291.65 C163.41903,292.261759 161.982107,293.194737 160.78,294.39 C159.577155,295.615131 158.628906,297.066394 157.99,298.66 C156.629541,302.22805 156.629541,306.17195 157.99,309.74 C158.628906,311.333606 159.577155,312.784869 160.78,314.01 C161.984251,315.205056 163.420399,316.140935 165,316.76 C166.684319,317.424551 168.479325,317.763871 170.29,317.76 C172.664758,317.803599 175.015925,317.28264 177.15,316.24 C179.041888,315.297461 180.773182,314.062268 182.28,312.58 L189.71,323.35 C187.33326,325.657036 184.536056,327.48676 181.47,328.74 C177.860509,330.214882 173.988571,330.939594 170.09,330.87 C166.412019,330.906801 162.758401,330.269621 159.31,328.99 C156.116436,327.817657 153.206325,325.984355 150.77,323.61 C148.362254,321.217017 146.461122,318.363618 145.18,315.22 C142.472896,308.167525 142.472896,300.362475 145.18,293.31 L145.23,293.24 Z" id="Path" fill="#000000"></path>
9
+ <polygon id="Path" fill="#000000" points="210.9 329.58 197.38 329.58 197.38 258.42 210.9 258.42"></polygon>
10
+ <path d="M229.4,280.48 C233.869945,278.47695 238.7336,277.50627 243.63,277.64 C251.09,277.64 256.666667,279.306667 260.36,282.64 C264.053333,285.973333 265.9,291.19 265.9,298.29 L265.9,329.71 L252.48,329.71 L252.48,322.79 C250.933373,325.007227 248.940862,326.877122 246.63,328.28 C243.662782,330.020032 240.256629,330.86723 236.82,330.72 C234.465301,330.74549 232.125055,330.34924 229.91,329.55 C227.904257,328.827177 226.05707,327.723618 224.47,326.3 C222.944725,324.902403 221.731618,323.198601 220.91,321.3 C220.043429,319.257987 219.610941,317.058089 219.64,314.84 C219.611456,312.694839 220.026819,310.566952 220.86,308.59 C221.653377,306.763169 222.814104,305.11909 224.27,303.76 C225.780645,302.377247 227.515354,301.261352 229.4,300.46 C231.471476,299.588382 233.669435,299.054929 235.91,298.88 L249.84,297.66 C251.6,297.46 252.48,296.78 252.48,295.66 L252.48,294.85 C252.469567,293.335897 251.654374,291.94169 250.34,291.19 C248.92,290.236667 246.683333,289.763333 243.63,289.77 C242.288692,289.762216 240.949574,289.879389 239.63,290.12 C238.370424,290.349021 237.142039,290.72492 235.97,291.24 C234.850275,291.734419 233.819775,292.410157 232.92,293.24 C232.027382,294.089108 231.342929,295.132899 230.92,296.29 L220.92,289.18 C222.568914,285.328033 225.59152,282.22701 229.4,280.48 Z M239.87,308.54 C238.133964,308.727007 236.491887,309.422802 235.15,310.54 C234.094149,311.525097 233.515754,312.918577 233.56367,314.361817 C233.611586,315.805057 234.281134,317.157105 235.4,318.07 C236.978704,319.155497 238.878787,319.673702 240.79,319.54 C242.439634,319.558144 244.078012,319.266425 245.62,318.68 C246.988069,318.153527 248.246169,317.376964 249.33,316.39 C251.367343,314.504845 252.511721,311.845531 252.48,309.07 L252.48,307.07 L239.87,308.54 Z" id="Shape" fill="#000000"></path>
11
+ <path d="M277.29,278.76 L290.7,278.76 L290.7,285.87 C292.523004,283.303245 294.919911,281.19739 297.7,279.72 C300.744903,278.148079 304.133981,277.36096 307.56,277.43 C310.612799,277.420315 313.636269,278.025689 316.45,279.21 C319.264069,280.398281 321.795845,282.166776 323.88,284.4 C326.095489,286.827006 327.79636,289.677667 328.88,292.78 C331.320066,300.177309 331.320066,308.162691 328.88,315.56 C327.786949,318.657928 326.087142,321.506804 323.88,323.94 C321.832391,326.165816 319.338023,327.934364 316.56,329.13 C313.761198,330.317236 310.750173,330.922843 307.71,330.91 C304.14414,331.018331 300.615627,330.157803 297.5,328.42 C294.807427,326.869794 292.467642,324.775226 290.63,322.27 L290.63,349.92 L277.29,349.92 L277.29,278.76 Z M308.9,316.83 C312.13121,315.573945 314.676158,313.003548 315.9,309.76 C317.259788,306.157373 317.259788,302.182627 315.9,298.58 C315.279992,296.961926 314.329822,295.490695 313.11,294.26 C311.907367,293.062942 310.470778,292.126776 308.89,291.51 C307.205681,290.845449 305.410675,290.506129 303.6,290.51 C300.070944,290.408379 296.648654,291.726862 294.1,294.17 C291.56,296.61 290.29,299.943333 290.29,304.17 C290.29,308.396667 291.56,311.73 294.1,314.17 C296.662164,316.58629 300.079756,317.884975 303.6,317.78 C305.410824,317.80107 307.209232,317.478714 308.9,316.83 L308.9,316.83 Z" id="Shape" fill="#000000"></path>
12
+ <path d="M339.4,278.76 L352.82,278.76 L352.82,285.87 C354.644651,283.30473 357.041172,281.199215 359.82,279.72 C362.86578,278.150466 366.254246,277.36349 369.68,277.43 C372.736058,277.420065 375.762845,278.025422 378.58,279.21 C381.389758,280.400816 383.917768,282.16906 386,284.4 C388.215489,286.827006 389.91636,289.677667 391,292.78 C393.440066,300.177309 393.440066,308.162691 391,315.56 C389.906949,318.657928 388.207142,321.506804 386,323.94 C383.956222,326.170162 381.460857,327.939417 378.68,329.13 C375.884379,330.316174 372.876836,330.921765 369.84,330.91 C366.270982,331.018146 362.7393,330.157687 359.62,328.42 C356.930345,326.869623 354.593865,324.774966 352.76,322.27 L352.76,349.92 L339.4,349.92 L339.4,278.76 Z M371,316.83 C372.582106,316.215809 374.019196,315.279316 375.22,314.08 C376.441599,312.848773 377.394954,311.377881 378.02,309.76 C379.379788,306.157373 379.379788,302.182627 378.02,298.58 C377.392642,296.9633 376.439576,295.492855 375.22,294.26 C374.019196,293.060684 372.582106,292.124191 371,291.51 C369.319417,290.844585 367.527516,290.50521 365.72,290.51 C362.187898,290.407932 358.762338,291.726286 356.21,294.17 C353.67,296.61 352.4,299.943333 352.4,304.17 C352.4,308.396667 353.67,311.73 356.21,314.17 C358.775828,316.586876 362.196699,317.88544 365.72,317.78 C367.524293,317.800719 369.316085,317.478332 371,316.83 L371,316.83 Z" id="Shape" fill="#000000"></path>
13
+ <path d="M141,21.83 L123.22,140.83 C120.31,159.18 93.53,158.77 91.22,140.83 L73.44,21.83 C70.98,10.83 78.82,0.32 89.44,0.32 L125,0.32 C135.61,0.32 143.45,10.85 141,21.83 Z" id="Path" fill="#12DA9D"></path>
14
+ <path d="M319.5,21.83 L301.72,140.83 C298.81,159.18 272.03,158.77 269.72,140.83 L251.94,21.83 C249.48,10.83 257.32,0.32 267.94,0.32 L303.5,0.32 C314.12,0.32 322,10.85 319.5,21.83 Z" id="Path" fill="#12DA9D"></path>
15
+ <path d="M162.68,186.45 L180.47,67.45 C183.38,49.11 210.15,49.52 212.47,67.45 L230.26,186.45 C232.71,197.45 224.88,207.96 214.26,207.96 L178.68,207.96 C168.06,208 160.23,197.42 162.68,186.45 Z" id="Path" fill="#12DA9D"></path>
16
+ </g>
17
+ </g>
18
+ </g>
19
+ </svg>
@@ -0,0 +1,19 @@
1
+ import type { IDataObject, IExecuteFunctions, IExecuteSingleFunctions, IHookFunctions, IHttpRequestMethods, IN8nHttpFullResponse, ILoadOptionsFunctions, INode, INodeExecutionData, IPollFunctions } from 'n8n-workflow';
2
+ export type WeclappFunctions = IExecuteFunctions | IHookFunctions | ILoadOptionsFunctions | IPollFunctions;
3
+ export interface WeclappFilterItem {
4
+ field: string;
5
+ operator: string;
6
+ value: unknown;
7
+ }
8
+ export declare const SIMPLIFY_FIELDS: Record<string, string[]>;
9
+ export declare function resolveWeclappUrl(ctx: WeclappFunctions, endpoint: string): Promise<string>;
10
+ export declare function weclappApiRequest(this: WeclappFunctions, method: IHttpRequestMethods, endpoint: string, body?: IDataObject, qs?: IDataObject): Promise<IDataObject>;
11
+ export declare function weclappApiRequestAllItems(this: WeclappFunctions, method: IHttpRequestMethods, endpoint: string, qs?: IDataObject, pageSize?: number, maxPages?: number): Promise<IDataObject[]>;
12
+ export declare function buildFilterParams(filters: WeclappFilterItem[], node?: {
13
+ getNode: () => INode;
14
+ }): Record<string, string>;
15
+ export declare function parseApiProblem(context: WeclappFunctions, err: unknown): never;
16
+ export declare function simplifyEntity(entity: IDataObject, resource: string): IDataObject;
17
+ export declare function simplifyPostReceive(this: IExecuteSingleFunctions, items: INodeExecutionData[], _response: IN8nHttpFullResponse): Promise<INodeExecutionData[]>;
18
+ export declare function mergeAdditionalProperties(this: IExecuteSingleFunctions, items: INodeExecutionData[], response: IN8nHttpFullResponse): Promise<INodeExecutionData[]>;
19
+ export declare function handleBinaryDownload(this: IExecuteFunctions, method: IHttpRequestMethods, endpoint: string, filename: string, body?: IDataObject, qs?: IDataObject): Promise<INodeExecutionData>;