crisp-api 10.0.18 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/EXAMPLES.md +33 -0
- package/README.md +19 -2
- package/dist/crisp.js +17 -5
- package/dist/resources/BaseResource.js +3 -3
- package/dist/resources/BucketURL.js +3 -3
- package/dist/resources/MediaAnimation.js +3 -3
- package/dist/resources/PluginConnect.js +3 -3
- package/dist/resources/PluginSubscription.d.ts +4 -0
- package/dist/resources/PluginSubscription.js +12 -3
- package/dist/resources/WebsiteAnalytics.js +3 -3
- package/dist/resources/WebsiteAvailability.js +3 -3
- package/dist/resources/WebsiteBase.js +3 -3
- package/dist/resources/WebsiteBatch.js +3 -3
- package/dist/resources/WebsiteCampaign.js +3 -3
- package/dist/resources/WebsiteConversation.d.ts +34 -1
- package/dist/resources/WebsiteConversation.js +7 -5
- package/dist/resources/WebsiteHelpdesk.js +3 -3
- package/dist/resources/WebsiteOperator.js +3 -3
- package/dist/resources/WebsitePeople.js +3 -3
- package/dist/resources/WebsiteSettings.js +3 -3
- package/dist/resources/WebsiteVerify.js +3 -3
- package/dist/resources/WebsiteVisitors.js +3 -3
- package/dist/resources/index.js +3 -3
- package/dist/services/bucket.js +3 -3
- package/dist/services/media.js +3 -3
- package/dist/services/plugin.js +3 -3
- package/dist/services/website.js +3 -3
- package/lib/crisp.ts +18 -4
- package/lib/resources/BaseResource.ts +3 -3
- package/lib/resources/BucketURL.ts +3 -3
- package/lib/resources/MediaAnimation.ts +3 -3
- package/lib/resources/PluginConnect.ts +3 -3
- package/lib/resources/PluginSubscription.ts +14 -3
- package/lib/resources/WebsiteAnalytics.ts +3 -3
- package/lib/resources/WebsiteAvailability.ts +3 -3
- package/lib/resources/WebsiteBase.ts +3 -3
- package/lib/resources/WebsiteBatch.ts +3 -3
- package/lib/resources/WebsiteCampaign.ts +3 -3
- package/lib/resources/WebsiteConversation.ts +50 -5
- package/lib/resources/WebsiteHelpdesk.ts +3 -3
- package/lib/resources/WebsiteOperator.ts +3 -3
- package/lib/resources/WebsitePeople.ts +3 -3
- package/lib/resources/WebsiteSettings.ts +3 -3
- package/lib/resources/WebsiteVerify.ts +3 -3
- package/lib/resources/WebsiteVisitors.ts +3 -3
- package/lib/resources/index.ts +3 -3
- package/lib/services/bucket.ts +3 -3
- package/lib/services/media.ts +3 -3
- package/lib/services/plugin.ts +3 -3
- package/lib/services/website.ts +3 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## v10.2.0
|
|
5
|
+
|
|
6
|
+
### New Features
|
|
7
|
+
|
|
8
|
+
* Added the new `CrispClient.plugin.getPluginAttestProvenance` method.
|
|
9
|
+
|
|
10
|
+
## v10.1.0
|
|
11
|
+
|
|
12
|
+
### New Features
|
|
13
|
+
|
|
14
|
+
* Added `options` to `CrispClient.website.listConversations`.
|
|
15
|
+
|
|
4
16
|
## v10.0.18
|
|
5
17
|
|
|
18
|
+
### New Features
|
|
19
|
+
|
|
6
20
|
* Added the new `CrispClient.setCustomHeaders` method to set custom headers for all API requests.
|
|
7
21
|
|
|
8
22
|
## v10.0.17
|
|
9
23
|
|
|
24
|
+
### New Features
|
|
25
|
+
|
|
10
26
|
* Add `stamped` to `ConversationMessage`.
|
|
11
27
|
|
|
12
28
|
## v10.0.16
|
|
13
29
|
|
|
30
|
+
### Changes
|
|
31
|
+
|
|
14
32
|
* Harden types on `ConversationVerifyIdentityRequest` and `ConversationVerifyIdentityRedeem`.
|
|
15
33
|
|
|
16
34
|
## v10.0.15
|
package/EXAMPLES.md
CHANGED
|
@@ -2358,6 +2358,39 @@ CrispClient.plugin.updateSubscriptionSettings(websiteID, pluginID, settings);
|
|
|
2358
2358
|
|
|
2359
2359
|
=========================
|
|
2360
2360
|
|
|
2361
|
+
https://docs.crisp.chat/references/rest-api/v1/#get-plugin-usage-bills
|
|
2362
|
+
|
|
2363
|
+
var websiteID = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
|
|
2364
|
+
var pluginID = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";
|
|
2365
|
+
|
|
2366
|
+
CrispClient.plugin.getPluginUsageBills(websiteID, pluginID);
|
|
2367
|
+
|
|
2368
|
+
=========================
|
|
2369
|
+
|
|
2370
|
+
https://docs.crisp.chat/references/rest-api/v1/#report-plugin-usage-to-bill
|
|
2371
|
+
|
|
2372
|
+
var websiteID = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
|
|
2373
|
+
var pluginID = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";
|
|
2374
|
+
|
|
2375
|
+
var usage = {
|
|
2376
|
+
"name": "Paid messages sent",
|
|
2377
|
+
"units": 250,
|
|
2378
|
+
"price": 0.10
|
|
2379
|
+
};
|
|
2380
|
+
|
|
2381
|
+
CrispClient.plugin.reportPluginUsageToBill(websiteID, pluginID, usage);
|
|
2382
|
+
|
|
2383
|
+
=========================
|
|
2384
|
+
|
|
2385
|
+
https://docs.crisp.chat/references/rest-api/v1/#get-plugin-attest-provenance
|
|
2386
|
+
|
|
2387
|
+
var websiteID = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
|
|
2388
|
+
var pluginID = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";
|
|
2389
|
+
|
|
2390
|
+
CrispClient.plugin.getPluginAttestProvenance(websiteID, pluginID);
|
|
2391
|
+
|
|
2392
|
+
=========================
|
|
2393
|
+
|
|
2361
2394
|
https://docs.crisp.chat/references/rest-api/v1/#forward-plugin-payload-to-channel
|
|
2362
2395
|
|
|
2363
2396
|
var websiteID = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
|
package/README.md
CHANGED
|
@@ -168,7 +168,7 @@ All methods that you will most likely need when building a Crisp integration are
|
|
|
168
168
|
|
|
169
169
|
* #### **Website Conversations**
|
|
170
170
|
* **⭐ List Conversations** [`user`, `plugin`]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-conversations)
|
|
171
|
-
* `CrispClient.website.listConversations(websiteID, pageNumber)`
|
|
171
|
+
* `CrispClient.website.listConversations(websiteID, pageNumber, options)`
|
|
172
172
|
* <details>
|
|
173
173
|
<summary>See Example</summary>
|
|
174
174
|
|
|
@@ -176,7 +176,11 @@ All methods that you will most likely need when building a Crisp integration are
|
|
|
176
176
|
var websiteID = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
|
|
177
177
|
var pageNumber = 1;
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
var options = {
|
|
180
|
+
per_page: 50
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
CrispClient.website.listConversations(websiteID, pageNumber, options);
|
|
180
184
|
```
|
|
181
185
|
</details>
|
|
182
186
|
|
|
@@ -3400,6 +3404,19 @@ _👉 Notice: The `peopleID` argument can be an email or the `peopleID`._
|
|
|
3400
3404
|
```
|
|
3401
3405
|
</details>
|
|
3402
3406
|
|
|
3407
|
+
* **Get Plugin Attest Provenance** [`user`, `plugin`]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-plugin-attest-provenance)
|
|
3408
|
+
* `CrispClient.plugin.getPluginAttestProvenance(websiteID, pluginID)`
|
|
3409
|
+
* <details>
|
|
3410
|
+
<summary>See Example</summary>
|
|
3411
|
+
|
|
3412
|
+
```javascript
|
|
3413
|
+
var websiteID = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
|
|
3414
|
+
var pluginID = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";
|
|
3415
|
+
|
|
3416
|
+
CrispClient.plugin.getPluginAttestProvenance(websiteID, pluginID);
|
|
3417
|
+
```
|
|
3418
|
+
</details>
|
|
3419
|
+
|
|
3403
3420
|
* **Forward Plugin Payload To Channel** [`user`, `plugin`]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#forward-plugin-payload-to-channel)
|
|
3404
3421
|
* `CrispClient.plugin.forwardPluginPayloadToChannel(websiteID, pluginID, payload)`
|
|
3405
3422
|
* <details>
|
package/dist/crisp.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
9
|
if (k2 === undefined) k2 = k;
|
|
@@ -45,7 +45,7 @@ const AVAILABLE_RTM_MODES = [
|
|
|
45
45
|
"websockets",
|
|
46
46
|
"webhooks"
|
|
47
47
|
];
|
|
48
|
-
const VERSION = "10.0
|
|
48
|
+
const VERSION = "10.2.0";
|
|
49
49
|
// Base configuration
|
|
50
50
|
const DEFAULT_REQUEST_TIMEOUT = 10000;
|
|
51
51
|
const DEFAULT_SOCKET_TIMEOUT = 10000;
|
|
@@ -685,8 +685,20 @@ class Crisp {
|
|
|
685
685
|
}
|
|
686
686
|
// Add query?
|
|
687
687
|
if (query) {
|
|
688
|
+
const params = new URLSearchParams();
|
|
689
|
+
Object.entries(query).forEach(([key, value]) => {
|
|
690
|
+
if (value === null || value === undefined) {
|
|
691
|
+
return;
|
|
692
|
+
}
|
|
693
|
+
if (typeof value === "object") {
|
|
694
|
+
params.append(key, JSON.stringify(value));
|
|
695
|
+
}
|
|
696
|
+
else {
|
|
697
|
+
params.append(key, String(value));
|
|
698
|
+
}
|
|
699
|
+
});
|
|
688
700
|
// @ts-ignore
|
|
689
|
-
requestParameters.searchParams =
|
|
701
|
+
requestParameters.searchParams = params;
|
|
690
702
|
}
|
|
691
703
|
// Proceed request
|
|
692
704
|
got_1.default[method](resource, requestParameters)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
/**************************************************************************
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -97,6 +97,10 @@ declare class PluginSubscriptionService extends BaseResource {
|
|
|
97
97
|
* Report Plugin Usage To Bill
|
|
98
98
|
*/
|
|
99
99
|
reportPluginUsageToBill(websiteID: string, pluginID: string, usage: object): Promise<any>;
|
|
100
|
+
/**
|
|
101
|
+
* Get Plugin Attest Provenance
|
|
102
|
+
*/
|
|
103
|
+
getPluginAttestProvenance(websiteID: string, pluginID: string): Promise<any>;
|
|
100
104
|
/**
|
|
101
105
|
* Forward Plugin Payload To Channel
|
|
102
106
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -105,6 +105,15 @@ class PluginSubscriptionService extends BaseResource_1.default {
|
|
|
105
105
|
]), null, usage);
|
|
106
106
|
}
|
|
107
107
|
;
|
|
108
|
+
/**
|
|
109
|
+
* Get Plugin Attest Provenance
|
|
110
|
+
*/
|
|
111
|
+
getPluginAttestProvenance(websiteID, pluginID) {
|
|
112
|
+
return this.crisp.get(this.crisp.prepareRestUrl([
|
|
113
|
+
"plugins", "subscription", websiteID, pluginID, "attest", "provenance"
|
|
114
|
+
]));
|
|
115
|
+
}
|
|
116
|
+
;
|
|
108
117
|
/**
|
|
109
118
|
* Forward Plugin Payload To Channel
|
|
110
119
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -396,6 +396,39 @@ export interface ConversationBrowsing {
|
|
|
396
396
|
export interface ConversationCall {
|
|
397
397
|
call_id?: string;
|
|
398
398
|
}
|
|
399
|
+
export interface BaseConversationsListOptions {
|
|
400
|
+
per_page?: number;
|
|
401
|
+
include_empty?: 0 | 1;
|
|
402
|
+
filter_inbox_id?: string;
|
|
403
|
+
filter_unread?: 0 | 1;
|
|
404
|
+
filter_resolved?: 0 | 1;
|
|
405
|
+
filter_not_resolved?: 0 | 1;
|
|
406
|
+
filter_mention?: 0 | 1;
|
|
407
|
+
filter_assigned?: string;
|
|
408
|
+
filter_unassigned?: 0 | 1;
|
|
409
|
+
filter_date_start?: string;
|
|
410
|
+
filter_date_end?: string;
|
|
411
|
+
order_date_created?: 0 | 1;
|
|
412
|
+
order_date_updated?: 0 | 1;
|
|
413
|
+
order_date_waiting?: 0 | 1;
|
|
414
|
+
}
|
|
415
|
+
export interface StandardSearchOptions extends BaseConversationsListOptions {
|
|
416
|
+
search_type: "text" | "segment";
|
|
417
|
+
search_query: string;
|
|
418
|
+
search_operator?: never;
|
|
419
|
+
}
|
|
420
|
+
export interface FilterSearchOptions extends BaseConversationsListOptions {
|
|
421
|
+
search_type: "filter";
|
|
422
|
+
search_query: FilterSearchQuery[];
|
|
423
|
+
search_operator?: "and" | "or";
|
|
424
|
+
}
|
|
425
|
+
export interface FilterSearchQuery {
|
|
426
|
+
criterion: string;
|
|
427
|
+
query: string[];
|
|
428
|
+
model: string;
|
|
429
|
+
operator: string;
|
|
430
|
+
}
|
|
431
|
+
export type ConversationsListOptions = BaseConversationsListOptions | StandardSearchOptions | FilterSearchOptions;
|
|
399
432
|
/**************************************************************************
|
|
400
433
|
* CLASSES
|
|
401
434
|
***************************************************************************/
|
|
@@ -407,7 +440,7 @@ declare class WebsiteConversation extends BaseResource {
|
|
|
407
440
|
/**
|
|
408
441
|
* List Conversations
|
|
409
442
|
*/
|
|
410
|
-
listConversations(websiteID: string, pageNumber?: number): Promise<Conversation[]>;
|
|
443
|
+
listConversations(websiteID: string, pageNumber?: number, options?: ConversationsListOptions): Promise<Conversation[]>;
|
|
411
444
|
/**
|
|
412
445
|
* List Suggested Conversation Segments
|
|
413
446
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -25,8 +25,10 @@ class WebsiteConversation extends BaseResource_1.default {
|
|
|
25
25
|
/**
|
|
26
26
|
* List Conversations
|
|
27
27
|
*/
|
|
28
|
-
listConversations(websiteID, pageNumber = 1) {
|
|
29
|
-
return this.crisp.get(this.crisp.prepareRestUrl([
|
|
28
|
+
listConversations(websiteID, pageNumber = 1, options) {
|
|
29
|
+
return this.crisp.get(this.crisp.prepareRestUrl([
|
|
30
|
+
"website", websiteID, "conversations", String(pageNumber)
|
|
31
|
+
]), options);
|
|
30
32
|
}
|
|
31
33
|
;
|
|
32
34
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
package/dist/resources/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
9
|
if (k2 === undefined) k2 = k;
|
package/dist/services/bucket.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
package/dist/services/media.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
package/dist/services/plugin.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
package/dist/services/website.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* node-crisp-api
|
|
3
|
+
* This file is part of node-crisp-api
|
|
4
4
|
*
|
|
5
|
-
* Copyright
|
|
6
|
-
*
|
|
5
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
6
|
+
* All rights belong to Crisp IM SAS
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
package/lib/crisp.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -900,8 +900,22 @@ class Crisp {
|
|
|
900
900
|
|
|
901
901
|
// Add query?
|
|
902
902
|
if (query) {
|
|
903
|
+
const params = new URLSearchParams();
|
|
904
|
+
|
|
905
|
+
Object.entries(query).forEach(([ key, value ]) => {
|
|
906
|
+
if (value === null || value === undefined) {
|
|
907
|
+
return;
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
if (typeof value === "object") {
|
|
911
|
+
params.append(key, JSON.stringify(value));
|
|
912
|
+
} else {
|
|
913
|
+
params.append(key, String(value));
|
|
914
|
+
}
|
|
915
|
+
});
|
|
916
|
+
|
|
903
917
|
// @ts-ignore
|
|
904
|
-
requestParameters.searchParams =
|
|
918
|
+
requestParameters.searchParams = params;
|
|
905
919
|
}
|
|
906
920
|
|
|
907
921
|
// Proceed request
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -198,6 +198,17 @@ class PluginSubscriptionService extends BaseResource {
|
|
|
198
198
|
);
|
|
199
199
|
};
|
|
200
200
|
|
|
201
|
+
/**
|
|
202
|
+
* Get Plugin Attest Provenance
|
|
203
|
+
*/
|
|
204
|
+
getPluginAttestProvenance(websiteID: string, pluginID: string) {
|
|
205
|
+
return this.crisp.get(
|
|
206
|
+
this.crisp.prepareRestUrl([
|
|
207
|
+
"plugins", "subscription", websiteID, pluginID, "attest", "provenance"
|
|
208
|
+
])
|
|
209
|
+
);
|
|
210
|
+
};
|
|
211
|
+
|
|
201
212
|
/**
|
|
202
213
|
* Forward Plugin Payload To Channel
|
|
203
214
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -511,6 +511,47 @@ export interface ConversationCall {
|
|
|
511
511
|
call_id?: string;
|
|
512
512
|
}
|
|
513
513
|
|
|
514
|
+
export interface BaseConversationsListOptions {
|
|
515
|
+
per_page?: number;
|
|
516
|
+
include_empty?: 0 | 1;
|
|
517
|
+
filter_inbox_id?: string;
|
|
518
|
+
filter_unread?: 0 | 1;
|
|
519
|
+
filter_resolved?: 0 | 1;
|
|
520
|
+
filter_not_resolved?: 0 | 1;
|
|
521
|
+
filter_mention?: 0 | 1;
|
|
522
|
+
filter_assigned?: string;
|
|
523
|
+
filter_unassigned?: 0 | 1;
|
|
524
|
+
filter_date_start?: string;
|
|
525
|
+
filter_date_end?: string;
|
|
526
|
+
order_date_created?: 0 | 1;
|
|
527
|
+
order_date_updated?: 0 | 1;
|
|
528
|
+
order_date_waiting?: 0 | 1;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
export interface StandardSearchOptions extends BaseConversationsListOptions {
|
|
532
|
+
search_type: "text" | "segment";
|
|
533
|
+
search_query: string;
|
|
534
|
+
search_operator?: never;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
export interface FilterSearchOptions extends BaseConversationsListOptions {
|
|
538
|
+
search_type: "filter";
|
|
539
|
+
search_query: FilterSearchQuery[];
|
|
540
|
+
search_operator?: "and" | "or";
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
export interface FilterSearchQuery {
|
|
544
|
+
criterion: string;
|
|
545
|
+
query: string[];
|
|
546
|
+
model: string;
|
|
547
|
+
operator: string;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
export type ConversationsListOptions =
|
|
551
|
+
| BaseConversationsListOptions
|
|
552
|
+
| StandardSearchOptions
|
|
553
|
+
| FilterSearchOptions;
|
|
554
|
+
|
|
514
555
|
/**************************************************************************
|
|
515
556
|
* CLASSES
|
|
516
557
|
***************************************************************************/
|
|
@@ -524,10 +565,14 @@ class WebsiteConversation extends BaseResource {
|
|
|
524
565
|
* List Conversations
|
|
525
566
|
*/
|
|
526
567
|
listConversations(
|
|
527
|
-
websiteID: string, pageNumber: number = 1
|
|
568
|
+
websiteID: string, pageNumber: number = 1, options?: ConversationsListOptions
|
|
528
569
|
): Promise<Conversation[]> {
|
|
529
570
|
return this.crisp.get(
|
|
530
|
-
this.crisp.prepareRestUrl([
|
|
571
|
+
this.crisp.prepareRestUrl([
|
|
572
|
+
"website", websiteID, "conversations", String(pageNumber)
|
|
573
|
+
]),
|
|
574
|
+
|
|
575
|
+
options
|
|
531
576
|
);
|
|
532
577
|
};
|
|
533
578
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
package/lib/resources/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
package/lib/services/bucket.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
package/lib/services/media.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
package/lib/services/plugin.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
package/lib/services/website.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* node-crisp-api
|
|
2
|
+
* This file is part of node-crisp-api
|
|
3
3
|
*
|
|
4
|
-
* Copyright
|
|
5
|
-
*
|
|
4
|
+
* Copyright (c) 2025 Crisp IM SAS
|
|
5
|
+
* All rights belong to Crisp IM SAS
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/**************************************************************************
|
package/package.json
CHANGED