crisp-api 9.13.0 → 10.0.3

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