crisp-api 9.13.0 → 10.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 (116) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +2 -2
  3. package/dist/crisp.d.ts +167 -0
  4. package/dist/crisp.js +764 -0
  5. package/dist/resources/BaseResource.d.ts +15 -0
  6. package/dist/resources/BaseResource.js +20 -0
  7. package/dist/resources/BucketURL.d.ts +28 -0
  8. package/dist/resources/BucketURL.js +29 -0
  9. package/dist/resources/MediaAnimation.d.ts +14 -0
  10. package/dist/resources/MediaAnimation.js +32 -0
  11. package/dist/resources/PluginConnect.d.ts +50 -0
  12. package/dist/resources/PluginConnect.js +73 -0
  13. package/dist/resources/PluginSubscription.d.ts +103 -0
  14. package/dist/resources/PluginSubscription.js +122 -0
  15. package/dist/resources/WebsiteAnalytics.d.ts +14 -0
  16. package/dist/resources/WebsiteAnalytics.js +29 -0
  17. package/dist/resources/WebsiteAvailability.d.ts +31 -0
  18. package/dist/resources/WebsiteAvailability.js +36 -0
  19. package/dist/resources/WebsiteBase.d.ts +60 -0
  20. package/dist/resources/WebsiteBase.js +71 -0
  21. package/dist/resources/WebsiteBatch.d.ts +52 -0
  22. package/dist/resources/WebsiteBatch.js +70 -0
  23. package/dist/resources/WebsiteCampaign.d.ts +199 -0
  24. package/dist/resources/WebsiteCampaign.js +194 -0
  25. package/dist/resources/WebsiteConversation.d.ts +701 -0
  26. package/dist/resources/WebsiteConversation.js +595 -0
  27. package/dist/resources/WebsiteHelpdesk.d.ts +347 -0
  28. package/dist/resources/WebsiteHelpdesk.js +587 -0
  29. package/dist/resources/WebsiteOperator.d.ts +79 -0
  30. package/dist/resources/WebsiteOperator.js +93 -0
  31. package/dist/resources/WebsitePeople.d.ts +248 -0
  32. package/dist/resources/WebsitePeople.js +276 -0
  33. package/dist/resources/WebsiteSettings.d.ts +159 -0
  34. package/dist/resources/WebsiteSettings.js +36 -0
  35. package/dist/resources/WebsiteVerify.d.ts +38 -0
  36. package/dist/resources/WebsiteVerify.js +50 -0
  37. package/dist/resources/WebsiteVisitors.d.ts +113 -0
  38. package/dist/resources/WebsiteVisitors.js +88 -0
  39. package/dist/resources/index.d.ts +17 -0
  40. package/dist/resources/index.js +40 -0
  41. package/dist/services/bucket.d.ts +13 -0
  42. package/dist/services/bucket.js +28 -0
  43. package/dist/services/media.d.ts +13 -0
  44. package/dist/services/media.js +28 -0
  45. package/dist/services/plugin.d.ts +14 -0
  46. package/dist/services/plugin.js +30 -0
  47. package/dist/services/website.d.ts +24 -0
  48. package/dist/services/website.js +50 -0
  49. package/eslint.config.mjs +208 -0
  50. package/lib/crisp.ts +957 -0
  51. package/lib/resources/BaseResource.ts +29 -0
  52. package/lib/resources/BucketURL.ts +49 -0
  53. package/lib/resources/MediaAnimation.ts +34 -0
  54. package/lib/resources/PluginConnect.ts +128 -0
  55. package/lib/resources/PluginSubscription.ts +208 -0
  56. package/lib/resources/WebsiteAnalytics.ts +31 -0
  57. package/lib/resources/WebsiteAvailability.ts +54 -0
  58. package/lib/resources/WebsiteBase.ts +108 -0
  59. package/lib/resources/WebsiteBatch.ts +96 -0
  60. package/lib/resources/WebsiteCampaign.ts +399 -0
  61. package/lib/resources/WebsiteConversation.ts +1416 -0
  62. package/lib/resources/WebsiteHelpdesk.ts +982 -0
  63. package/lib/resources/WebsiteOperator.ts +161 -0
  64. package/lib/resources/WebsitePeople.ts +527 -0
  65. package/lib/resources/WebsiteSettings.ts +192 -0
  66. package/lib/resources/WebsiteVerify.ts +76 -0
  67. package/lib/resources/WebsiteVisitors.ts +196 -0
  68. package/lib/resources/index.ts +25 -0
  69. package/lib/services/bucket.ts +28 -0
  70. package/lib/services/media.ts +28 -0
  71. package/lib/services/plugin.ts +32 -0
  72. package/lib/services/website.ts +62 -0
  73. package/package.json +16 -11
  74. package/tsconfig.json +12 -5
  75. package/lib/crisp.js +0 -1171
  76. package/lib/resources/BucketURL.js +0 -34
  77. package/lib/resources/MediaAnimation.js +0 -41
  78. package/lib/resources/PluginConnect.js +0 -119
  79. package/lib/resources/PluginSubscription.js +0 -234
  80. package/lib/resources/WebsiteAnalytics.js +0 -37
  81. package/lib/resources/WebsiteAvailability.js +0 -48
  82. package/lib/resources/WebsiteBase.js +0 -100
  83. package/lib/resources/WebsiteBatch.js +0 -92
  84. package/lib/resources/WebsiteCampaign.js +0 -396
  85. package/lib/resources/WebsiteConversation.js +0 -1261
  86. package/lib/resources/WebsiteHelpdesk.js +0 -1198
  87. package/lib/resources/WebsiteOperator.js +0 -167
  88. package/lib/resources/WebsitePeople.js +0 -516
  89. package/lib/resources/WebsiteSettings.js +0 -50
  90. package/lib/resources/WebsiteVerify.js +0 -79
  91. package/lib/resources/WebsiteVisitors.js +0 -148
  92. package/lib/services/Bucket.js +0 -28
  93. package/lib/services/Media.js +0 -28
  94. package/lib/services/Plugin.js +0 -29
  95. package/lib/services/Website.js +0 -39
  96. package/types/crisp.d.ts +0 -151
  97. package/types/resources/BucketURL.d.ts +0 -15
  98. package/types/resources/MediaAnimation.d.ts +0 -15
  99. package/types/resources/PluginConnect.d.ts +0 -15
  100. package/types/resources/PluginSubscription.d.ts +0 -15
  101. package/types/resources/WebsiteAnalytics.d.ts +0 -15
  102. package/types/resources/WebsiteAvailability.d.ts +0 -15
  103. package/types/resources/WebsiteBase.d.ts +0 -15
  104. package/types/resources/WebsiteBatch.d.ts +0 -15
  105. package/types/resources/WebsiteCampaign.d.ts +0 -15
  106. package/types/resources/WebsiteConversation.d.ts +0 -15
  107. package/types/resources/WebsiteHelpdesk.d.ts +0 -15
  108. package/types/resources/WebsiteOperator.d.ts +0 -15
  109. package/types/resources/WebsitePeople.d.ts +0 -15
  110. package/types/resources/WebsiteSettings.d.ts +0 -15
  111. package/types/resources/WebsiteVerify.d.ts +0 -15
  112. package/types/resources/WebsiteVisitors.d.ts +0 -15
  113. package/types/services/Bucket.d.ts +0 -14
  114. package/types/services/Media.d.ts +0 -14
  115. package/types/services/Plugin.d.ts +0 -14
  116. package/types/services/Website.d.ts +0 -14
