@posty5/n8n-nodes-posty5 2.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.
Files changed (34) hide show
  1. package/README.md +356 -0
  2. package/dist/credentials/Posty5Api.credentials.d.ts +10 -0
  3. package/dist/credentials/Posty5Api.credentials.d.ts.map +1 -0
  4. package/dist/credentials/Posty5Api.credentials.js +43 -0
  5. package/dist/credentials/Posty5Api.credentials.js.map +1 -0
  6. package/dist/nodes/Posty5FormSubmission/Posty5FormSubmission.node.d.ts +6 -0
  7. package/dist/nodes/Posty5FormSubmission/Posty5FormSubmission.node.d.ts.map +1 -0
  8. package/dist/nodes/Posty5FormSubmission/Posty5FormSubmission.node.js +331 -0
  9. package/dist/nodes/Posty5FormSubmission/Posty5FormSubmission.node.js.map +1 -0
  10. package/dist/nodes/Posty5HtmlHosting/Posty5HtmlHosting.node.d.ts +6 -0
  11. package/dist/nodes/Posty5HtmlHosting/Posty5HtmlHosting.node.d.ts.map +1 -0
  12. package/dist/nodes/Posty5HtmlHosting/Posty5HtmlHosting.node.js +445 -0
  13. package/dist/nodes/Posty5HtmlHosting/Posty5HtmlHosting.node.js.map +1 -0
  14. package/dist/nodes/Posty5HtmlHostingVariables/Posty5HtmlHostingVariables.node.d.ts +6 -0
  15. package/dist/nodes/Posty5HtmlHostingVariables/Posty5HtmlHostingVariables.node.d.ts.map +1 -0
  16. package/dist/nodes/Posty5HtmlHostingVariables/Posty5HtmlHostingVariables.node.js +285 -0
  17. package/dist/nodes/Posty5HtmlHostingVariables/Posty5HtmlHostingVariables.node.js.map +1 -0
  18. package/dist/nodes/Posty5QrCode/Posty5QrCode.node.d.ts +6 -0
  19. package/dist/nodes/Posty5QrCode/Posty5QrCode.node.d.ts.map +1 -0
  20. package/dist/nodes/Posty5QrCode/Posty5QrCode.node.js +717 -0
  21. package/dist/nodes/Posty5QrCode/Posty5QrCode.node.js.map +1 -0
  22. package/dist/nodes/Posty5ShortLink/Posty5ShortLink.node.d.ts +6 -0
  23. package/dist/nodes/Posty5ShortLink/Posty5ShortLink.node.d.ts.map +1 -0
  24. package/dist/nodes/Posty5ShortLink/Posty5ShortLink.node.js +396 -0
  25. package/dist/nodes/Posty5ShortLink/Posty5ShortLink.node.js.map +1 -0
  26. package/dist/nodes/Posty5SocialPublisherTask/Posty5SocialPublisherTask.node.d.ts +6 -0
  27. package/dist/nodes/Posty5SocialPublisherTask/Posty5SocialPublisherTask.node.d.ts.map +1 -0
  28. package/dist/nodes/Posty5SocialPublisherTask/Posty5SocialPublisherTask.node.js +598 -0
  29. package/dist/nodes/Posty5SocialPublisherTask/Posty5SocialPublisherTask.node.js.map +1 -0
  30. package/dist/nodes/Posty5SocialPublisherWorkspace/Posty5SocialPublisherWorkspace.node.d.ts +6 -0
  31. package/dist/nodes/Posty5SocialPublisherWorkspace/Posty5SocialPublisherWorkspace.node.d.ts.map +1 -0
  32. package/dist/nodes/Posty5SocialPublisherWorkspace/Posty5SocialPublisherWorkspace.node.js +289 -0
  33. package/dist/nodes/Posty5SocialPublisherWorkspace/Posty5SocialPublisherWorkspace.node.js.map +1 -0
  34. package/package.json +78 -0
