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,15 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import Crisp from "../crisp";
5
+ /**
6
+ * Crisp Base Resource
7
+ */
8
+ declare class BaseResource {
9
+ protected crisp: Crisp;
10
+ /**
11
+ * Constructor
12
+ */
13
+ constructor(crisp: Crisp);
14
+ }
15
+ export default BaseResource;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /*
3
+ * node-crisp-api
4
+ *
5
+ * Copyright 2022, Crisp IM SAS
6
+ * Author: Baptiste Jamin <baptiste@crisp.chat>
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ /**
10
+ * Crisp Base Resource
11
+ */
12
+ class BaseResource {
13
+ /**
14
+ * Constructor
15
+ */
16
+ constructor(crisp) {
17
+ this.crisp = crisp;
18
+ }
19
+ }
20
+ exports.default = BaseResource;
@@ -0,0 +1,28 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import BaseResource from "./BaseResource";
5
+ export type BucketURLRequestFile = {
6
+ name?: string;
7
+ type?: string;
8
+ };
9
+ export type BucketURLRequestResource = {
10
+ type?: string;
11
+ id?: string;
12
+ };
13
+ export type BucketURLRequest = {
14
+ namespace?: string;
15
+ id?: string;
16
+ file?: BucketURLRequestFile;
17
+ resource?: BucketURLRequestResource;
18
+ };
19
+ /**
20
+ * Crisp BucketURL Resource
21
+ */
22
+ declare class BucketURL extends BaseResource {
23
+ /**
24
+ * Generate Bucket URL
25
+ */
26
+ generateBucketURL(data: BucketURLRequest): Promise<any>;
27
+ }
28
+ export default BucketURL;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /*
3
+ * node-crisp-api
4
+ *
5
+ * Copyright 2022, Crisp IM SAS
6
+ * Author: Baptiste Jamin <baptiste@crisp.chat>
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 BucketURL Resource
19
+ */
20
+ class BucketURL extends BaseResource_1.default {
21
+ /**
22
+ * Generate Bucket URL
23
+ */
24
+ generateBucketURL(data) {
25
+ return this.crisp.post(this.crisp.prepareRestUrl(["bucket", "url", "generate"]), null, data);
26
+ }
27
+ ;
28
+ }
29
+ exports.default = BucketURL;
@@ -0,0 +1,14 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import BaseResource from "./BaseResource";
5
+ /**
6
+ * Crisp MediaAnimation Resource
7
+ */
8
+ declare class MediaAnimation extends BaseResource {
9
+ /**
10
+ * List Animation Medias
11
+ */
12
+ listAnimationMedias(pageNumber: number, listID: string, searchQuery: object): Promise<any>;
13
+ }
14
+ export default MediaAnimation;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /*
3
+ * node-crisp-api
4
+ *
5
+ * Copyright 2022, 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 MediaAnimation Resource
19
+ */
20
+ class MediaAnimation extends BaseResource_1.default {
21
+ /**
22
+ * List Animation Medias
23
+ */
24
+ listAnimationMedias(pageNumber, listID, searchQuery) {
25
+ return this.crisp.get(this.crisp.prepareRestUrl(["media", "animation", "list", String(pageNumber)]), {
26
+ list_id: listID,
27
+ search_query: searchQuery
28
+ });
29
+ }
30
+ ;
31
+ }
32
+ exports.default = MediaAnimation;
@@ -0,0 +1,50 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import BaseResource from "./BaseResource";
5
+ export type PluginConnectAccount = {
6
+ plugin_id?: string;
7
+ };
8
+ export type PluginConnectAllWebsites = {
9
+ website_id?: string;
10
+ token?: string;
11
+ settings?: object;
12
+ };
13
+ export type PluginConnectWebsitesSince = {
14
+ website_id?: string;
15
+ token?: string;
16
+ settings?: object;
17
+ difference?: string;
18
+ };
19
+ export type PluginConnectEndpoints = {
20
+ socket?: PluginConnectEndpointsSocket;
21
+ };
22
+ export type PluginConnectEndpointsSocket = {
23
+ app?: string;
24
+ };
25
+ /**
26
+ * Crisp PluginConnect Resource
27
+ */
28
+ declare class PluginConnect extends BaseResource {
29
+ /**
30
+ * Get Connect Account
31
+ */
32
+ getConnectAccount(): Promise<PluginConnectAccount>;
33
+ /**
34
+ * Check Connect Session Validity
35
+ */
36
+ checkConnectSessionValidity(): Promise<any>;
37
+ /**
38
+ * List All Connect Websites
39
+ */
40
+ listAllConnectWebsites(pageNumber: number, filterConfigured: boolean): Promise<PluginConnectAllWebsites>;
41
+ /**
42
+ * List Connect Websites Since
43
+ */
44
+ listConnectWebsitesSince(dateSince: string, filterConfigured: boolean): Promise<PluginConnectWebsitesSince>;
45
+ /**
46
+ * Get Connect Endpoints
47
+ */
48
+ getConnectEndpoints(): Promise<PluginConnectEndpoints>;
49
+ }
50
+ export default PluginConnect;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ /*
3
+ * node-crisp-api
4
+ *
5
+ * Copyright 2022, Crisp IM SAS
6
+ * Author: Baptiste Jamin <baptiste@crisp.chat>
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 PluginConnect Resource
19
+ */
20
+ class PluginConnect extends BaseResource_1.default {
21
+ /**
22
+ * Get Connect Account
23
+ */
24
+ getConnectAccount() {
25
+ return this.crisp.get(this.crisp.prepareRestUrl(["plugin", "connect", "account"]), {});
26
+ }
27
+ ;
28
+ /**
29
+ * Check Connect Session Validity
30
+ */
31
+ checkConnectSessionValidity() {
32
+ return this.crisp.head(this.crisp.prepareRestUrl(["plugin", "connect", "session"]), {});
33
+ }
34
+ ;
35
+ /**
36
+ * List All Connect Websites
37
+ */
38
+ listAllConnectWebsites(pageNumber, filterConfigured) {
39
+ // Generate query
40
+ let query = {
41
+ filter_configured: ((filterConfigured === true) ? "1" : "0")
42
+ };
43
+ return this.crisp.get(this.crisp.prepareRestUrl([
44
+ "plugin", "connect", "websites", "all", String(pageNumber)
45
+ ]), query);
46
+ }
47
+ ;
48
+ /**
49
+ * List Connect Websites Since
50
+ */
51
+ listConnectWebsitesSince(dateSince, filterConfigured) {
52
+ // Generate query
53
+ let query = {
54
+ filter_configured: ((filterConfigured === true) ? "1" : "0")
55
+ };
56
+ if (dateSince) {
57
+ // @ts-ignore
58
+ query.date_since = dateSince;
59
+ }
60
+ return this.crisp.get(this.crisp.prepareRestUrl([
61
+ "plugin", "connect", "websites", "since"
62
+ ]), query);
63
+ }
64
+ ;
65
+ /**
66
+ * Get Connect Endpoints
67
+ */
68
+ getConnectEndpoints() {
69
+ return this.crisp.get(this.crisp.prepareRestUrl(["plugin", "connect", "endpoints"]), {});
70
+ }
71
+ ;
72
+ }
73
+ exports.default = PluginConnect;
@@ -0,0 +1,103 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import BaseResource from "./BaseResource";
5
+ type PluginSubscription = {
6
+ id?: string;
7
+ urn?: string;
8
+ type?: string;
9
+ category?: string;
10
+ name?: string;
11
+ summary?: string;
12
+ price?: number;
13
+ plans?: PluginSubscriptionPlan[];
14
+ icon?: string;
15
+ website_url?: string;
16
+ contact_url?: string;
17
+ terms_url?: string;
18
+ privacy_url?: string;
19
+ help_url?: string;
20
+ video_url?: string;
21
+ configurable?: boolean;
22
+ since?: string;
23
+ active?: boolean;
24
+ website_id?: string;
25
+ card_id?: string;
26
+ };
27
+ type PluginSubscriptionPlan = {
28
+ id?: string;
29
+ name?: string;
30
+ price?: number;
31
+ };
32
+ type PluginSubscriptionSettings = {
33
+ plugin_id?: string;
34
+ website_id?: string;
35
+ token?: string;
36
+ schema?: object;
37
+ settings?: object;
38
+ settings_form_url?: string;
39
+ callback_url?: string;
40
+ };
41
+ type PluginSubscriptionChannelForward = {
42
+ namespace?: string;
43
+ identifier?: string;
44
+ payload?: object;
45
+ };
46
+ type PluginSubscriptionEventDispatch = {
47
+ name?: string;
48
+ data?: object;
49
+ };
50
+ /**
51
+ * Crisp PluginSubscription Resource
52
+ */
53
+ declare class PluginSubscriptionService extends BaseResource {
54
+ /**
55
+ * List All Active Subscriptions
56
+ */
57
+ listAllActiveSubscriptions(): Promise<PluginSubscription[]>;
58
+ /**
59
+ * List Subscriptions For A Website
60
+ */
61
+ listSubscriptionsForWebsite(websiteID: string): Promise<PluginSubscription[]>;
62
+ /**
63
+ * Get Subscription Details
64
+ */
65
+ getSubscriptionDetails(websiteID: string, pluginID: string): Promise<PluginSubscription>;
66
+ /**
67
+ * Subscribe Website To Plugin
68
+ */
69
+ subscribeWebsiteToPlugin(websiteID: string, pluginID: string): Promise<any>;
70
+ /**
71
+ * Unsubscribe Plugin From Website
72
+ */
73
+ unsubscribePluginFromWebsite(websiteID: string, pluginID: string): Promise<any>;
74
+ /**
75
+ * Get Subscription Settings
76
+ */
77
+ getSubscriptionSettings(websiteID: string, pluginID: string): Promise<PluginSubscriptionSettings>;
78
+ /**
79
+ * Save Subscription Settings
80
+ */
81
+ saveSubscriptionSettings(websiteID: string, pluginID: string, settings: object): Promise<any>;
82
+ /**
83
+ * Update Subscription Settings
84
+ */
85
+ updateSubscriptionSettings(websiteID: string, pluginID: string, settings: object): Promise<any>;
86
+ /**
87
+ * Get Plugin Usage Bills
88
+ */
89
+ getPluginUsageBills(websiteID: string, pluginID: string): Promise<any>;
90
+ /**
91
+ * Report Plugin Usage To Bill
92
+ */
93
+ reportPluginUsageToBill(websiteID: string, pluginID: string, usage: object): Promise<any>;
94
+ /**
95
+ * Forward Plugin Payload To Channel
96
+ */
97
+ forwardPluginPayloadToChannel(websiteID: string, pluginID: string, payload: PluginSubscriptionChannelForward): Promise<any>;
98
+ /**
99
+ * Dispatch Plugin Event
100
+ */
101
+ dispatchPluginEvent(websiteID: string, pluginID: string, payload: PluginSubscriptionEventDispatch): Promise<any>;
102
+ }
103
+ export default PluginSubscriptionService;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /*
3
+ * node-crisp-api
4
+ *
5
+ * Copyright 2022, Crisp IM SAS
6
+ * Author: Baptiste Jamin <baptiste@crisp.chat>
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 PluginSubscription Resource
19
+ */
20
+ class PluginSubscriptionService extends BaseResource_1.default {
21
+ /**
22
+ * List All Active Subscriptions
23
+ */
24
+ listAllActiveSubscriptions() {
25
+ return this.crisp.get(this.crisp.prepareRestUrl(["plugins", "subscription"]));
26
+ }
27
+ ;
28
+ /**
29
+ * List Subscriptions For A Website
30
+ */
31
+ listSubscriptionsForWebsite(websiteID) {
32
+ return this.crisp.get(this.crisp.prepareRestUrl(["plugins", "subscription", websiteID]));
33
+ }
34
+ ;
35
+ /**
36
+ * Get Subscription Details
37
+ */
38
+ getSubscriptionDetails(websiteID, pluginID) {
39
+ return this.crisp.get(this.crisp.prepareRestUrl(["plugins", "subscription", websiteID, pluginID]));
40
+ }
41
+ ;
42
+ /**
43
+ * Subscribe Website To Plugin
44
+ */
45
+ subscribeWebsiteToPlugin(websiteID, pluginID) {
46
+ return this.crisp.post(this.crisp.prepareRestUrl(["plugins", "subscription", websiteID]), null, {
47
+ plugin_id: pluginID
48
+ });
49
+ }
50
+ ;
51
+ /**
52
+ * Unsubscribe Plugin From Website
53
+ */
54
+ unsubscribePluginFromWebsite(websiteID, pluginID) {
55
+ return this.crisp.delete(this.crisp.prepareRestUrl(["plugins", "subscription", websiteID, pluginID]));
56
+ }
57
+ ;
58
+ /**
59
+ * Get Subscription Settings
60
+ */
61
+ getSubscriptionSettings(websiteID, pluginID) {
62
+ return this.crisp.get(this.crisp.prepareRestUrl([
63
+ "plugins", "subscription", websiteID, pluginID, "settings"
64
+ ]));
65
+ }
66
+ ;
67
+ /**
68
+ * Save Subscription Settings
69
+ */
70
+ saveSubscriptionSettings(websiteID, pluginID, settings) {
71
+ return this.crisp.put(this.crisp.prepareRestUrl([
72
+ "plugins", "subscription", websiteID, pluginID, "settings"
73
+ ]), null, settings);
74
+ }
75
+ ;
76
+ /**
77
+ * Update Subscription Settings
78
+ */
79
+ updateSubscriptionSettings(websiteID, pluginID, settings) {
80
+ return this.crisp.patch(this.crisp.prepareRestUrl([
81
+ "plugins", "subscription", websiteID, pluginID, "settings"
82
+ ]), null, settings);
83
+ }
84
+ ;
85
+ /**
86
+ * Get Plugin Usage Bills
87
+ */
88
+ getPluginUsageBills(websiteID, pluginID) {
89
+ return this.crisp.get(this.crisp.prepareRestUrl([
90
+ "plugins", "subscription", websiteID, pluginID, "bill", "usage"
91
+ ]));
92
+ }
93
+ ;
94
+ /**
95
+ * Report Plugin Usage To Bill
96
+ */
97
+ reportPluginUsageToBill(websiteID, pluginID, usage) {
98
+ return this.crisp.post(this.crisp.prepareRestUrl([
99
+ "plugins", "subscription", websiteID, pluginID, "bill", "usage"
100
+ ]), null, usage);
101
+ }
102
+ ;
103
+ /**
104
+ * Forward Plugin Payload To Channel
105
+ */
106
+ forwardPluginPayloadToChannel(websiteID, pluginID, payload) {
107
+ return this.crisp.post(this.crisp.prepareRestUrl([
108
+ "plugins", "subscription", websiteID, pluginID, "channel"
109
+ ]), null, payload);
110
+ }
111
+ ;
112
+ /**
113
+ * Dispatch Plugin Event
114
+ */
115
+ dispatchPluginEvent(websiteID, pluginID, payload) {
116
+ return this.crisp.post(this.crisp.prepareRestUrl([
117
+ "plugins", "subscription", websiteID, pluginID, "event"
118
+ ]), null, payload);
119
+ }
120
+ ;
121
+ }
122
+ exports.default = PluginSubscriptionService;
@@ -0,0 +1,14 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import BaseResource from "./BaseResource";
5
+ /**
6
+ * Crisp WebsiteAnalytics Resource
7
+ */
8
+ declare class WebsiteAnalytics extends BaseResource {
9
+ /**
10
+ * Generate Analytics
11
+ */
12
+ generateAnalytics(websiteID: string, query: object): Promise<any>;
13
+ }
14
+ export default WebsiteAnalytics;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /*
3
+ * node-crisp-api
4
+ *
5
+ * Copyright 2022, 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 WebsiteAnalytics Resource
19
+ */
20
+ class WebsiteAnalytics extends BaseResource_1.default {
21
+ /**
22
+ * Generate Analytics
23
+ */
24
+ generateAnalytics(websiteID, query) {
25
+ return this.crisp.post(this.crisp.prepareRestUrl(["website", websiteID, "analytics", "generate"]), null, query);
26
+ }
27
+ ;
28
+ }
29
+ exports.default = WebsiteAnalytics;
@@ -0,0 +1,31 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import BaseResource from "./BaseResource";
5
+ type WebsiteAvailabilityStatus = {
6
+ status?: string;
7
+ since?: number;
8
+ };
9
+ type WebsiteAvailabilityOperator = {
10
+ user_id?: string;
11
+ type?: string;
12
+ time?: WebsiteAvailabilityOperatorTime;
13
+ };
14
+ type WebsiteAvailabilityOperatorTime = {
15
+ for?: number;
16
+ since?: number;
17
+ };
18
+ /**
19
+ * Crisp WebsiteAvailability Resource
20
+ */
21
+ declare class WebsiteAvailability extends BaseResource {
22
+ /**
23
+ * Get Website Availability Status
24
+ */
25
+ getWebsiteAvailabilityStatus(websiteID: string): Promise<WebsiteAvailabilityStatus>;
26
+ /**
27
+ * List Website Operator Availabilities
28
+ */
29
+ listWebsiteOperatorAvailabilities(websiteID: string): Promise<WebsiteAvailabilityOperator[]>;
30
+ }
31
+ export default WebsiteAvailability;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /*
3
+ * node-crisp-api
4
+ *
5
+ * Copyright 2022, 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 WebsiteAvailability Resource
19
+ */
20
+ class WebsiteAvailability extends BaseResource_1.default {
21
+ /**
22
+ * Get Website Availability Status
23
+ */
24
+ getWebsiteAvailabilityStatus(websiteID) {
25
+ return this.crisp.get(this.crisp.prepareRestUrl(["website", websiteID, "availability", "status"]));
26
+ }
27
+ ;
28
+ /**
29
+ * List Website Operator Availabilities
30
+ */
31
+ listWebsiteOperatorAvailabilities(websiteID) {
32
+ return this.crisp.get(this.crisp.prepareRestUrl(["website", websiteID, "availability", "operators"]));
33
+ }
34
+ ;
35
+ }
36
+ exports.default = WebsiteAvailability;
@@ -0,0 +1,60 @@
1
+ /**************************************************************************
2
+ * IMPORTS
3
+ ***************************************************************************/
4
+ import BaseResource from "./BaseResource";
5
+ type Website = {
6
+ website_id?: string;
7
+ name?: string;
8
+ domain?: string;
9
+ logo?: string;
10
+ };
11
+ type WebsiteCreate = {
12
+ name?: string;
13
+ domain?: string;
14
+ };
15
+ type WebsiteRemoveVerify = {
16
+ method?: string;
17
+ secret?: string;
18
+ };
19
+ export type WebsiteFilter = {
20
+ model?: string;
21
+ criterion?: string;
22
+ operator?: string;
23
+ query?: Record<string, unknown>;
24
+ };
25
+ /**
26
+ * Crisp WebsiteBase Resource
27
+ */
28
+ declare class WebsiteBase extends BaseResource {
29
+ /**
30
+ * Check If Website Exists
31
+ * @memberof WebsiteBase
32
+ * @public
33
+ * @method checkWebsiteExists
34
+ * @param {string} domain
35
+ * @return {Promise}
36
+ */
37
+ checkWebsiteExists(domain: string): Promise<any>;
38
+ /**
39
+ * Create Website
40
+ */
41
+ createWebsite(websiteData: WebsiteCreate): Promise<Website>;
42
+ /**
43
+ * Get A Website
44
+ * @memberof WebsiteBase
45
+ * @public
46
+ * @method getWebsite
47
+ * @param {string} websiteID
48
+ * @return {Promise}
49
+ */
50
+ getWebsite(websiteID: string): Promise<Website>;
51
+ /**
52
+ * Delete A Website
53
+ */
54
+ deleteWebsite(websiteID: string, verify: WebsiteRemoveVerify): Promise<any>;
55
+ /**
56
+ * Abort Website Deletion
57
+ */
58
+ abortWebsiteDeletion(websiteID: string): Promise<any>;
59
+ }
60
+ export default WebsiteBase;