n8n-nodes-tiendanube 0.1.3 → 0.1.4

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.
@@ -7,7 +7,7 @@ class Tiendanube {
7
7
  this.description = {
8
8
  displayName: 'Tiendanube',
9
9
  name: 'tiendanube',
10
- icon: 'file:tiendanube.svg',
10
+ icon: 'file:tiendanube.png',
11
11
  group: ['transform'],
12
12
  version: 1,
13
13
  subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
@@ -0,0 +1,13 @@
1
+ import { IHookFunctions, IWebhookFunctions, INodeType, INodeTypeDescription, IWebhookResponseData } from 'n8n-workflow';
2
+ export declare class TiendanubeTrigger implements INodeType {
3
+ description: INodeTypeDescription;
4
+ webhookMethods: {
5
+ default: {
6
+ checkExists(this: IHookFunctions): Promise<boolean>;
7
+ create(this: IHookFunctions): Promise<boolean>;
8
+ delete(this: IHookFunctions): Promise<boolean>;
9
+ };
10
+ };
11
+ webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
12
+ }
13
+ //# sourceMappingURL=TiendanubeTrigger.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TiendanubeTrigger.node.d.ts","sourceRoot":"","sources":["../../../nodes/Tiendanube/TiendanubeTrigger.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EAGvB,MAAM,cAAc,CAAC;AAEtB,qBAAa,iBAAkB,YAAW,SAAS;IAC/C,WAAW,EAAE,oBAAoB,CA4H/B;IAEF,cAAc;;8BAEkB,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;yBAoCtC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;yBAyCjC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;;MAiC1D;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA0BxE"}
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TiendanubeTrigger = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class TiendanubeTrigger {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'Tiendanube Trigger',
9
+ name: 'tiendanubeTrigger',
10
+ icon: 'file:tiendanube.svg',
11
+ group: ['trigger'],
12
+ version: 1,
13
+ subtitle: '={{$parameter["event"]}}',
14
+ description: 'Handle Tiendanube events via webhooks',
15
+ defaults: {
16
+ name: 'Tiendanube Trigger',
17
+ },
18
+ inputs: [],
19
+ outputs: ['main'],
20
+ credentials: [
21
+ {
22
+ name: 'tiendanubeApi',
23
+ required: true,
24
+ },
25
+ ],
26
+ webhooks: [
27
+ {
28
+ name: 'default',
29
+ httpMethod: 'POST',
30
+ responseMode: 'onReceived',
31
+ path: 'webhook',
32
+ },
33
+ ],
34
+ properties: [
35
+ {
36
+ displayName: 'Event',
37
+ name: 'event',
38
+ type: 'options',
39
+ required: true,
40
+ default: 'order/created',
41
+ description: 'The event to listen to',
42
+ options: [
43
+ {
44
+ name: 'Order Created',
45
+ value: 'order/created',
46
+ description: 'Triggered when a new order is created',
47
+ },
48
+ {
49
+ name: 'Order Updated',
50
+ value: 'order/updated',
51
+ description: 'Triggered when an order is updated',
52
+ },
53
+ {
54
+ name: 'Order Paid',
55
+ value: 'order/paid',
56
+ description: 'Triggered when an order is paid',
57
+ },
58
+ {
59
+ name: 'Order Packed',
60
+ value: 'order/packed',
61
+ description: 'Triggered when an order is packed',
62
+ },
63
+ {
64
+ name: 'Order Fulfilled',
65
+ value: 'order/fulfilled',
66
+ description: 'Triggered when an order is fulfilled',
67
+ },
68
+ {
69
+ name: 'Order Cancelled',
70
+ value: 'order/cancelled',
71
+ description: 'Triggered when an order is cancelled',
72
+ },
73
+ {
74
+ name: 'Order Pending',
75
+ value: 'order/pending',
76
+ description: 'Triggered when an order is pending',
77
+ },
78
+ {
79
+ name: 'Order Voided',
80
+ value: 'order/voided',
81
+ description: 'Triggered when an order is voided',
82
+ },
83
+ {
84
+ name: 'Product Created',
85
+ value: 'product/created',
86
+ description: 'Triggered when a product is created',
87
+ },
88
+ {
89
+ name: 'Product Updated',
90
+ value: 'product/updated',
91
+ description: 'Triggered when a product is updated',
92
+ },
93
+ {
94
+ name: 'Product Deleted',
95
+ value: 'product/deleted',
96
+ description: 'Triggered when a product is deleted',
97
+ },
98
+ {
99
+ name: 'Customer Created',
100
+ value: 'customer/created',
101
+ description: 'Triggered when a customer is created',
102
+ },
103
+ {
104
+ name: 'Customer Updated',
105
+ value: 'customer/updated',
106
+ description: 'Triggered when a customer is updated',
107
+ },
108
+ {
109
+ name: 'Customer Deleted',
110
+ value: 'customer/deleted',
111
+ description: 'Triggered when a customer is deleted',
112
+ },
113
+ {
114
+ name: 'Category Created',
115
+ value: 'category/created',
116
+ description: 'Triggered when a category is created',
117
+ },
118
+ {
119
+ name: 'Category Updated',
120
+ value: 'category/updated',
121
+ description: 'Triggered when a category is updated',
122
+ },
123
+ {
124
+ name: 'Category Deleted',
125
+ value: 'category/deleted',
126
+ description: 'Triggered when a category is deleted',
127
+ },
128
+ ],
129
+ },
130
+ ],
131
+ };
132
+ this.webhookMethods = {
133
+ default: {
134
+ async checkExists() {
135
+ const webhookData = this.getWorkflowStaticData('node');
136
+ const event = this.getNodeParameter('event');
137
+ if (webhookData.webhookId === undefined) {
138
+ return false;
139
+ }
140
+ const credentials = await this.getCredentials('tiendanubeApi');
141
+ const storeId = credentials.storeId;
142
+ const accessToken = credentials.accessToken;
143
+ const endpoint = `https://api.tiendanube.com/v1/${storeId}/webhooks/${webhookData.webhookId}`;
144
+ try {
145
+ const webhook = await this.helpers.request({
146
+ method: 'GET',
147
+ url: endpoint,
148
+ headers: {
149
+ 'Authentication': `bearer ${accessToken}`,
150
+ 'User-Agent': 'n8n-tiendanube-trigger',
151
+ 'Content-Type': 'application/json',
152
+ },
153
+ json: true,
154
+ });
155
+ if (webhook.event !== event) {
156
+ return false;
157
+ }
158
+ }
159
+ catch (error) {
160
+ return false;
161
+ }
162
+ return true;
163
+ },
164
+ async create() {
165
+ const webhookUrl = this.getNodeWebhookUrl('default');
166
+ const event = this.getNodeParameter('event');
167
+ const webhookData = this.getWorkflowStaticData('node');
168
+ const credentials = await this.getCredentials('tiendanubeApi');
169
+ const storeId = credentials.storeId;
170
+ const accessToken = credentials.accessToken;
171
+ const endpoint = `https://api.tiendanube.com/v1/${storeId}/webhooks`;
172
+ const body = {
173
+ event,
174
+ url: webhookUrl,
175
+ };
176
+ try {
177
+ const webhook = await this.helpers.request({
178
+ method: 'POST',
179
+ url: endpoint,
180
+ headers: {
181
+ 'Authentication': `bearer ${accessToken}`,
182
+ 'User-Agent': 'n8n-tiendanube-trigger',
183
+ 'Content-Type': 'application/json',
184
+ },
185
+ body,
186
+ json: true,
187
+ });
188
+ if (webhook.id === undefined) {
189
+ return false;
190
+ }
191
+ webhookData.webhookId = webhook.id;
192
+ return true;
193
+ }
194
+ catch (error) {
195
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
196
+ }
197
+ },
198
+ async delete() {
199
+ const webhookData = this.getWorkflowStaticData('node');
200
+ if (webhookData.webhookId === undefined) {
201
+ return true;
202
+ }
203
+ const credentials = await this.getCredentials('tiendanubeApi');
204
+ const storeId = credentials.storeId;
205
+ const accessToken = credentials.accessToken;
206
+ const endpoint = `https://api.tiendanube.com/v1/${storeId}/webhooks/${webhookData.webhookId}`;
207
+ try {
208
+ await this.helpers.request({
209
+ method: 'DELETE',
210
+ url: endpoint,
211
+ headers: {
212
+ 'Authentication': `bearer ${accessToken}`,
213
+ 'User-Agent': 'n8n-tiendanube-trigger',
214
+ 'Content-Type': 'application/json',
215
+ },
216
+ json: true,
217
+ });
218
+ }
219
+ catch (error) {
220
+ return false;
221
+ }
222
+ delete webhookData.webhookId;
223
+ return true;
224
+ },
225
+ },
226
+ };
227
+ }
228
+ async webhook() {
229
+ const bodyData = this.getBodyData();
230
+ const headerData = this.getHeaderData();
231
+ const returnData = [];
232
+ returnData.push({
233
+ body: bodyData,
234
+ headers: headerData,
235
+ });
236
+ return {
237
+ workflowData: [
238
+ this.helpers.returnJsonArray(returnData),
239
+ ],
240
+ };
241
+ }
242
+ }
243
+ exports.TiendanubeTrigger = TiendanubeTrigger;
244
+ //# sourceMappingURL=TiendanubeTrigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TiendanubeTrigger.node.js","sourceRoot":"","sources":["../../../nodes/Tiendanube/TiendanubeTrigger.node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-tiendanube",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "n8n node for Tiendanube/Nuvemshop API integration",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -36,7 +36,8 @@
36
36
  "dist/credentials/TiendanubeApi.credentials.js"
37
37
  ],
38
38
  "nodes": [
39
- "dist/nodes/Tiendanube/Tiendanube.node.js"
39
+ "dist/nodes/Tiendanube/Tiendanube.node.js",
40
+ "dist/nodes/Tiendanube/TiendanubeTrigger.node.js"
40
41
  ]
41
42
  },
42
43
  "devDependencies": {