package/README.md ADDED
@@ -0,0 +1,356 @@
1
+ # n8n-nodes-posty5
2
+
3
+ ![Posty5](https://posty5.com/logo.png)
4
+
5
+ N8N community nodes for [Posty5](https://posty5.com) - Automate URL shortening, QR code generation, HTML hosting, and social media publishing in your N8N workflows.
6
+
7
+ ## 🚀 What is Posty5?
8
+
9
+ Posty5 is a comprehensive platform for digital content management and distribution:
10
+
11
+ - **URL Shortening** - Create branded short links with analytics
12
+ - **QR Code Generation** - Generate QR codes for URLs, WiFi, email, SMS, and more
13
+ - **HTML Hosting** - Host static HTML pages with custom domains
14
+ - **Form Management** - Collect and manage form submissions
15
+ - **Social Media Publishing** - Automate video publishing to YouTube, TikTok, Facebook, and Instagram
16
+
17
+ ## 📦 Installation
18
+
19
+ ### Via NPM
20
+
21
+ ```bash
22
+ npm install n8n-nodes-posty5
23
+ ```
24
+
25
+ ### Via N8N Community Nodes
26
+
27
+ 1. Open N8N
28
+ 2. Go to **Settings** → **Community Nodes**
29
+ 3. Search for `n8n-nodes-posty5`
30
+ 4. Click **Install**
31
+
32
+ ## 🔑 Setup
33
+
34
+ ### Get Your API Key
35
+
36
+ 1. Visit [Posty5 Studio](https://studio.posty5.com/account/settings?tab=APIKeys)
37
+ 2. Create a new API key
38
+ 3. Copy the key for use in N8N
39
+
40
+ ### Configure Credentials in N8N
41
+
42
+ 1. Add **Posty5 API** credentials
43
+ 2. Paste your API key
44
+ 3. (Optional) Set custom base URL (default: `https://api.posty5.com`)
45
+
46
+ ## 📋 Available Nodes
47
+
48
+ ### 1. Posty5 Short Link
49
+
50
+ Create and manage shortened URLs with analytics.
51
+
52
+ **Operations:**
53
+
54
+ - Create - Generate short links with custom slugs
55
+ - Get - Retrieve link details
56
+ - List - List all links with filters
57
+ - Update - Modify existing links
58
+ - Delete - Remove links
59
+
60
+ **Use Cases:**
61
+
62
+ - Generate tracking links for marketing campaigns
63
+ - Create QR-friendly short URLs
64
+ - Monitor click analytics
65
+
66
+ ### 2. Posty5 QR Code
67
+
68
+ Generate QR codes for 7 different types.
69
+
70
+ **QR Types:**
71
+
72
+ - URL - Link to websites
73
+ - Free Text - Plain text content
74
+ - Email - mailto: links with subject/body
75
+ - WiFi - Network credentials
76
+ - Phone Call - tel: links
77
+ - SMS - Pre-filled text messages
78
+ - Geolocation - GPS coordinates
79
+
80
+ **Operations:**
81
+
82
+ - Create - Generate new QR codes
83
+ - Get - Retrieve QR code details
84
+ - List - List all QR codes
85
+ - Update - Modify QR code content
86
+ - Delete - Remove QR codes
87
+
88
+ ### 3. Posty5 HTML Hosting
89
+
90
+ Host static HTML pages with CDN delivery.
91
+
92
+ **Operations:**
93
+
94
+ - Create from File - Upload HTML file
95
+ - Create from GitHub - Deploy from GitHub URL
96
+ - Update from File - Update with new file
97
+ - Update from GitHub - Sync from GitHub
98
+ - Get - Retrieve page details
99
+ - List - List all pages
100
+ - Delete - Remove pages
101
+ - Clear Cache - Purge CDN cache
102
+ - Get Form IDs - Extract form IDs from page
103
+
104
+ **Use Cases:**
105
+
106
+ - Landing pages
107
+ - Lead capture forms
108
+ - Marketing microsites
109
+ - Product documentation
110
+
111
+ ### 4. Posty5 HTML Variables
112
+
113
+ Manage dynamic variables for HTML pages.
114
+
115
+ **Operations:**
116
+
117
+ - Create - Add new variables
118
+ - Get - Retrieve variable value
119
+ - List - List all variables
120
+ - Update - Change variable value
121
+ - Delete - Remove variables
122
+
123
+ **Variable Keys:** Must start with `pst5_`
124
+
125
+ ### 5. Posty5 Form Submission
126
+
127
+ Collect and manage form submissions from HTML pages.
128
+
129
+ **Operations:**
130
+
131
+ - Get - Retrieve submission details
132
+ - Get Adjacent - Navigate next/previous submissions
133
+ - List - List all submissions with filters
134
+ - Delete - Remove submissions
135
+
136
+ **Filters:**
137
+
138
+ - HTML Hosting ID
139
+ - Form ID
140
+ - Status (new/read/archived)
141
+ - Search term
142
+
143
+ ### 6. Posty5 Social Publisher Workspace
144
+
145
+ Manage social media workspaces/organizations.
146
+
147
+ **Operations:**
148
+
149
+ - Create - New workspace with optional logo
150
+ - Get - Retrieve workspace details
151
+ - List - List all workspaces
152
+ - Update - Modify workspace
153
+ - Delete - Remove workspace
154
+
155
+ ### 7. Posty5 Social Publisher Task
156
+
157
+ Publish videos to multiple social media platforms.
158
+
159
+ **Supported Platforms:**
160
+
161
+ - YouTube
162
+ - TikTok
163
+ - Facebook
164
+ - Instagram
165
+
166
+ **Operations:**
167
+
168
+ - Publish Video - Upload and schedule posts
169
+ - Get Task Status - Check publishing progress
170
+ - List Tasks - View all tasks
171
+ - Get Default Settings - Retrieve platform defaults
172
+
173
+ **Video Sources:**
174
+
175
+ - Binary data (file upload)
176
+ - Direct video URL
177
+ - Facebook video URL (repost)
178
+ - TikTok video URL (repost)
179
+ - YouTube Shorts URL (repost)
180
+
181
+ **Platform-Specific Settings:**
182
+
183
+ - **YouTube:** Title, description, tags, made for kids
184
+ - **TikTok:** Caption, privacy level, disable duet/stitch/comments
185
+ - **Facebook:** Title, description
186
+ - **Instagram:** Description, share to feed
187
+
188
+ ## 💡 Workflow Examples
189
+
190
+ ### Example 1: URL Shortener → QR Code
191
+
192
+ Create a short link and generate a QR code for it:
193
+
194
+ ```
195
+ HTTP Request (Get URL)
196
+
197
+ Posty5 Short Link (Create)
198
+
199
+ Posty5 QR Code (Create URL type)
200
+
201
+ Send Email (with QR code)
202
+ ```
203
+
204
+ ### Example 2: Form Submission → Email Notification
205
+
206
+ Monitor form submissions and send notifications:
207
+
208
+ ```
209
+ Schedule Trigger (every 5 minutes)
210
+
211
+ Posty5 Form Submission (List - filter by status: new)
212
+
213
+ IF (has new submissions)
214
+
215
+ Send Email
216
+
217
+ Posty5 Form Submission (Update status to read)
218
+ ```
219
+
220
+ ### Example 3: Social Media Publishing
221
+
222
+ Publish a video to multiple platforms:
223
+
224
+ ```
225
+ Trigger (Manual/Webhook)
226
+
227
+ Read Binary File (video.mp4)
228
+
229
+ Posty5 Social Publisher Task (Publish)
230
+ - Platforms: YouTube, TikTok, Instagram
231
+ - Video: Binary data
232
+ - Scheduled: Now
233
+
234
+ Posty5 Social Publisher Task (Get Task Status)
235
+
236
+ Send Notification
237
+ ```
238
+
239
+ ### Example 4: Landing Page Deployment
240
+
241
+ Deploy HTML page from GitHub and create short link:
242
+
243
+ ```
244
+ GitHub Trigger (on push)
245
+
246
+ Posty5 HTML Hosting (Create from GitHub)
247
+
248
+ Posty5 Short Link (Create)
249
+
250
+ Slack Notification (with short URL)
251
+ ```
252
+
253
+ ## 🔧 Advanced Features
254
+
255
+ ### Pagination
256
+
257
+ All list operations support pagination:
258
+
259
+ ```javascript
260
+ // Return all results (automatic pagination)
261
+ returnAll: true;
262
+
263
+ // Or limit results
264
+ returnAll: false;
265
+ limit: 50;
266
+ ```
267
+
268
+ ### Filtering
269
+
270
+ Most list operations support filters:
271
+
272
+ ```javascript
273
+ {
274
+ tag: "marketing",
275
+ refId: "campaign-2024",
276
+ search: "keyword"
277
+ }
278
+ ```
279
+
280
+ ### Binary Data Handling
281
+
282
+ Nodes support binary data for:
283
+
284
+ - HTML files (HTML Hosting)
285
+ - Video files (Social Publisher) - Max 2GB
286
+ - Image files (Workspace logos, thumbnails)
287
+
288
+ Use N8N's binary data system:
289
+
290
+ ```javascript
291
+ // From HTTP Request node
292
+ binaryPropertyName: 'data';
293
+
294
+ // From Read Binary File node
295
+ binaryPropertyName: 'data';
296
+ ```
297
+
298
+ ### Scheduling
299
+
300
+ Social Publisher Task supports scheduling:
301
+
302
+ ```javascript
303
+ scheduledPublishTime: 'now';
304
+ // or
305
+ scheduledPublishTime: new Date('2024-12-31T10:00:00Z');
306
+ ```
307
+
308
+ ## 🐛 Error Handling
309
+
310
+ All nodes support N8N's "Continue on Fail" option:
311
+
312
+ ```javascript
313
+ {
314
+ json: {
315
+ error: 'Error message here';
316
+ }
317
+ }
318
+ ```
319
+
320
+ Common errors:
321
+
322
+ - **401 Unauthorized** - Invalid API key
323
+ - **404 Not Found** - Resource doesn't exist
324
+ - **429 Too Many Requests** - Rate limit exceeded
325
+ - **422 Validation Error** - Invalid parameters
326
+
327
+ ## 📚 Resources
328
+
329
+ - [Posty5 Documentation](https://guide.posty5.com/)
330
+ - [Posty5 Studio](https://studio.posty5.com)
331
+ - [Get API Key](https://studio.posty5.com/account/settings?tab=APIKeys)
332
+ - [N8N Documentation](https://docs.n8n.io)
333
+ - [GitHub Repository](https://github.com/posty5/n8n-nodes-posty5)
334
+
335
+ ## 🤝 Support
336
+
337
+ - **Email:** support@posty5.com
338
+ - **Documentation:** https://guide.posty5.com/
339
+ - **GitHub Issues:** https://github.com/posty5/n8n-nodes-posty5/issues
340
+
341
+ ## 📝 License
342
+
343
+ MIT License - see LICENSE file for details
344
+
345
+ ## 🙏 Credits
346
+
347
+ Built with ❤️ by the Posty5 team
348
+
349
+ Powered by:
350
+
351
+ - [@posty5/core](https://www.npmjs.com/package/@posty5/core)
352
+ - [@posty5/qr-code](https://www.npmjs.com/package/@posty5/qr-code)
353
+ - [@posty5/short-link](https://www.npmjs.com/package/@posty5/short-link)
354
+ - [@posty5/html-hosting](https://www.npmjs.com/package/@posty5/html-hosting)
355
+ - [@posty5/social-publisher-workspace](https://www.npmjs.com/package/@posty5/social-publisher-workspace)
356
+ - [@posty5/social-publisher-task](https://www.npmjs.com/package/@posty5/social-publisher-task)
@@ -0,0 +1,10 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class Posty5Api implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
10
+ //# sourceMappingURL=Posty5Api.credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Posty5Api.credentials.d.ts","sourceRoot":"","sources":["../../credentials/Posty5Api.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,SAAU,YAAW,eAAe;IAChD,IAAI,SAAe;IACnB,WAAW,SAAgB;IAC3B,gBAAgB,SAA+B;IAC/C,UAAU,EAAE,eAAe,EAAE,CAa3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAS1B;CACF"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Posty5Api = void 0;
4
+ class Posty5Api {
5
+ constructor() {
6
+ this.name = 'posty5Api';
7
+ this.displayName = 'Posty5 API';
8
+ this.documentationUrl = 'https://guide.posty5.com/';
9
+ this.properties = [
10
+ {
11
+ displayName: 'API Key',
12
+ name: 'apiKey',
13
+ type: 'string',
14
+ typeOptions: {
15
+ password: true,
16
+ },
17
+ default: '',
18
+ required: true,
19
+ description: 'Your Posty5 API key. Get it from https://studio.posty5.com/account/settings?tab=APIKeys',
20
+ },
21
+ ];
22
+ this.authenticate = {
23
+ type: 'generic',
24
+ properties: {
25
+ headers: {
26
+ 'X-API-Key': '={{$credentials.apiKey}}',
27
+ },
28
+ },
29
+ };
30
+ this.test = {
31
+ request: {
32
+ url: '/api/short-link',
33
+ method: 'GET',
34
+ qs: {
35
+ page: 1,
36
+ pageSize: 1,
37
+ },
38
+ },
39
+ };
40
+ }
41
+ }
42
+ exports.Posty5Api = Posty5Api;
43
+ //# sourceMappingURL=Posty5Api.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Posty5Api.credentials.js","sourceRoot":"","sources":["../../credentials/Posty5Api.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,SAAS;IAAtB;QACC,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,YAAY,CAAC;QAC3B,qBAAgB,GAAG,2BAA2B,CAAC;QAC/C,eAAU,GAAsB;YAC/B;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,QAAQ,EAAE,IAAI;gBACd,WAAW,EACV,yFAAyF;aAC1F;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,0BAA0B;iBACvC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,GAAG,EAAE,iBAAiB;gBACtB,MAAM,EAAE,KAAK;gBACb,EAAE,EAAE;oBACH,IAAI,EAAE,CAAC;oBACP,QAAQ,EAAE,CAAC;iBACX;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAtCD,8BAsCC"}
@@ -0,0 +1,6 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Posty5FormSubmission implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
6
+ //# sourceMappingURL=Posty5FormSubmission.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Posty5FormSubmission.node.d.ts","sourceRoot":"","sources":["../../../nodes/Posty5FormSubmission/Posty5FormSubmission.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,MAAM,cAAc,CAAC;AAGtB,qBAAa,oBAAqB,YAAW,SAAS;IACrD,WAAW,EAAE,oBAAoB,CAqN/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAuFvE"}