@adaptive-ds/n8n-nodes-publer 1.1.11 → 1.1.13

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 (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -50
  3. package/dist/credentials/PublerApi.credentials.d.ts +0 -1
  4. package/dist/credentials/PublerApi.credentials.js +0 -8
  5. package/dist/credentials/PublerApi.credentials.js.map +1 -1
  6. package/dist/nodes/PublerAccounts/PublerAccounts.node.d.ts +5 -0
  7. package/dist/nodes/PublerAccounts/PublerAccounts.node.js +121 -0
  8. package/dist/nodes/PublerAccounts/PublerAccounts.node.js.map +1 -0
  9. package/dist/nodes/PublerAccounts/PublerAccounts.spec.js +9 -0
  10. package/dist/nodes/PublerAccounts/PublerAccounts.spec.js.map +1 -0
  11. package/dist/nodes/PublerCompetitorAnalysis/PublerCompetitorAnalysis.node.d.ts +5 -0
  12. package/dist/nodes/PublerCompetitorAnalysis/PublerCompetitorAnalysis.node.js +219 -0
  13. package/dist/nodes/PublerCompetitorAnalysis/PublerCompetitorAnalysis.node.js.map +1 -0
  14. package/dist/nodes/PublerCompetitorAnalysis/PublerCompetitorAnalysis.spec.js +9 -0
  15. package/dist/nodes/PublerCompetitorAnalysis/PublerCompetitorAnalysis.spec.js.map +1 -0
  16. package/dist/nodes/PublerCompetitorList/PublerCompetitorList.node.d.ts +5 -0
  17. package/dist/nodes/PublerCompetitorList/PublerCompetitorList.node.js +131 -0
  18. package/dist/nodes/PublerCompetitorList/PublerCompetitorList.node.js.map +1 -0
  19. package/dist/nodes/PublerCompetitorList/PublerCompetitorList.spec.js +9 -0
  20. package/dist/nodes/PublerCompetitorList/PublerCompetitorList.spec.js.map +1 -0
  21. package/dist/nodes/PublerJobStatus/PublerJobStatus.node.d.ts +5 -0
  22. package/dist/nodes/PublerJobStatus/PublerJobStatus.node.js +131 -0
  23. package/dist/nodes/PublerJobStatus/PublerJobStatus.node.js.map +1 -0
  24. package/dist/nodes/PublerJobStatus/PublerJobStatus.spec.js +9 -0
  25. package/dist/nodes/PublerJobStatus/PublerJobStatus.spec.js.map +1 -0
  26. package/dist/nodes/PublerMe/PublerMe.node.js +30 -51
  27. package/dist/nodes/PublerMe/PublerMe.node.js.map +1 -1
  28. package/dist/nodes/PublerMe/PublerMe.spec.js +3 -2
  29. package/dist/nodes/PublerMe/PublerMe.spec.js.map +1 -1
  30. package/dist/nodes/PublerMediaImportFromUrl/PublerMediaImportFromUrl.node.d.ts +5 -0
  31. package/dist/nodes/PublerMediaImportFromUrl/PublerMediaImportFromUrl.node.js +194 -0
  32. package/dist/nodes/PublerMediaImportFromUrl/PublerMediaImportFromUrl.node.js.map +1 -0
  33. package/dist/nodes/PublerMediaImportFromUrl/PublerMediaImportFromUrl.spec.js +9 -0
  34. package/dist/nodes/PublerMediaImportFromUrl/PublerMediaImportFromUrl.spec.js.map +1 -0
  35. package/dist/nodes/PublerPostSchedule/PublerPostSchedule.node.d.ts +5 -0
  36. package/dist/nodes/PublerPostSchedule/PublerPostSchedule.node.js +259 -0
  37. package/dist/nodes/PublerPostSchedule/PublerPostSchedule.node.js.map +1 -0
  38. package/dist/nodes/PublerPostSchedule/PublerPostSchedule.spec.js +9 -0
  39. package/dist/nodes/PublerPostSchedule/PublerPostSchedule.spec.js.map +1 -0
  40. package/dist/nodes/PublerPostScheduleText/PublerPostScheduleText.node.d.ts +5 -0
  41. package/dist/nodes/PublerPostScheduleText/PublerPostScheduleText.node.js +176 -0
  42. package/dist/nodes/PublerPostScheduleText/PublerPostScheduleText.node.js.map +1 -0
  43. package/dist/nodes/PublerPostScheduleText/PublerPostScheduleText.spec.js +9 -0
  44. package/dist/nodes/PublerPostScheduleText/PublerPostScheduleText.spec.js.map +1 -0
  45. package/dist/nodes/PublerWorkspaceList/PublerWorkspaceList.node.d.ts +5 -0
  46. package/dist/nodes/PublerWorkspaceList/PublerWorkspaceList.node.js +99 -0
  47. package/dist/nodes/PublerWorkspaceList/PublerWorkspaceList.node.js.map +1 -0
  48. package/dist/nodes/PublerWorkspaceList/PublerWorkspaceList.spec.js +9 -0
  49. package/dist/nodes/PublerWorkspaceList/PublerWorkspaceList.spec.js.map +1 -0
  50. package/dist/package.json +38 -55
  51. package/package.json +38 -55
  52. package/dist/nodes/PublerAnalytics/PublerAnalytics.node.d.ts +0 -4
  53. package/dist/nodes/PublerAnalytics/PublerAnalytics.node.js +0 -75
  54. package/dist/nodes/PublerAnalytics/PublerAnalytics.node.js.map +0 -1
  55. package/dist/nodes/PublerAnalytics/PublerAnalytics.spec.js +0 -8
  56. package/dist/nodes/PublerAnalytics/PublerAnalytics.spec.js.map +0 -1
  57. package/dist/nodes/PublerAnalytics/logo.svg +0 -44
  58. package/dist/nodes/PublerAnalytics/openapi.json +0 -777
  59. package/dist/nodes/PublerBasic/PublerBasic.node.d.ts +0 -4
  60. package/dist/nodes/PublerBasic/PublerBasic.node.js +0 -75
  61. package/dist/nodes/PublerBasic/PublerBasic.node.js.map +0 -1
  62. package/dist/nodes/PublerBasic/PublerBasic.spec.js +0 -8
  63. package/dist/nodes/PublerBasic/PublerBasic.spec.js.map +0 -1
  64. package/dist/nodes/PublerBasic/logo.svg +0 -44
  65. package/dist/nodes/PublerBasic/openapi.json +0 -507
  66. package/dist/nodes/PublerCompetitors/PublerCompetitors.node.d.ts +0 -4
  67. package/dist/nodes/PublerCompetitors/PublerCompetitors.node.js +0 -75
  68. package/dist/nodes/PublerCompetitors/PublerCompetitors.node.js.map +0 -1
  69. package/dist/nodes/PublerCompetitors/PublerCompetitors.spec.js +0 -8
  70. package/dist/nodes/PublerCompetitors/PublerCompetitors.spec.js.map +0 -1
  71. package/dist/nodes/PublerCompetitors/logo.svg +0 -44
  72. package/dist/nodes/PublerCompetitors/openapi.json +0 -264
  73. package/dist/nodes/PublerLocations/PublerLocations.node.d.ts +0 -4
  74. package/dist/nodes/PublerLocations/PublerLocations.node.js +0 -75
  75. package/dist/nodes/PublerLocations/PublerLocations.node.js.map +0 -1
  76. package/dist/nodes/PublerLocations/PublerLocations.spec.js +0 -8
  77. package/dist/nodes/PublerLocations/PublerLocations.spec.js.map +0 -1
  78. package/dist/nodes/PublerLocations/logo.svg +0 -44
  79. package/dist/nodes/PublerLocations/openapi.json +0 -205
  80. package/dist/nodes/PublerMe/logo.svg +0 -44
  81. package/dist/nodes/PublerMedia/PublerMedia.node.d.ts +0 -4
  82. package/dist/nodes/PublerMedia/PublerMedia.node.js +0 -75
  83. package/dist/nodes/PublerMedia/PublerMedia.node.js.map +0 -1
  84. package/dist/nodes/PublerMedia/PublerMedia.spec.js +0 -8
  85. package/dist/nodes/PublerMedia/PublerMedia.spec.js.map +0 -1
  86. package/dist/nodes/PublerMedia/logo.svg +0 -44
  87. package/dist/nodes/PublerMedia/openapi.json +0 -346
  88. package/dist/nodes/PublerPosts/PublerPosts.node.d.ts +0 -4
  89. package/dist/nodes/PublerPosts/PublerPosts.node.js +0 -75
  90. package/dist/nodes/PublerPosts/PublerPosts.node.js.map +0 -1
  91. package/dist/nodes/PublerPosts/PublerPosts.spec.js +0 -8
  92. package/dist/nodes/PublerPosts/PublerPosts.spec.js.map +0 -1
  93. package/dist/nodes/PublerPosts/logo.svg +0 -44
  94. package/dist/nodes/PublerPosts/openapi.json +0 -536
  95. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.node.d.ts +0 -4
  96. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.node.js +0 -75
  97. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.node.js.map +0 -1
  98. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.spec.js +0 -8
  99. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.spec.js.map +0 -1
  100. package/dist/nodes/PublerPostsPublish/logo.svg +0 -44
  101. package/dist/nodes/PublerPostsPublish/openapi.json +0 -229
  102. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.node.d.ts +0 -4
  103. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.node.js +0 -75
  104. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.node.js.map +0 -1
  105. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.spec.js +0 -8
  106. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.spec.js.map +0 -1
  107. package/dist/nodes/PublerPostsSchedule/logo.svg +0 -44
  108. package/dist/nodes/PublerPostsSchedule/openapi.json +0 -235
  109. /package/dist/nodes/{PublerAnalytics/PublerAnalytics.spec.d.ts → PublerAccounts/PublerAccounts.spec.d.ts} +0 -0
  110. /package/dist/nodes/{PublerBasic/PublerBasic.spec.d.ts → PublerCompetitorAnalysis/PublerCompetitorAnalysis.spec.d.ts} +0 -0
  111. /package/dist/nodes/{PublerCompetitors/PublerCompetitors.spec.d.ts → PublerCompetitorList/PublerCompetitorList.spec.d.ts} +0 -0
  112. /package/dist/nodes/{PublerLocations/PublerLocations.spec.d.ts → PublerJobStatus/PublerJobStatus.spec.d.ts} +0 -0
  113. /package/dist/nodes/{PublerMedia/PublerMedia.spec.d.ts → PublerMediaImportFromUrl/PublerMediaImportFromUrl.spec.d.ts} +0 -0
  114. /package/dist/nodes/{PublerPosts/PublerPosts.spec.d.ts → PublerPostSchedule/PublerPostSchedule.spec.d.ts} +0 -0
  115. /package/dist/nodes/{PublerPostsPublish/PublerPostsPublish.spec.d.ts → PublerPostScheduleText/PublerPostScheduleText.spec.d.ts} +0 -0
  116. /package/dist/nodes/{PublerPostsSchedule/PublerPostsSchedule.spec.d.ts → PublerWorkspaceList/PublerWorkspaceList.spec.d.ts} +0 -0
@@ -1,777 +0,0 @@
1
- {
2
- "openapi": "3.1.1",
3
- "info": {
4
- "title": "Publer Analytics API",
5
- "description": "Analytics endpoints for Publer API including charts, post insights, hashtag insights, and best times to post.",
6
- "version": "1.0.0"
7
- },
8
- "servers": [
9
- {
10
- "url": "https://app.publer.com/api/v1"
11
- }
12
- ],
13
- "security": [
14
- {
15
- "publerApi": []
16
- }
17
- ],
18
- "components": {
19
- "securitySchemes": {
20
- "publerApi": {
21
- "type": "apiKey",
22
- "name": "Authorization",
23
- "in": "header",
24
- "description": "API key authentication. Format: \"Bearer-API YOUR_API_KEY\""
25
- }
26
- },
27
- "schemas": {
28
- "ChartsResponse": {
29
- "type": "object",
30
- "description": "Response containing available analytics charts",
31
- "properties": {
32
- "data": {
33
- "type": "object",
34
- "description": "Chart data for analytics",
35
- "additionalProperties": true
36
- }
37
- }
38
- },
39
- "ChartDataResponse": {
40
- "type": "object",
41
- "description": "Response containing detailed chart data",
42
- "properties": {
43
- "data": {
44
- "type": "object",
45
- "description": "Detailed chart data for specific metrics",
46
- "additionalProperties": true
47
- }
48
- }
49
- },
50
- "PostInsight": {
51
- "type": "object",
52
- "description": "Individual post performance insight",
53
- "additionalProperties": true
54
- },
55
- "Pagination": {
56
- "type": "object",
57
- "description": "Pagination information for list responses",
58
- "properties": {
59
- "page": {
60
- "type": "integer",
61
- "format": "int32",
62
- "minimum": 0,
63
- "maximum": 10000,
64
- "description": "Current page number"
65
- },
66
- "total": {
67
- "type": "integer",
68
- "format": "int32",
69
- "minimum": 0,
70
- "maximum": 1000000,
71
- "description": "Total number of items"
72
- }
73
- }
74
- },
75
- "PostInsightsResponse": {
76
- "type": "object",
77
- "description": "Response containing post insights data",
78
- "properties": {
79
- "data": {
80
- "type": "array",
81
- "description": "List of post performance insights",
82
- "items": {
83
- "$ref": "#/components/schemas/PostInsight"
84
- }
85
- },
86
- "pagination": {
87
- "$ref": "#/components/schemas/Pagination"
88
- }
89
- },
90
- "required": ["data"]
91
- },
92
- "HashtagInsight": {
93
- "type": "object",
94
- "description": "Individual hashtag performance data",
95
- "additionalProperties": true
96
- },
97
- "HashtagInsightsResponse": {
98
- "type": "object",
99
- "description": "Response containing hashtag insights",
100
- "properties": {
101
- "data": {
102
- "type": "array",
103
- "description": "List of hashtag performance data",
104
- "items": {
105
- "$ref": "#/components/schemas/HashtagInsight"
106
- }
107
- }
108
- },
109
- "required": ["data"]
110
- },
111
- "HashtagPerformingPost": {
112
- "type": "object",
113
- "description": "Post that performed well with a hashtag",
114
- "additionalProperties": true
115
- },
116
- "HashtagPerformingPostsResponse": {
117
- "type": "object",
118
- "description": "Response containing hashtag performing posts",
119
- "properties": {
120
- "data": {
121
- "type": "array",
122
- "description": "List of posts that performed well",
123
- "items": {
124
- "$ref": "#/components/schemas/HashtagPerformingPost"
125
- }
126
- }
127
- },
128
- "required": ["data"]
129
- },
130
- "BestTimesData": {
131
- "type": "object",
132
- "description": "Best times data for posting",
133
- "properties": {
134
- "best_days": {
135
- "type": "array",
136
- "description": "List of best days to post",
137
- "items": {
138
- "type": "string"
139
- }
140
- },
141
- "best_hours": {
142
- "type": "array",
143
- "description": "List of best hours to post (0-23)",
144
- "items": {
145
- "type": "integer",
146
- "format": "int32",
147
- "minimum": 0,
148
- "maximum": 23
149
- }
150
- }
151
- },
152
- "required": ["best_days", "best_hours"]
153
- },
154
- "BestTimesResponse": {
155
- "type": "object",
156
- "description": "Response containing best times to post",
157
- "properties": {
158
- "data": {
159
- "$ref": "#/components/schemas/BestTimesData"
160
- }
161
- },
162
- "required": ["data"]
163
- },
164
- "MemberData": {
165
- "type": "object",
166
- "description": "Workspace member analytics data",
167
- "properties": {
168
- "member_id": {
169
- "type": "string",
170
- "description": "Unique identifier for the member"
171
- },
172
- "name": {
173
- "type": "string",
174
- "description": "Name of the member"
175
- },
176
- "posts_count": {
177
- "type": "integer",
178
- "format": "int32",
179
- "minimum": 0,
180
- "maximum": 1000000,
181
- "description": "Number of posts created by the member"
182
- }
183
- }
184
- },
185
- "MembersResponse": {
186
- "type": "object",
187
- "description": "Response containing members analytics",
188
- "properties": {
189
- "data": {
190
- "type": "array",
191
- "description": "List of member analytics data",
192
- "items": {
193
- "$ref": "#/components/schemas/MemberData"
194
- }
195
- }
196
- },
197
- "required": ["data"]
198
- }
199
- }
200
- },
201
- "tags": [
202
- {
203
- "name": "ANALYTICS"
204
- }
205
- ],
206
- "paths": {
207
- "/analytics/charts": {
208
- "get": {
209
- "tags": ["ANALYTICS"],
210
- "summary": "Get charts",
211
- "description": "Retrieve available analytics charts for the workspace",
212
- "operationId": "get_analytics_charts",
213
- "parameters": [
214
- {
215
- "name": "Publer-Workspace-Id",
216
- "in": "header",
217
- "schema": {
218
- "type": "string"
219
- },
220
- "example": "{{workspace_id}}",
221
- "required": true,
222
- "description": "Workspace ID to access analytics for"
223
- }
224
- ],
225
- "responses": {
226
- "200": {
227
- "description": "Successful response",
228
- "content": {
229
- "application/json": {
230
- "schema": {
231
- "$ref": "#/components/schemas/ChartsResponse"
232
- },
233
- "example": {
234
- "data": {
235
- "available_charts": ["followers", "engagement", "reach"]
236
- }
237
- }
238
- }
239
- }
240
- }
241
- }
242
- }
243
- },
244
- "/analytics/{account_id}/chart_data": {
245
- "get": {
246
- "tags": ["ANALYTICS"],
247
- "summary": "Charts data",
248
- "description": "Get detailed chart data for a specific social account",
249
- "operationId": "get_chart_data",
250
- "parameters": [
251
- {
252
- "name": "account_id",
253
- "in": "path",
254
- "schema": {
255
- "type": "string"
256
- },
257
- "required": true,
258
- "description": "Social account ID to get chart data for"
259
- },
260
- {
261
- "name": "Publer-Workspace-Id",
262
- "in": "header",
263
- "schema": {
264
- "type": "string"
265
- },
266
- "example": "{{workspace_id}}",
267
- "required": true,
268
- "description": "Workspace ID to access analytics for"
269
- },
270
- {
271
- "name": "from",
272
- "in": "query",
273
- "schema": {
274
- "type": "string",
275
- "format": "date"
276
- },
277
- "example": "2025-03-21",
278
- "description": "Start date for chart data range (YYYY-MM-DD)"
279
- },
280
- {
281
- "name": "to",
282
- "in": "query",
283
- "schema": {
284
- "type": "string",
285
- "format": "date"
286
- },
287
- "example": "2025-08-18",
288
- "description": "End date for chart data range (YYYY-MM-DD)"
289
- },
290
- {
291
- "name": "chart_ids",
292
- "in": "query",
293
- "schema": {
294
- "type": "array",
295
- "items": {
296
- "type": "string"
297
- }
298
- },
299
- "example": ["followers"],
300
- "description": "List of chart IDs to retrieve data for"
301
- }
302
- ],
303
- "responses": {
304
- "200": {
305
- "description": "Successful response",
306
- "content": {
307
- "application/json": {
308
- "schema": {
309
- "$ref": "#/components/schemas/ChartDataResponse"
310
- },
311
- "example": {
312
- "data": {
313
- "followers": {
314
- "labels": ["2025-03-21", "2025-03-22"],
315
- "values": [1000, 1010]
316
- }
317
- }
318
- }
319
- }
320
- }
321
- }
322
- }
323
- }
324
- },
325
- "/analytics/{account_id}/post_insights": {
326
- "get": {
327
- "tags": ["ANALYTICS"],
328
- "summary": "Post insights",
329
- "description": "Get detailed insights for posts on a specific social account",
330
- "operationId": "get_post_insights",
331
- "parameters": [
332
- {
333
- "name": "account_id",
334
- "in": "path",
335
- "schema": {
336
- "type": "string"
337
- },
338
- "required": true,
339
- "description": "Social account ID to get post insights for"
340
- },
341
- {
342
- "name": "Publer-Workspace-Id",
343
- "in": "header",
344
- "schema": {
345
- "type": "string"
346
- },
347
- "example": "{{workspace_id}}",
348
- "required": true,
349
- "description": "Workspace ID to access analytics for"
350
- },
351
- {
352
- "name": "competitors",
353
- "in": "query",
354
- "schema": {
355
- "type": "string",
356
- "enum": ["true", "false"]
357
- },
358
- "example": "false",
359
- "description": "Include competitor analysis data"
360
- },
361
- {
362
- "name": "competitor_id",
363
- "in": "query",
364
- "schema": {
365
- "type": "string"
366
- },
367
- "description": "Specific competitor account ID to analyze"
368
- },
369
- {
370
- "name": "from",
371
- "in": "query",
372
- "schema": {
373
- "type": "string",
374
- "format": "date"
375
- },
376
- "example": "2025-05-13",
377
- "description": "Start date (YYYY-MM-DD)"
378
- },
379
- {
380
- "name": "to",
381
- "in": "query",
382
- "schema": {
383
- "type": "string",
384
- "format": "date"
385
- },
386
- "example": "2025-08-10",
387
- "description": "End date (YYYY-MM-DD)"
388
- },
389
- {
390
- "name": "query",
391
- "in": "query",
392
- "schema": {
393
- "type": "string"
394
- },
395
- "description": "Search posts by text content"
396
- },
397
- {
398
- "name": "post_type",
399
- "in": "query",
400
- "schema": {
401
- "type": "string",
402
- "enum": [
403
- "poll",
404
- "status",
405
- "link",
406
- "carousel",
407
- "photo",
408
- "gif",
409
- "video",
410
- "reel",
411
- "document",
412
- "short",
413
- "article",
414
- "story"
415
- ]
416
- },
417
- "description": "Filter by post type"
418
- },
419
- {
420
- "name": "sort_by",
421
- "in": "query",
422
- "schema": {
423
- "type": "string",
424
- "enum": [
425
- "scheduled_at",
426
- "reach",
427
- "engagement",
428
- "engagement_rate",
429
- "click_through_rate",
430
- "reach_rate",
431
- "post_type",
432
- "likes",
433
- "video_views",
434
- "comments",
435
- "shares",
436
- "saves",
437
- "link_clicks",
438
- "post_clicks"
439
- ]
440
- },
441
- "description": "Field to sort results by"
442
- },
443
- {
444
- "name": "sort_type",
445
- "in": "query",
446
- "schema": {
447
- "type": "string",
448
- "enum": ["asc", "desc"]
449
- },
450
- "description": "Sort direction (asc or desc)"
451
- },
452
- {
453
- "name": "member_id",
454
- "in": "query",
455
- "schema": {
456
- "type": "string"
457
- },
458
- "description": "Filter by workspace member who created the post"
459
- }
460
- ],
461
- "responses": {
462
- "200": {
463
- "description": "Successful response",
464
- "content": {
465
- "application/json": {
466
- "schema": {
467
- "$ref": "#/components/schemas/PostInsightsResponse"
468
- },
469
- "example": {
470
- "data": [
471
- {
472
- "post_id": "123",
473
- "reach": 5000,
474
- "engagement": 250,
475
- "likes": 200
476
- }
477
- ],
478
- "pagination": {
479
- "page": 0,
480
- "total": 100
481
- }
482
- }
483
- }
484
- }
485
- }
486
- }
487
- }
488
- },
489
- "/analytics/{account_id}/hashtag_insights": {
490
- "get": {
491
- "tags": ["ANALYTICS"],
492
- "summary": "Hashtag insights",
493
- "description": "Get insights about hashtag performance for a specific social account",
494
- "operationId": "get_hashtag_insights",
495
- "parameters": [
496
- {
497
- "name": "account_id",
498
- "in": "path",
499
- "schema": {
500
- "type": "string"
501
- },
502
- "required": true,
503
- "description": "Social account ID to get hashtag insights for"
504
- },
505
- {
506
- "name": "Publer-Workspace-Id",
507
- "in": "header",
508
- "schema": {
509
- "type": "string"
510
- },
511
- "example": "{{workspace_id}}",
512
- "required": true,
513
- "description": "Workspace ID to access analytics for"
514
- },
515
- {
516
- "name": "from",
517
- "in": "query",
518
- "schema": {
519
- "type": "string",
520
- "format": "date"
521
- },
522
- "example": "2025-07-15",
523
- "description": "Start date for hashtag analysis (YYYY-MM-DD)"
524
- },
525
- {
526
- "name": "to",
527
- "in": "query",
528
- "schema": {
529
- "type": "string",
530
- "format": "date"
531
- },
532
- "example": "2025-08-11",
533
- "description": "End date for hashtag analysis (YYYY-MM-DD)"
534
- }
535
- ],
536
- "responses": {
537
- "200": {
538
- "description": "Successful response",
539
- "content": {
540
- "application/json": {
541
- "schema": {
542
- "$ref": "#/components/schemas/HashtagInsightsResponse"
543
- },
544
- "example": {
545
- "data": [
546
- {
547
- "hashtag": "#marketing",
548
- "usage_count": 50,
549
- "average_reach": 1000
550
- }
551
- ]
552
- }
553
- }
554
- }
555
- }
556
- }
557
- }
558
- },
559
- "/analytics/{account_id}/hashtag_performing_posts": {
560
- "get": {
561
- "tags": ["ANALYTICS"],
562
- "summary": "Hashtag performing posts",
563
- "description": "Get posts that performed best with a specific hashtag",
564
- "operationId": "get_hashtag_performing_posts",
565
- "parameters": [
566
- {
567
- "name": "account_id",
568
- "in": "path",
569
- "schema": {
570
- "type": "string"
571
- },
572
- "required": true,
573
- "description": "Social account ID to get hashtag performing posts for"
574
- },
575
- {
576
- "name": "Publer-Workspace-Id",
577
- "in": "header",
578
- "schema": {
579
- "type": "string"
580
- },
581
- "example": "{{workspace_id}}",
582
- "required": true,
583
- "description": "Workspace ID to access analytics for"
584
- },
585
- {
586
- "name": "hashtag",
587
- "in": "query",
588
- "schema": {
589
- "type": "string"
590
- },
591
- "description": "Hashtag to search for (e.g., #smm)",
592
- "example": "%23smm"
593
- },
594
- {
595
- "name": "from",
596
- "in": "query",
597
- "schema": {
598
- "type": "string",
599
- "format": "date"
600
- },
601
- "example": "2025-01-31",
602
- "description": "Start date for analysis (YYYY-MM-DD)"
603
- },
604
- {
605
- "name": "to",
606
- "in": "query",
607
- "schema": {
608
- "type": "string",
609
- "format": "date"
610
- },
611
- "example": "2025-12-31",
612
- "description": "End date for analysis (YYYY-MM-DD)"
613
- }
614
- ],
615
- "responses": {
616
- "200": {
617
- "description": "Successful response",
618
- "content": {
619
- "application/json": {
620
- "schema": {
621
- "$ref": "#/components/schemas/HashtagPerformingPostsResponse"
622
- },
623
- "example": {
624
- "data": [
625
- {
626
- "post_id": "456",
627
- "reach": 10000,
628
- "hashtag": "#smm"
629
- }
630
- ]
631
- }
632
- }
633
- }
634
- }
635
- }
636
- }
637
- },
638
- "/analytics/{account_id}/best_times": {
639
- "get": {
640
- "tags": ["ANALYTICS"],
641
- "summary": "Best times to post",
642
- "description": "Get optimal posting times based on historical performance data",
643
- "operationId": "get_best_times",
644
- "parameters": [
645
- {
646
- "name": "account_id",
647
- "in": "path",
648
- "schema": {
649
- "type": "string"
650
- },
651
- "required": true,
652
- "description": "Social account ID to get best times for"
653
- },
654
- {
655
- "name": "Publer-Workspace-Id",
656
- "in": "header",
657
- "schema": {
658
- "type": "string"
659
- },
660
- "example": "{{workspace_id}}",
661
- "required": true,
662
- "description": "Workspace ID to access analytics for"
663
- },
664
- {
665
- "name": "from",
666
- "in": "query",
667
- "schema": {
668
- "type": "string",
669
- "format": "date"
670
- },
671
- "example": "2024-01-01",
672
- "description": "Start date for analysis (YYYY-MM-DD)"
673
- },
674
- {
675
- "name": "to",
676
- "in": "query",
677
- "schema": {
678
- "type": "string",
679
- "format": "date"
680
- },
681
- "example": "2024-12-31",
682
- "description": "End date for analysis (YYYY-MM-DD)"
683
- }
684
- ],
685
- "responses": {
686
- "200": {
687
- "description": "Successful response",
688
- "content": {
689
- "application/json": {
690
- "schema": {
691
- "$ref": "#/components/schemas/BestTimesResponse"
692
- },
693
- "example": {
694
- "data": {
695
- "best_days": ["Monday", "Wednesday", "Friday"],
696
- "best_hours": [9, 12, 18]
697
- }
698
- }
699
- }
700
- }
701
- }
702
- }
703
- }
704
- },
705
- "/analytics/members": {
706
- "get": {
707
- "tags": ["ANALYTICS"],
708
- "summary": "Members",
709
- "description": "Get analytics data for workspace members",
710
- "operationId": "get_members_analytics",
711
- "parameters": [
712
- {
713
- "name": "Publer-Workspace-Id",
714
- "in": "header",
715
- "schema": {
716
- "type": "string"
717
- },
718
- "example": "{{workspace_id}}",
719
- "required": true,
720
- "description": "Workspace ID to access analytics for"
721
- },
722
- {
723
- "name": "from",
724
- "in": "query",
725
- "schema": {
726
- "type": "string",
727
- "format": "date"
728
- },
729
- "example": "2025-07-16",
730
- "required": true,
731
- "description": "Start date (YYYY-MM-DD)"
732
- },
733
- {
734
- "name": "to",
735
- "in": "query",
736
- "schema": {
737
- "type": "string",
738
- "format": "date"
739
- },
740
- "example": "2025-08-12",
741
- "required": true,
742
- "description": "End date (YYYY-MM-DD)"
743
- },
744
- {
745
- "name": "account_id",
746
- "in": "query",
747
- "schema": {
748
- "type": "string"
749
- },
750
- "description": "Restrict analytics to one social account. Omit for all workspace accounts."
751
- }
752
- ],
753
- "responses": {
754
- "200": {
755
- "description": "Successful response",
756
- "content": {
757
- "application/json": {
758
- "schema": {
759
- "$ref": "#/components/schemas/MembersResponse"
760
- },
761
- "example": {
762
- "data": [
763
- {
764
- "member_id": "user123",
765
- "name": "John Doe",
766
- "posts_count": 25
767
- }
768
- ]
769
- }
770
- }
771
- }
772
- }
773
- }
774
- }
775
- }
776
- }
777
- }