@@ -0,0 +1,587 @@
1
+ "use strict";
2
+ /*
3
+ * node-crisp-api
4
+ *
5
+ * Copyright 2023, Crisp IM SAS
6
+ * Author: Valerian Saliou <valerian@valeriansaliou.name>
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**************************************************************************
13
+ * IMPORTS
14
+ ***************************************************************************/
15
+ // PROJECT: RESOURCES
16
+ const BaseResource_1 = __importDefault(require("./BaseResource"));
17
+ /**
18
+ * Crisp WebsiteHelpdesk Resource
19
+ */
20
+ class WebsiteHelpdesk extends BaseResource_1.default {
21
+ /**
22
+ * Check If Helpdesk Exists
23
+ */
24
+ checkHelpdeskExists(websiteID) {
25
+ return this.crisp.head(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk"]));
26
+ }
27
+ ;
28
+ /**
29
+ * Resolve Helpdesk
30
+ */
31
+ resolveHelpdesk(websiteID) {
32
+ return this.crisp.get(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk"]));
33
+ }
34
+ ;
35
+ /**
36
+ * Initialize Helpdesk
37
+ */
38
+ initializeHelpdesk(websiteID, name, domainBasic) {
39
+ return this.crisp.post(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk"]), null, {
40
+ name: name,
41
+ domain_basic: domainBasic
42
+ });
43
+ }
44
+ ;
45
+ /**
46
+ * Delete Helpdesk
47
+ */
48
+ deleteHelpdesk(websiteID, verify) {
49
+ return this.crisp.delete(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk"]), null, {
50
+ verify: verify
51
+ });
52
+ }
53
+ ;
54
+ /**
55
+ * List Helpdesk Locales
56
+ */
57
+ listHelpdeskLocales(websiteID, pageNumber = 1) {
58
+ return this.crisp.get(this.crisp.prepareRestUrl([
59
+ "website", websiteID, "helpdesk", "locales", String(pageNumber)
60
+ ]));
61
+ }
62
+ ;
63
+ /**
64
+ * Add Helpdesk Locale
65
+ */
66
+ addHelpdeskLocale(websiteID, locale) {
67
+ return this.crisp.post(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk", "locale"]), null, {
68
+ locale: locale
69
+ });
70
+ }
71
+ ;
72
+ /**
73
+ * Check If Helpdesk Locale Exists
74
+ */
75
+ checkHelpdeskLocaleExists(websiteID, locale) {
76
+ return this.crisp.head(this.crisp.prepareRestUrl([
77
+ "website", websiteID, "helpdesk", "locale", locale
78
+ ]));
79
+ }
80
+ ;
81
+ /**
82
+ * Resolve Helpdesk Locale
83
+ */
84
+ resolveHelpdeskLocale(websiteID, locale) {
85
+ return this.crisp.get(this.crisp.prepareRestUrl([
86
+ "website", websiteID, "helpdesk", "locale", locale
87
+ ]));
88
+ }
89
+ ;
90
+ /**
91
+ * Delete Helpdesk Locale
92
+ */
93
+ deleteHelpdeskLocale(websiteID, locale) {
94
+ return this.crisp.delete(this.crisp.prepareRestUrl([
95
+ "website", websiteID, "helpdesk", "locale", locale
96
+ ]));
97
+ }
98
+ ;
99
+ /**
100
+ * List Helpdesk Locale Articles
101
+ */
102
+ listHelpdeskLocaleArticles(websiteID, locale, pageNumber = 1, options = {}) {
103
+ return this.crisp.get(this.crisp.prepareRestUrl([
104
+ "website", websiteID, "helpdesk", "locale", locale, "articles",
105
+ String(pageNumber)
106
+ ]), options);
107
+ }
108
+ ;
109
+ /**
110
+ * Add A New Helpdesk Locale Article
111
+ */
112
+ addNewHelpdeskLocaleArticle(websiteID, locale, title) {
113
+ return this.crisp.post(this.crisp.prepareRestUrl([
114
+ "website", websiteID, "helpdesk", "locale", locale, "article"
115
+ ]), null, {
116
+ title: title
117
+ });
118
+ }
119
+ ;
120
+ /**
121
+ * Check If Helpdesk Locale Article Exists
122
+ */
123
+ checkHelpdeskLocaleArticleExists(websiteID, locale, articleId) {
124
+ return this.crisp.head(this.crisp.prepareRestUrl([
125
+ "website", websiteID, "helpdesk", "locale", locale, "article", articleId
126
+ ]));
127
+ }
128
+ ;
129
+ /**
130
+ * Resolve Helpdesk Locale Article
131
+ */
132
+ resolveHelpdeskLocaleArticle(websiteID, locale, articleId) {
133
+ return this.crisp.get(this.crisp.prepareRestUrl([
134
+ "website", websiteID, "helpdesk", "locale", locale, "article",
135
+ articleId
136
+ ]));
137
+ }
138
+ ;
139
+ /**
140
+ * Save Helpdesk Locale Article
141
+ */
142
+ saveHelpdeskLocaleArticle(websiteID, locale, articleId, article) {
143
+ return this.crisp.put(this.crisp.prepareRestUrl([
144
+ "website", websiteID, "helpdesk", "locale", locale, "article",
145
+ articleId
146
+ ]), null, article);
147
+ }
148
+ ;
149
+ /**
150
+ * Update Helpdesk Locale Article
151
+ */
152
+ updateHelpdeskLocaleArticle(websiteID, locale, articleId, article) {
153
+ return this.crisp.patch(this.crisp.prepareRestUrl([
154
+ "website", websiteID, "helpdesk", "locale", locale, "article",
155
+ articleId
156
+ ]), null, article);
157
+ }
158
+ ;
159
+ /**
160
+ * Delete Helpdesk Locale Article
161
+ */
162
+ deleteHelpdeskLocaleArticle(websiteID, locale, articleId) {
163
+ return this.crisp.delete(this.crisp.prepareRestUrl([
164
+ "website", websiteID, "helpdesk", "locale", locale, "article",
165
+ articleId
166
+ ]));
167
+ }
168
+ ;
169
+ /**
170
+ * Resolve Helpdesk Locale Article Page
171
+ */
172
+ resolveHelpdeskLocaleArticlePage(websiteID, locale, articleId) {
173
+ return this.crisp.get(this.crisp.prepareRestUrl([
174
+ "website", websiteID, "helpdesk", "locale", locale, "article",
175
+ articleId, "page"
176
+ ]));
177
+ }
178
+ ;
179
+ /**
180
+ * Resolve Helpdesk Locale Article Category
181
+ */
182
+ resolveHelpdeskLocaleArticleCategory(websiteID, locale, articleId) {
183
+ return this.crisp.get(this.crisp.prepareRestUrl([
184
+ "website", websiteID, "helpdesk", "locale", locale, "article",
185
+ articleId, "category"
186
+ ]));
187
+ }
188
+ ;
189
+ /**
190
+ * Update Helpdesk Locale Article Category
191
+ */
192
+ updateHelpdeskLocaleArticleCategory(websiteID, locale, articleId, categoryId, sectionId) {
193
+ // Generate body
194
+ let body = {
195
+ category_id: categoryId
196
+ };
197
+ if (sectionId !== undefined) {
198
+ // @ts-ignore
199
+ body.section_id = sectionId;
200
+ }
201
+ return this.crisp.patch(this.crisp.prepareRestUrl([
202
+ "website", websiteID, "helpdesk", "locale", locale, "article",
203
+ articleId, "category"
204
+ ]), null, body);
205
+ }
206
+ ;
207
+ /**
208
+ * List Helpdesk Locale Article Alternates
209
+ */
210
+ listHelpdeskLocaleArticleAlternates(websiteID, locale, articleId) {
211
+ return this.crisp.get(this.crisp.prepareRestUrl([
212
+ "website", websiteID, "helpdesk", "locale", locale, "article",
213
+ articleId, "alternates"
214
+ ]));
215
+ }
216
+ ;
217
+ /**
218
+ * Check If Helpdesk Locale Article Alternate Exists
219
+ */
220
+ checkHelpdeskLocaleArticleAlternateExists(websiteID, locale, articleId, localeLinked) {
221
+ return this.crisp.head(this.crisp.prepareRestUrl([
222
+ "website", websiteID, "helpdesk", "locale", locale, "article",
223
+ articleId, "alternate", localeLinked
224
+ ]));
225
+ }
226
+ ;
227
+ /**
228
+ * Resolve Helpdesk Locale Article Alternate
229
+ */
230
+ resolveHelpdeskLocaleArticleAlternate(websiteID, locale, articleId, localeLinked) {
231
+ return this.crisp.get(this.crisp.prepareRestUrl([
232
+ "website", websiteID, "helpdesk", "locale", locale, "article",
233
+ articleId, "alternate", localeLinked
234
+ ]));
235
+ }
236
+ ;
237
+ /**
238
+ * Save Helpdesk Locale Article Alternate
239
+ */
240
+ saveHelpdeskLocaleArticleAlternate(websiteID, locale, articleId, localeLinked, articleIdLinked) {
241
+ return this.crisp.put(this.crisp.prepareRestUrl([
242
+ "website", websiteID, "helpdesk", "locale", locale, "article",
243
+ articleId, "alternate", localeLinked
244
+ ]), null, {
245
+ article_id: articleIdLinked
246
+ });
247
+ }
248
+ ;
249
+ /**
250
+ * Delete Helpdesk Locale Article Alternate
251
+ */
252
+ deleteHelpdeskLocaleArticleAlternate(websiteID, locale, articleId, localeLinked) {
253
+ return this.crisp.delete(this.crisp.prepareRestUrl([
254
+ "website", websiteID, "helpdesk", "locale", locale, "article",
255
+ articleId, "alternate", localeLinked
256
+ ]));
257
+ }
258
+ ;
259
+ /**
260
+ * Publish Helpdesk Locale Article
261
+ */
262
+ publishHelpdeskLocaleArticle(websiteID, locale, articleId) {
263
+ return this.crisp.post(this.crisp.prepareRestUrl([
264
+ "website", websiteID, "helpdesk", "locale", locale, "article",
265
+ articleId, "publish"
266
+ ]), null, null);
267
+ }
268
+ ;
269
+ /**
270
+ * Unpublish Helpdesk Locale Article
271
+ */
272
+ unpublishHelpdeskLocaleArticle(websiteID, locale, articleId) {
273
+ return this.crisp.post(this.crisp.prepareRestUrl([
274
+ "website", websiteID, "helpdesk", "locale", locale, "article",
275
+ articleId, "unpublish"
276
+ ]), null, null);
277
+ }
278
+ ;
279
+ /**
280
+ * List Helpdesk Locale Categories
281
+ */
282
+ listHelpdeskLocaleCategories(websiteID, locale, pageNumber = 1) {
283
+ return this.crisp.get(this.crisp.prepareRestUrl([
284
+ "website", websiteID, "helpdesk", "locale", locale, "categories",
285
+ String(pageNumber)
286
+ ]));
287
+ }
288
+ ;
289
+ /**
290
+ * Add Helpdesk Locale Category
291
+ */
292
+ addHelpdeskLocaleCategory(websiteID, locale, name) {
293
+ return this.crisp.post(this.crisp.prepareRestUrl([
294
+ "website", websiteID, "helpdesk", "locale", locale, "category"
295
+ ]), null, {
296
+ name: name
297
+ });
298
+ }
299
+ ;
300
+ /**
301
+ * Check If Helpdesk Locale Category Exists
302
+ */
303
+ checkHelpdeskLocaleCategoryExists(websiteID, locale, categoryId) {
304
+ return this.crisp.head(this.crisp.prepareRestUrl([
305
+ "website", websiteID, "helpdesk", "locale", locale, "category",
306
+ categoryId
307
+ ]));
308
+ }
309
+ ;
310
+ /**
311
+ * Resolve Helpdesk Locale Category
312
+ */
313
+ resolveHelpdeskLocaleCategory(websiteID, locale, categoryId) {
314
+ return this.crisp.get(this.crisp.prepareRestUrl([
315
+ "website", websiteID, "helpdesk", "locale", locale, "category",
316
+ categoryId
317
+ ]));
318
+ }
319
+ ;
320
+ /**
321
+ * Save Helpdesk Locale Category
322
+ */
323
+ saveHelpdeskLocaleCategory(websiteID, locale, categoryId, category) {
324
+ return this.crisp.put(this.crisp.prepareRestUrl([
325
+ "website", websiteID, "helpdesk", "locale", locale, "category",
326
+ categoryId
327
+ ]), null, category);
328
+ }
329
+ ;
330
+ /**
331
+ * Update Helpdesk Locale Category
332
+ */
333
+ updateHelpdeskLocaleCategory(websiteID, locale, categoryId, category) {
334
+ return this.crisp.patch(this.crisp.prepareRestUrl([
335
+ "website", websiteID, "helpdesk", "locale", locale, "category",
336
+ categoryId
337
+ ]), null, category);
338
+ }
339
+ ;
340
+ /**
341
+ * Delete Helpdesk Locale Category
342
+ */
343
+ deleteHelpdeskLocaleCategory(websiteID, locale, categoryId) {
344
+ return this.crisp.delete(this.crisp.prepareRestUrl([
345
+ "website", websiteID, "helpdesk", "locale", locale, "category",
346
+ categoryId
347
+ ]));
348
+ }
349
+ ;
350
+ /**
351
+ * List Helpdesk Locale Sections
352
+ */
353
+ listHelpdeskLocaleSections(websiteID, locale, categoryId, pageNumber = 1) {
354
+ return this.crisp.get(this.crisp.prepareRestUrl([
355
+ "website", websiteID, "helpdesk", "locale", locale, "category",
356
+ categoryId, "sections", String(pageNumber)
357
+ ]));
358
+ }
359
+ ;
360
+ /**
361
+ * Add Helpdesk Locale Section
362
+ */
363
+ addHelpdeskLocaleSection(websiteID, locale, categoryId, name) {
364
+ return this.crisp.post(this.crisp.prepareRestUrl([
365
+ "website", websiteID, "helpdesk", "locale", locale, "category",
366
+ categoryId, "section"
367
+ ]), null, {
368
+ name: name
369
+ });
370
+ }
371
+ ;
372
+ /**
373
+ * Check If Helpdesk Locale Section Exists
374
+ */
375
+ checkHelpdeskLocaleSectionExists(websiteID, locale, categoryId, sectionId) {
376
+ return this.crisp.head(this.crisp.prepareRestUrl([
377
+ "website", websiteID, "helpdesk", "locale", locale, "category",
378
+ categoryId, "section", sectionId
379
+ ]));
380
+ }
381
+ ;
382
+ /**
383
+ * Resolve Helpdesk Locale Section
384
+ */
385
+ resolveHelpdeskLocaleSection(websiteID, locale, categoryId, sectionId) {
386
+ return this.crisp.get(this.crisp.prepareRestUrl([
387
+ "website", websiteID, "helpdesk", "locale", locale, "category",
388
+ categoryId, "section", sectionId
389
+ ]));
390
+ }
391
+ ;
392
+ /**
393
+ * Save Helpdesk Locale Section
394
+ */
395
+ saveHelpdeskLocaleSection(websiteID, locale, categoryId, sectionId, section) {
396
+ return this.crisp.put(this.crisp.prepareRestUrl([
397
+ "website", websiteID, "helpdesk", "locale", locale, "category",
398
+ categoryId, "section", sectionId
399
+ ]), null, section);
400
+ }
401
+ ;
402
+ /**
403
+ * Update Helpdesk Locale Section
404
+ */
405
+ updateHelpdeskLocaleSection(websiteID, locale, categoryId, sectionId, section) {
406
+ return this.crisp.patch(this.crisp.prepareRestUrl([
407
+ "website", websiteID, "helpdesk", "locale", locale, "category",
408
+ categoryId, "section", sectionId
409
+ ]), null, section);
410
+ }
411
+ ;
412
+ /**
413
+ * Delete Helpdesk Locale Section
414
+ */
415
+ deleteHelpdeskLocaleSection(websiteID, locale, categoryId, sectionId) {
416
+ return this.crisp.delete(this.crisp.prepareRestUrl([
417
+ "website", websiteID, "helpdesk", "locale", locale, "category",
418
+ categoryId, "section", sectionId
419
+ ]));
420
+ }
421
+ ;
422
+ /**
423
+ * Map Helpdesk Locale Feedback Ratings
424
+ */
425
+ mapHelpdeskLocaleFeedbackRatings(websiteID, locale, filterDateStart, filterDateEnd) {
426
+ filterDateStart = (filterDateStart || null);
427
+ filterDateEnd = (filterDateEnd || null);
428
+ // Generate query
429
+ let query = {};
430
+ if (filterDateStart !== null) {
431
+ // @ts-ignore
432
+ query.filter_date_start = filterDateStart;
433
+ }
434
+ if (filterDateEnd !== null) {
435
+ // @ts-ignore
436
+ query.filter_date_end = filterDateEnd;
437
+ }
438
+ return this.crisp.get(this.crisp.prepareRestUrl([
439
+ "website", websiteID, "helpdesk", "locale", locale, "feedback",
440
+ "ratings"
441
+ ]), query);
442
+ }
443
+ ;
444
+ /**
445
+ * List Helpdesk Locale Feedbacks
446
+ */
447
+ listHelpdeskLocaleFeedbacks(websiteID, locale, pageNumber = 1, filterDateStart, filterDateEnd) {
448
+ filterDateStart = (filterDateStart || null);
449
+ filterDateEnd = (filterDateEnd || null);
450
+ // Generate query
451
+ let query = {};
452
+ if (filterDateStart !== null) {
453
+ // @ts-ignore
454
+ query.filter_date_start = filterDateStart;
455
+ }
456
+ if (filterDateEnd !== null) {
457
+ // @ts-ignore
458
+ query.filter_date_end = filterDateEnd;
459
+ }
460
+ return this.crisp.get(this.crisp.prepareRestUrl([
461
+ "website", websiteID, "helpdesk", "locale", locale, "feedback", "list",
462
+ String(pageNumber)
463
+ ]), query);
464
+ }
465
+ ;
466
+ /**
467
+ * Import External Helpdesk To Locale
468
+ */
469
+ importExternalHelpdeskToLocale(websiteID, locale, helpdeskUrl) {
470
+ return this.crisp.post(this.crisp.prepareRestUrl([
471
+ "website", websiteID, "helpdesk", "locale", locale, "import"
472
+ ]), null, {
473
+ helpdesk_url: helpdeskUrl
474
+ });
475
+ }
476
+ ;
477
+ /**
478
+ * Export Helpdesk Locale Articles
479
+ */
480
+ exportHelpdeskLocaleArticles(websiteID, locale) {
481
+ return this.crisp.post(this.crisp.prepareRestUrl([
482
+ "website", websiteID, "helpdesk", "locale", locale, "export"
483
+ ]), null, null);
484
+ }
485
+ ;
486
+ /**
487
+ * List Helpdesk Redirections
488
+ */
489
+ listHelpdeskRedirections(websiteID, pageNumber = 1) {
490
+ return this.crisp.get(this.crisp.prepareRestUrl([
491
+ "website", websiteID, "helpdesk", "redirections", String(pageNumber)
492
+ ]));
493
+ }
494
+ ;
495
+ /**
496
+ * Add Helpdesk Redirection
497
+ */
498
+ addHelpdeskRedirection(websiteID, redirectionPath, redirectionTarget) {
499
+ return this.crisp.post(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk", "redirection"]), null, {
500
+ path: redirectionPath,
501
+ target: redirectionTarget
502
+ });
503
+ }
504
+ ;
505
+ /**
506
+ * Check If Helpdesk Redirection Exists
507
+ */
508
+ checkHelpdeskRedirectionExists(websiteID, redirectionId) {
509
+ return this.crisp.head(this.crisp.prepareRestUrl([
510
+ "website", websiteID, "helpdesk", "redirection", redirectionId
511
+ ]));
512
+ }
513
+ ;
514
+ /**
515
+ * Resolve Helpdesk Redirection
516
+ */
517
+ resolveHelpdeskRedirection(websiteID, redirectionId) {
518
+ return this.crisp.get(this.crisp.prepareRestUrl([
519
+ "website", websiteID, "helpdesk", "redirection", redirectionId
520
+ ]));
521
+ }
522
+ ;
523
+ /**
524
+ * Delete Helpdesk Redirection
525
+ */
526
+ deleteHelpdeskRedirection(websiteID, redirectionId) {
527
+ return this.crisp.delete(this.crisp.prepareRestUrl([
528
+ "website", websiteID, "helpdesk", "redirection", redirectionId
529
+ ]));
530
+ }
531
+ ;
532
+ /**
533
+ * Resolve Helpdesk Settings
534
+ */
535
+ resolveHelpdeskSettings(websiteID) {
536
+ return this.crisp.get(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk", "settings"]));
537
+ }
538
+ ;
539
+ /**
540
+ * Save Helpdesk Settings
541
+ */
542
+ saveHelpdeskSettings(websiteID, settings) {
543
+ return this.crisp.patch(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk", "settings"]), null, settings);
544
+ }
545
+ ;
546
+ /**
547
+ * Resolve Helpdesk Domain
548
+ */
549
+ resolveHelpdeskDomain(websiteID) {
550
+ return this.crisp.get(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk", "domain"]));
551
+ }
552
+ ;
553
+ /**
554
+ * Request Helpdesk Domain Change
555
+ */
556
+ requestHelpdeskDomainChange(websiteID, basic, custom) {
557
+ // Generate body
558
+ let body = {};
559
+ if (basic !== undefined) {
560
+ // @ts-ignore
561
+ body.basic = basic;
562
+ }
563
+ if (custom !== undefined) {
564
+ // @ts-ignore
565
+ body.custom = custom;
566
+ }
567
+ return this.crisp.patch(this.crisp.prepareRestUrl(["website", websiteID, "helpdesk", "domain"]), null, body);
568
+ }
569
+ ;
570
+ /**
571
+ * Generate Helpdesk Domain Setup Flow
572
+ */
573
+ generateHelpdeskDomainSetupFlow(websiteID, custom) {
574
+ custom = (custom || null);
575
+ // Generate query
576
+ let query = {};
577
+ if (custom !== null) {
578
+ // @ts-ignore
579
+ query.custom = custom;
580
+ }
581
+ return this.crisp.get(this.crisp.prepareRestUrl([
582
+ "website", websiteID, "helpdesk", "domain", "setup"
583
+ ]), query);
584
+ }
585
+ ;
586
+ }
587
+ exports.default = WebsiteHelpdesk;
@@ -0,0 +1,79 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import BaseResource from "./BaseResource";
5
+ export interface WebsiteOperatorListOne {
6
+ type?: string;
7
+ details?: WebsiteOperator;
8
+ }
9
+ export interface WebsiteOperatorData {
10
+ data?: WebsiteOperator;
11
+ }
12
+ export interface WebsiteOperator {
13
+ userID?: string;
14
+ email?: string;
15
+ avatar?: string;
16
+ firstName?: string;
17
+ lastName?: string;
18
+ role?: string;
19
+ title?: string;
20
+ availability?: string;
21
+ hasToken?: boolean;
22
+ identifier?: string;
23
+ key?: string;
24
+ }
25
+ export interface WebsiteOperatorsLastActiveListOne {
26
+ userID?: string;
27
+ avatar?: string;
28
+ nickname?: string;
29
+ timestamp?: number;
30
+ }
31
+ export interface WebsiteOperatorEmail {
32
+ recipient?: string;
33
+ userID?: string;
34
+ subject?: string;
35
+ message?: string;
36
+ target?: WebsiteOperatorEmailTarget;
37
+ }
38
+ export interface WebsiteOperatorEmailTarget {
39
+ label?: string;
40
+ url?: string;
41
+ }
42
+ /**
43
+ * Crisp WebsiteOperator Resource
44
+ */
45
+ declare class WebsiteOperatorService extends BaseResource {
46
+ /**
47
+ * List Website Operators
48
+ */
49
+ listWebsiteOperators(websiteID: string): Promise<WebsiteOperatorListOne[]>;
50
+ /**
51
+ * List Last Active Website Operators
52
+ */
53
+ listLastActiveWebsiteOperators(websiteID: string): Promise<WebsiteOperatorsLastActiveListOne[]>;
54
+ /**
55
+ * Flush Last Active Website Operators
56
+ */
57
+ flushLastActiveWebsiteOperators(websiteID: string): Promise<any>;
58
+ /**
59
+ * Send Email To Website Operators
60
+ */
61
+ sendEmailToWebsiteOperators(websiteID: string, emailData: WebsiteOperatorEmail): Promise<any>;
62
+ /**
63
+ * Get A Website Operator
64
+ */
65
+ getWebsiteOperator(websiteID: string, userID: string): Promise<WebsiteOperator>;
66
+ /**
67
+ * Invite A Website Operator
68
+ */
69
+ inviteWebsiteOperator(websiteID: string, email: string, role: string, verify: boolean): Promise<any>;
70
+ /**
71
+ * Change Operator Membership
72
+ */
73
+ changeOperatorMembership(websiteID: string, userID: string, role: string, title: string): Promise<any>;
74
+ /**
75
+ * Unlink Operator From Website
76
+ */
77
+ unlinkOperatorFromWebsite(websiteID: string, userID: string): Promise<any>;
78
+ }
79
+ export default WebsiteOperatorService;